mirror of
https://github.com/uroni/urbackup_backend.git
synced 2025-10-26 11:36:50 +00:00
42 lines
1.5 KiB
C++
42 lines
1.5 KiB
C++
#pragma once
|
|
#include "../Interface/File.h"
|
|
#include "LocalBackup.h"
|
|
#include "../fileservplugin/IFileMetadataPipe.h"
|
|
#include "../urbackupcommon/file_metadata.h"
|
|
#include <vector>
|
|
|
|
class LocalFileBackup : public LocalBackup
|
|
{
|
|
public:
|
|
LocalFileBackup(int64 local_process_id, int64 server_log_id,
|
|
int64 server_status_id, int64 backupid, std::string server_token, std::string server_identity,
|
|
int facet_id, size_t max_backups, const std::string& dest_url, const std::string& dest_url_params,
|
|
const str_map& dest_secret_params);
|
|
|
|
protected:
|
|
_i64 getIncrementalSize(IFile* f, const std::vector<size_t>& diffs, bool& backup_with_components, bool all);
|
|
|
|
bool hasChange(size_t line, const std::vector<size_t>& diffs);
|
|
|
|
bool readFileOsMetadata(char* buf, size_t buf_avail, size_t& read_bytes);
|
|
|
|
bool openFileHandle(const std::string& fn);
|
|
|
|
void referenceShadowcopy(const std::string& name, const std::string& server_token, const std::string& clientsubname);
|
|
|
|
void unreferenceShadowcopy(const std::string& name, const std::string& server_token, const std::string& clientsubname, int issues);
|
|
|
|
std::string getBackupInternalDataDir() {
|
|
return ".hashes\\d42992c8-f07f-46e0-bba3-2c44913f91aa";
|
|
}
|
|
|
|
std::string permissionsAllowAll();
|
|
|
|
bool backupMetadata(IFsFile* metadataf, const std::string& sourcepath, FileMetadata* metadata);
|
|
|
|
bool writeOsMetadata(const std::string& sourcefn, int64 dest_start_offset, IFile* dest);
|
|
|
|
std::unique_ptr<IFileMetadataPipe> file_metadata_pipe;
|
|
|
|
private:
|
|
}; |