/* */ #ifndef _D_ITERATABLE_CHUNK_CHECKSUM_VALIDATOR_H_ #define _D_ITERATABLE_CHUNK_CHECKSUM_VALIDATOR_H_ #include "IteratableValidator.h" class DownloadContext; typedef SharedHandle DownloadContextHandle; class PieceStorage; typedef SharedHandle PieceStorageHandle; class BitfieldMan; class Logger; class IteratableChunkChecksumValidator:public IteratableValidator { private: DownloadContextHandle _dctx; PieceStorageHandle _pieceStorage; BitfieldMan* _bitfield; uint32_t _currentIndex; const Logger* _logger; string calculateActualChecksum(); public: IteratableChunkChecksumValidator(const DownloadContextHandle& dctx, const PieceStorageHandle& pieceStorage); virtual ~IteratableChunkChecksumValidator(); virtual void init(); virtual void validateChunk(); virtual bool finished() const; virtual int64_t getCurrentOffset() const; virtual int64_t getTotalLength() const; }; typedef SharedHandle IteratableChunkChecksumValidatorHandle; #endif // _D_ITERATABLE_CHUNK_CHECKSUM_VALIDATOR_H_