/* */ #ifndef D_MULTI_FILE_ALLOCATION_ITERATOR_H #define D_MULTI_FILE_ALLOCATION_ITERATOR_H #include "FileAllocationIterator.h" #include namespace aria2 { class MultiDiskAdaptor; class DiskWriterEntry; class MultiFileAllocationIterator:public FileAllocationIterator { private: MultiDiskAdaptor* diskAdaptor_; std::deque > entries_; SharedHandle fileAllocationIterator_; public: MultiFileAllocationIterator(MultiDiskAdaptor* diskAdaptor); virtual ~MultiFileAllocationIterator(); virtual void allocateChunk(); virtual bool finished(); virtual int64_t getCurrentLength(); virtual int64_t getTotalLength(); const std::deque >& getDiskWriterEntries() const; }; } // namespace aria2 #endif // D_MULTI_FILE_ALLOCATION_ITERATOR_H