MockBtContext.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #ifndef _D_MOCK_BT_CONTEXT_H_
  2. #define _D_MOCK_BT_CONTEXT_H_
  3. #include "BtContext.h"
  4. #include "Util.h"
  5. class MockBtContext : public BtContext {
  6. private:
  7. unsigned char infoHash[20];
  8. Strings pieceHashes;
  9. long long int totalLength;
  10. FILE_MODE fileMode;
  11. string name;
  12. int pieceLength;
  13. int numPieces;
  14. FileEntries fileEntries;
  15. AnnounceTiers announceTiers;
  16. public:
  17. MockBtContext() {}
  18. virtual ~MockBtContext() {}
  19. virtual const unsigned char* getInfoHash() const {
  20. return infoHash;
  21. }
  22. void setInfoHash(const unsigned char* infoHash) {
  23. memcpy(this->infoHash, infoHash, sizeof(this->infoHash));
  24. }
  25. virtual int getInfoHashLength() const {
  26. return sizeof(infoHash);
  27. }
  28. virtual string getInfoHashAsString() const {
  29. return Util::toHex(infoHash, sizeof(infoHash));
  30. }
  31. virtual string getPieceHash(int index) const {
  32. return pieceHashes.at(index);
  33. }
  34. void addPieceHash(const string pieceHash) {
  35. pieceHashes.push_back(pieceHash);
  36. }
  37. virtual long long int getTotalLength() const {
  38. return totalLength;
  39. }
  40. void setTotalLength(long long int length) {
  41. this->totalLength = length;
  42. }
  43. virtual FILE_MODE getFileMode() const {
  44. return fileMode;
  45. }
  46. void setFileMode(FILE_MODE fileMode) {
  47. this->fileMode = fileMode;
  48. }
  49. virtual FileEntries getFileEntries() const {
  50. return fileEntries;
  51. }
  52. void addFileEntry(const FileEntryHandle& fileEntry) {
  53. fileEntries.push_back(fileEntry);
  54. }
  55. virtual AnnounceTiers getAnnounceTiers() const {
  56. return announceTiers;
  57. }
  58. void addAnnounceTier(const AnnounceTierHandle& announceTier) {
  59. announceTiers.push_back(announceTier);
  60. }
  61. virtual void load(const string& torrentFile) {}
  62. virtual string getName() const {
  63. return name;
  64. }
  65. void setName(const string& name) {
  66. this->name = name;
  67. }
  68. virtual int getPieceLength() const {
  69. return pieceLength;
  70. }
  71. void setPieceLength(int pieceLength) {
  72. this->pieceLength = pieceLength;
  73. }
  74. virtual int getNumPieces() const {
  75. return numPieces;
  76. }
  77. void setNumPieces(int numPieces) {
  78. this->numPieces = numPieces;
  79. }
  80. };
  81. #endif // _D_MOCK_BT_CONTEXT_H_