| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 | #ifndef _D_MOCK_PIECE_STORAGE_H_#define _D_MOCK_PIECE_STORAGE_H_#include "PieceStorage.h"#include "BitfieldMan.h"#include "Piece.h"#include "DiskAdaptor.h"#include <algorithm>namespace aria2 {class MockPieceStorage : public PieceStorage {private:  uint64_t totalLength;  uint64_t filteredTotalLength;  uint64_t completedLength;  uint64_t filteredCompletedLength;  BitfieldMan* bitfieldMan;  bool selectiveDownloadingMode;  bool endGame;  SharedHandle<DiskAdaptor> diskAdaptor;  std::deque<size_t> pieceLengthList;  std::deque<SharedHandle<Piece> > inFlightPieces;  bool _allDownloadFinished;public:  MockPieceStorage():totalLength(0),		     filteredTotalLength(0),		     completedLength(0),		     filteredCompletedLength(0),		     bitfieldMan(0),		     selectiveDownloadingMode(false),		     endGame(false),		     _allDownloadFinished(false) {}  virtual ~MockPieceStorage() {}  virtual bool hasMissingPiece(const SharedHandle<Peer>& peer) {    return false;  }  virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer) {    return SharedHandle<Piece>(new Piece());  }  virtual SharedHandle<Piece> getMissingFastPiece(const SharedHandle<Peer>& peer) {    return SharedHandle<Piece>(new Piece());  }  virtual SharedHandle<Piece> getMissingPiece()  {    return SharedHandle<Piece>(new Piece());  }  virtual SharedHandle<Piece> getMissingPiece(size_t index)  {    return SharedHandle<Piece>(new Piece());  }  virtual bool isPieceUsed(size_t index)  {    return false;  }  virtual void markPieceMissing(size_t index) {}  virtual void markPiecesDone(uint64_t) {}  virtual SharedHandle<Piece> getPiece(size_t index) {    return SharedHandle<Piece>(new Piece());  }  virtual void completePiece(const SharedHandle<Piece>& piece) {}  virtual void cancelPiece(const SharedHandle<Piece>& piece) {}  virtual bool hasPiece(size_t index) {    return false;  }  virtual uint64_t getTotalLength() {    return totalLength;  }  void setTotalLength(uint64_t totalLength) {    this->totalLength = totalLength;  }  virtual uint64_t getFilteredTotalLength() {    return filteredTotalLength;  }  void setFilteredTotalLength(uint64_t totalLength) {    this->filteredTotalLength = totalLength;  }  virtual uint64_t getCompletedLength() {    return completedLength;  }  void setCompletedLength(uint64_t completedLength) {    this->completedLength = completedLength;  }  virtual uint64_t getFilteredCompletedLength() {    return filteredCompletedLength;  }  void setFilteredCompletedLength(uint64_t completedLength) {    this->filteredCompletedLength = completedLength;  }    virtual void setFileFilter(const std::deque<std::string>& filePaths) {}  virtual void setFileFilter(IntSequence seq) {}  virtual void clearFileFilter() {}  virtual bool downloadFinished() {    return false;  }  virtual bool allDownloadFinished() {    return _allDownloadFinished;  }  void setAllDownloadFinished(bool f)  {    _allDownloadFinished = f;  }  virtual void initStorage() {}  virtual const unsigned char* getBitfield() {    return bitfieldMan->getBitfield();  }  virtual void setBitfield(const unsigned char* bitfield,			   size_t bitfieldLength) {    bitfieldMan->setBitfield(bitfield, bitfieldLength);  }    virtual size_t getBitfieldLength() {    return bitfieldMan->getBitfieldLength();  }  void setBitfield(BitfieldMan* bitfieldMan) {    this->bitfieldMan = bitfieldMan;  }  virtual bool isSelectiveDownloadingMode() {    return selectiveDownloadingMode;  }  void setSelectiveDownloadingMode(bool flag) {    this->selectiveDownloadingMode = flag;  }  virtual void finishSelectiveDownloadingMode() {}  virtual bool isEndGame() {    return endGame;  }  void setEndGame(bool flag) {    this->endGame = flag;  }  virtual SharedHandle<DiskAdaptor> getDiskAdaptor() {    return diskAdaptor;  }  void setDiskAdaptor(const SharedHandle<DiskAdaptor> adaptor) {    this->diskAdaptor = adaptor;  }    virtual size_t getPieceLength(size_t index) {    return pieceLengthList.at(index);  }  void addPieceLengthList(size_t length) {    pieceLengthList.push_back(length);  }  virtual void advertisePiece(int32_t cuid, size_t index) {}  virtual std::deque<size_t> getAdvertisedPieceIndexes(int32_t myCuid,						       const Time& lastCheckTime) {    return std::deque<size_t>();  }  virtual void removeAdvertisedPiece(time_t elapsed) {}  virtual void markAllPiecesDone() {}  virtual void addInFlightPiece(const std::deque<SharedHandle<Piece> >& pieces)  {    std::copy(pieces.begin(), pieces.end(), back_inserter(inFlightPieces));  }  virtual size_t countInFlightPiece()  {    return inFlightPieces.size();  }  virtual std::deque<SharedHandle<Piece> > getInFlightPieces()  {    return inFlightPieces;  }};} // namespace aria2#endif // _D_MOCK_PIECE_STORAGE_H_
 |