/* */ #ifndef _D_DISK_ADAPTOR_WRITER_H_ #define _D_DISK_ADAPTOR_WRITER_H_ #include "DiskWriter.h" #include "DiskAdaptor.h" class DiskAdaptorWriter : public DiskWriter { private: DiskAdaptorHandle diskAdaptor; public: DiskAdaptorWriter(const DiskAdaptorHandle& diskAdaptor): diskAdaptor(diskAdaptor) {} virtual ~DiskAdaptorWriter() {} virtual void initAndOpenFile(const string& filename, int64_t totalLength = 0) { diskAdaptor->initAndOpenFile(); } virtual void openFile(const string& filename, int64_t totalLength = 0) { diskAdaptor->openFile(); } virtual void closeFile() { diskAdaptor->closeFile(); } virtual void openExistingFile(const string& filename) { diskAdaptor->openExistingFile(); } virtual void writeData(const char* data, int32_t len, int64_t position = 0) { diskAdaptor->writeData((const unsigned char*)data, len, position); } virtual int32_t readData(char* data, int32_t len, int64_t position) { return diskAdaptor->readData((unsigned char*)data, len, position); } virtual string messageDigest(int64_t offset, int64_t length, const MessageDigestContext::DigestAlgo& algo) { return diskAdaptor->messageDigest(offset, length, algo); } }; #endif // _D_DISK_ADAPTOR_WRITER_H_