69 lines
1.6 KiB
C++
Executable File
69 lines
1.6 KiB
C++
Executable File
#ifndef UDISKDATABACKUPPROXY_H
|
||
#define UDISKDATABACKUPPROXY_H
|
||
|
||
#include "databackupproxy.h"
|
||
|
||
class UDiskDataBackupProxy : public DataBackupProxy
|
||
{
|
||
Q_OBJECT
|
||
DECLARE_DYNCREATE(UDiskDataBackupProxy)
|
||
public:
|
||
explicit UDiskDataBackupProxy();
|
||
virtual ~UDiskDataBackupProxy();
|
||
|
||
public:
|
||
// 环境检测
|
||
virtual bool checkEnvEx();
|
||
|
||
// 任务处理
|
||
virtual void doWorkEx();
|
||
|
||
public slots:
|
||
// 任务取消
|
||
virtual void cancelEx();
|
||
|
||
private slots:
|
||
// 校验剩余空间是否满足备份
|
||
bool checkFreeCapacityToUdisk(qint64 itotalSize);
|
||
|
||
// 备份
|
||
void doBackupToUdisk();
|
||
|
||
/**
|
||
* @brief 校验移动盘是否还在
|
||
* @return: bool,存在返回true;不存在返回false
|
||
* @author: zhaominyong
|
||
* @since: 2021/05/24
|
||
* @note:
|
||
* add by zhaominyong at 2021/05/24 for bug:54377 【备份还原】备份数据到U盘的过程中拔出U盘,备份还原工具仍然一直显示正在备份数据
|
||
*/
|
||
bool checkDestDirExists();
|
||
|
||
protected:
|
||
// 失败则删除相应数据
|
||
virtual void deleteFailedData();
|
||
// 判断是否增量备份
|
||
virtual bool isIncBackup();
|
||
|
||
private:
|
||
// 计算备份所需空间大小
|
||
void calcSizeForBackupToUdisk();
|
||
|
||
/**
|
||
* @brief 记录/backup/snapshots/backuplist.xml文件
|
||
* @return true-成功;false-失败
|
||
*/
|
||
bool recordBackupPointToUdisk();
|
||
|
||
// 备份准备
|
||
bool doPrepareToUdisk();
|
||
|
||
// 备份系统
|
||
bool backupDataToUdisk();
|
||
|
||
// 强制结束标志(stop后没反应的情况,系统处于睡眠状态)
|
||
bool m_isForce;
|
||
};
|
||
|
||
#endif // UDISKDATABACKUPPROXY_H
|