/* */ #ifndef _D_DISK_ADAPTOR_WRITER_H_ #define _D_DISK_ADAPTOR_WRITER_H_ #include "DiskWriter.h" #include "DiskAdaptor.h" #include "FatalException.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, int64_t totalLength = 0) { 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 void truncate(int64_t length) { throw new FatalException("DiskAdaptorWriter::truncate() is not implemented yet."); } virtual int64_t size() const { return diskAdaptor->size(); } }; #endif // _D_DISK_ADAPTOR_WRITER_H_