/* */ #ifndef _D_BINARY_STREAM_H_ #define _D_BINARY_STREAM_H_ #include "common.h" #include "SharedHandle.h" #include namespace aria2 { class BinaryStream { public: virtual ~BinaryStream() {} virtual void writeData(const unsigned char* data, size_t len, off_t offset) = 0; virtual ssize_t readData(unsigned char* data, size_t len, off_t offset) = 0; virtual void truncate(uint64_t length) = 0; virtual void enableDirectIO() = 0; virtual void disableDirectIO() = 0; virtual bool directIOAllowed() const = 0; }; typedef SharedHandle BinaryStreamHandle; } // namespace aria2 #endif // _D_BINARY_STREAM_H_