/* */ #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; off_t _offset; public: MultiFileAllocationIterator(MultiDiskAdaptor* diskAdaptor); virtual ~MultiFileAllocationIterator(); virtual void allocateChunk(); virtual bool finished(); virtual off_t getCurrentLength(); virtual uint64_t getTotalLength(); const std::deque >& getDiskWriterEntries() const; }; typedef SharedHandle MultiFileAllocationIteratorHandle; } // namespace aria2 #endif // _D_MULTI_FILE_ALLOCATION_ITERATOR_H_