/* */ #ifndef D_BYTE_ARRAY_DISK_WRITER_H #define D_BYTE_ARRAY_DISK_WRITER_H #include "DiskWriter.h" #include namespace aria2 { class ByteArrayDiskWriter : public DiskWriter { private: std::stringstream buf_; void clear(); public: ByteArrayDiskWriter(); virtual ~ByteArrayDiskWriter(); virtual void initAndOpenFile(uint64_t totalLength = 0); virtual void openFile(uint64_t totalLength = 0); virtual void closeFile(); virtual void openExistingFile(uint64_t totalLength = 0); virtual void writeData(const unsigned char* data, size_t len, off_t position); virtual ssize_t readData(unsigned char* data, size_t len, off_t position); virtual uint64_t size(); void setString(const std::string& s); std::string getString() const; }; typedef SharedHandle ByteArrayDiskWriterHandle; } // namespace aria2 #endif // D_BYTE_ARRAY_DISK_WRITER_H