/* */ #ifndef _D_ABSTRACT_SINGLE_DISK_ADAPTOR_H_ #define _D_ABSTRACT_SINGLE_DISK_ADAPTOR_H_ #include "DiskAdaptor.h" #include "DiskWriter.h" class AbstractSingleDiskAdaptor : public DiskAdaptor { protected: DiskWriterHandle diskWriter; uint64_t totalLength; public: AbstractSingleDiskAdaptor():diskWriter(0), totalLength(0) {} virtual ~AbstractSingleDiskAdaptor() {} virtual void initAndOpenFile(); virtual void openFile(); virtual void closeFile(); virtual void openExistingFile(); virtual void writeData(const unsigned char* data, uint32_t len, int64_t offset); virtual int readData(unsigned char* data, uint32_t len, int64_t offset); virtual string sha1Sum(int64_t offset, uint64_t length); virtual bool fileExists(); void setDiskWriter(const DiskWriterHandle diskWriter) { this->diskWriter = diskWriter; } DiskWriterHandle getDiskWriter() const { return diskWriter; } void setTotalLength(const uint64_t& totalLength) { this->totalLength = totalLength; } uint64_t getTotalLength() const { return totalLength; } }; #endif // _D_ABSTRACT_SINGLE_DISK_ADAPTOR_H_