/* */ #ifndef _D_BYTE_ARRAY_DISK_WRITER_H_ #define _D_BYTE_ARRAY_DISK_WRITER_H_ #include "DiskWriter.h" #include class ByteArrayDiskWriter : public DiskWriter { private: stringstream buf; void clear(); public: ByteArrayDiskWriter(); virtual ~ByteArrayDiskWriter(); virtual void initAndOpenFile(const string& filename, int64_t totalLength = 0); virtual void openFile(const string& filename, int64_t totalLength = 0); virtual void closeFile(); virtual void openExistingFile(const string& filename, int64_t totalLength = 0); virtual void writeData(const unsigned char* data, int32_t len, int64_t position); virtual int32_t readData(unsigned char* data, int32_t len, int64_t position); // Not implemented yet virtual void truncate(int64_t length) {} virtual int64_t size() const { return buf.str().size(); } }; #endif // _D_BYTE_ARRAY_DISK_WRITER_H_