/* */ #ifndef _D_CHECK_INTEGRITY_ENTRY_H_ #define _D_CHECK_INTEGRITY_ENTRY_H_ #include "RequestGroupEntry.h" class IteratableValidator; typedef SharedHandle IteratableValidatorHandle; class Command; typedef deque Commands; class DownloadEngine; class CheckIntegrityEntry : public RequestGroupEntry, public ProgressAwareEntry { protected: IteratableValidatorHandle _validator; public: CheckIntegrityEntry(RequestGroup* requestGroup, Command* nextCommand = 0); virtual ~CheckIntegrityEntry(); virtual int64_t getTotalLength(); virtual int64_t getCurrentLength(); virtual void validateChunk(); virtual bool finished(); virtual bool isValidationReady() = 0; virtual void initValidator() = 0; virtual Commands onDownloadFinished(DownloadEngine* e) = 0; virtual Commands onDownloadIncomplete(DownloadEngine* e) = 0; }; typedef SharedHandle CheckIntegrityEntryHandle; typedef deque CheckIntegrityEntries; #endif // _D_CHECK_INTEGRITY_ENTRY_H_