/* */ #ifndef D_FILE_ALLOCATION_ENTRY_H #define D_FILE_ALLOCATION_ENTRY_H #include "RequestGroupEntry.h" #include "ProgressAwareEntry.h" #include namespace aria2 { class FileAllocationIterator; class Command; class DownloadEngine; class FileAllocationEntry : public RequestGroupEntry, public ProgressAwareEntry { private: SharedHandle fileAllocationIterator_; public: FileAllocationEntry(RequestGroup* requestGroup, Command* nextCommand = 0); ~FileAllocationEntry(); virtual off_t getCurrentLength(); virtual uint64_t getTotalLength(); virtual bool finished(); void allocateChunk(); virtual void prepareForNextAction(std::vector& commands, DownloadEngine* e) = 0; void disableDirectIO(); }; } // namespace aria2 #endif // D_FILE_ALLOCATION_ENTRY_H