urbackup_backend/fsimageplugin/FSImageFactory.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

30 lines
1.1 KiB
C++

#pragma once
#include "IFSImageFactory.h"
class FSImageFactory : public IFSImageFactory
{
public:
virtual IFilesystem *createFilesystem(const std::string &pDev, EReadaheadMode read_ahead,
bool background_priority, std::string orig_letter, IFsNextBlockCallback* next_block_callback);
virtual IVHDFile *createVHDFile(const std::string &fn, bool pRead_only, uint64 pDstsize,
unsigned int pBlocksize=2*1024*1024, bool fast_mode=false, IFSImageFactory::ImageFormat format=IFSImageFactory::ImageFormat_VHD);
virtual IVHDFile *createVHDFile(const std::string &fn, const std::string &parent_fn,
bool pRead_only, bool fast_mode=false, IFSImageFactory::ImageFormat format=IFSImageFactory::ImageFormat_VHD, uint64 pDstsize=0);
virtual void destroyVHDFile(IVHDFile *vhd);
virtual IReadOnlyBitmap* createClientBitmap(const std::string& fn);
virtual IReadOnlyBitmap* createClientBitmap(IFile* bitmap_file);
virtual bool initializeImageMounting();
virtual std::vector<SPartition> readPartitions(IVHDFile *vhd, int64 offset, bool& gpt_style);
private:
bool isNTFS(char *buffer);
};