MockDHTMessageFactory.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #ifndef _D_MOCK_DHT_MESSAGE_FACTORY_H_
  2. #define _D_MOCK_DHT_MESSAGE_FACTORY_H_
  3. #include "DHTMessageFactory.h"
  4. #include "DHTNode.h"
  5. #include "MockDHTMessage.h"
  6. #include "Dictionary.h"
  7. #include "Data.h"
  8. class MockDHTMessageFactory:public DHTMessageFactory {
  9. private:
  10. DHTNodeHandle _localNode;
  11. public:
  12. MockDHTMessageFactory() {}
  13. virtual ~MockDHTMessageFactory() {}
  14. virtual DHTMessageHandle
  15. createQueryMessage(const Dictionary* d,
  16. const string& ipaddr, uint16_t port)
  17. {
  18. return 0;
  19. }
  20. virtual DHTMessageHandle
  21. createResponseMessage(const string& messageType,
  22. const Dictionary* d,
  23. const DHTNodeHandle& remoteNode)
  24. {
  25. MockDHTMessageHandle m = new MockDHTMessage(_localNode, remoteNode,
  26. reinterpret_cast<const Data*>(d->get("t"))->toString());
  27. m->setReply(true);
  28. return m;
  29. }
  30. virtual DHTMessageHandle
  31. createPingMessage(const DHTNodeHandle& remoteNode,
  32. const string& transactionID = "")
  33. {
  34. return 0;
  35. }
  36. virtual DHTMessageHandle
  37. createPingReplyMessage(const DHTNodeHandle& remoteNode,
  38. const unsigned char* remoteNodeID,
  39. const string& transactionID)
  40. {
  41. return 0;
  42. }
  43. virtual DHTMessageHandle
  44. createFindNodeMessage(const DHTNodeHandle& remoteNode,
  45. const unsigned char* targetNodeID,
  46. const string& transactionID = "")
  47. {
  48. return 0;
  49. }
  50. virtual DHTMessageHandle
  51. createFindNodeReplyMessage(const DHTNodeHandle& remoteNode,
  52. const DHTNodes& closestKNodes,
  53. const string& transactionID)
  54. {
  55. return 0;
  56. }
  57. virtual DHTMessageHandle
  58. createGetPeersMessage(const DHTNodeHandle& remoteNode,
  59. const unsigned char* infoHash,
  60. const string& transactionID)
  61. {
  62. return 0;
  63. }
  64. virtual DHTMessageHandle
  65. createGetPeersReplyMessage(const DHTNodeHandle& remoteNode,
  66. const DHTNodes& closestKNodes,
  67. const string& transactionID,
  68. const string& token = "")
  69. {
  70. return 0;
  71. }
  72. virtual DHTMessageHandle
  73. createGetPeersReplyMessage(const DHTNodeHandle& remoteNode,
  74. const Peers& peers,
  75. const string& transactionID,
  76. const string& token = "")
  77. {
  78. return 0;
  79. }
  80. virtual DHTMessageHandle
  81. createAnnouncePeerMessage(const DHTNodeHandle& remoteNode,
  82. const unsigned char* infoHash,
  83. uint16_t tcpPort,
  84. const string& token,
  85. const string& transactionID = "")
  86. {
  87. return 0;
  88. }
  89. virtual DHTMessageHandle
  90. createAnnouncePeerReplyMessage(const DHTNodeHandle& remoteNode,
  91. const string& transactionID)
  92. {
  93. return 0;
  94. }
  95. virtual DHTMessageHandle
  96. createUnknownMessage(const char* data, size_t length, const string& ipaddr,
  97. uint16_t port)
  98. {
  99. return 0;
  100. }
  101. void setLocalNode(const DHTNodeHandle& node)
  102. {
  103. _localNode = node;
  104. }
  105. };
  106. typedef SharedHandle<MockDHTMessageFactory> MockDHTMessageFactoryHandle;
  107. #endif // _D_MOCK_DHT_MESSAGE_FACTORY_H_