urbackup_backend/fsimageplugin/FileWrapper.h
Martin feeaf2943d Whole disk image mounting
(cherry picked from commit 95b74412c3ff4abcfc3948ad1461841c1a81f30b)

# Conflicts:
#	urbackupserver/ImageMount.cpp
#	urbackupserver/ImageMount.h
#	urbackupserver/dllmain.cpp
#	urbackupserver/serverinterface/backups.cpp
#	urbackupserver/www/js/urbackup.js
2018-06-01 11:33:22 +02:00

44 lines
1.0 KiB
C++

#pragma once
#include "../Interface/File.h"
#include "../Interface/Types.h"
#include <string>
#include "IVHDFile.h"
class FileWrapper : public IFile
{
public:
FileWrapper(IVHDFile* wfile, int64 offset);
virtual std::string Read(_u32 tr, bool *has_error=NULL);
virtual std::string Read(int64 spos, _u32 tr, bool *has_error = NULL);
virtual _u32 Read(char* buffer, _u32 bsize, bool *has_error = NULL);
virtual _u32 Read(int64 spos, char* buffer, _u32 bsize, bool *has_error = NULL);
virtual _u32 Write(const std::string &tw, bool *has_error);
virtual _u32 Write(int64 spos, const std::string &tw, bool *has_error = NULL);
virtual _u32 Write(const char* buffer, _u32 bsize, bool *has_error = NULL);
virtual _u32 Write(int64 spos, const char* buffer, _u32 bsize, bool *has_error = NULL);
virtual bool Seek(_i64 spos);
virtual _i64 Size(void);
virtual _i64 RealSize();
virtual std::string getFilename(void);
virtual bool PunchHole( _i64 spos, _i64 size );
virtual bool Sync();
private:
int64 offset;
IVHDFile* wfile;
};