Overte C++ Documentation
BackupHandler.h
1 //
2 // BackupHandler.h
3 // domain-server/src
4 //
5 // Created by Clement Brisset on 2/5/18.
6 // Copyright 2018 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_BackupHandler_h
13 #define hifi_BackupHandler_h
14 
15 #include <memory>
16 
17 #include <QString>
18 
19 class QuaZip;
20 
21 class BackupHandlerInterface {
22 public:
23  virtual ~BackupHandlerInterface() = default;
24 
25  virtual std::pair<bool, float> isAvailable(const QString& backupName) = 0;
26 
27  // Returns whether a recovery is ongoing and a progress between 0 and 1 if one is.
28  virtual std::pair<bool, float> getRecoveryStatus() = 0;
29 
30  virtual void loadBackup(const QString& backupName, QuaZip& zip) = 0;
31  virtual void loadingComplete() = 0;
32  virtual void createBackup(const QString& backupName, QuaZip& zip) = 0;
33  virtual std::pair<bool, QString> recoverBackup(const QString& backupName, QuaZip& zip, const QString& username, const QString& sourceFilename) = 0;
34  virtual void deleteBackup(const QString& backupName) = 0;
35  virtual void consolidateBackup(const QString& backupName, QuaZip& zip) = 0;
36  virtual bool isCorruptedBackup(const QString& backupName) = 0;
37 };
38 using BackupHandlerPointer = std::unique_ptr<BackupHandlerInterface>;
39 
40 #endif /* hifi_BackupHandler_h */