/* */ #ifndef _D_BYTE_ARRAY_DISK_WRITER_H_ #define _D_BYTE_ARRAY_DISK_WRITER_H_ #include "DiskWriter.h" class ByteArrayDiskWriter : public DiskWriter { private: char* buf; int32_t maxBufLength; int32_t bufLength; void init(); 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); // position is ignored virtual void writeData(const char* data, int32_t len, int64_t position = 0); virtual int readData(char* data, int32_t len, int64_t position); // not implemented yet virtual string messageDigest(int64_t offset, int64_t length, const MessageDigestContext::DigestAlgo& algo) { return ""; } const char* getByteArray() const { return buf; } int getByteArrayLength() const { return bufLength; } }; #endif // _D_BYTE_ARRAY_DISK_WRITER_H_