/* */ #ifndef _D_FILE_ALLOCATION_ENTRY_H_ #define _D_FILE_ALLOCATION_ENTRY_H_ #include "RequestGroupEntry.h" class FileAllocationIterator; extern typedef SharedHandle FileAllocationIteratorHandle; class Command; extern typedef deque Commands; class DownloadEngine; class FileAllocationEntry : public RequestGroupEntry, public ProgressAwareEntry { private: FileAllocationIteratorHandle _fileAllocationIterator; public: FileAllocationEntry(RequestGroup* requestGroup, Command* nextCommand = 0); ~FileAllocationEntry(); virtual int64_t getCurrentLength(); virtual int64_t getTotalLength(); virtual bool finished(); void allocateChunk(); virtual Commands prepareForNextAction(DownloadEngine* e) = 0; }; typedef SharedHandle FileAllocationEntryHandle; typedef deque FileAllocationEntries; #endif // _D_FILE_ALLOCATION_ENTRY_H_