/* */ #ifndef D_ITERATABLE_CHECKSUM_VALIDATOR_H #define D_ITERATABLE_CHECKSUM_VALIDATOR_H #include "IteratableValidator.h" namespace aria2 { class DownloadContext; class PieceStorage; class Logger; class MessageDigestContext; class IteratableChecksumValidator:public IteratableValidator { private: SharedHandle dctx_; SharedHandle pieceStorage_; off_t currentOffset_; SharedHandle ctx_; Logger* logger_; unsigned char* buffer_; public: IteratableChecksumValidator(const SharedHandle& dctx, const SharedHandle& pieceStorage); virtual ~IteratableChecksumValidator(); virtual void init(); virtual void validateChunk(); virtual bool finished() const; virtual off_t getCurrentOffset() const { return currentOffset_; } virtual uint64_t getTotalLength() const; }; typedef SharedHandle IteratableChecksumValidatorHandle; } // namespace aria2 #endif // D_ITERATABLE_CHECKSUM_VALIDATOR_H