yhkylin-backup-tools/backup-daemon/myprocess/rsyncpathtodirprocess.h

41 lines
866 B
C
Raw Normal View History

2021-08-24 18:08:18 +08:00
#ifndef RSYNCPATHTODIRPROCESS_H
#define RSYNCPATHTODIRPROCESS_H
#include <QProcess>
class RsyncPathToDirProcess : public QObject
{
Q_OBJECT
public:
2021-11-20 12:09:26 +08:00
explicit RsyncPathToDirProcess(QObject *parent = nullptr);
virtual ~RsyncPathToDirProcess();
2021-08-24 18:08:18 +08:00
bool start(QStringList args, bool block = true);
2021-11-11 16:03:58 +08:00
inline void stop() {
m_p->kill();
m_syncProcess->kill();
}
2021-08-24 18:08:18 +08:00
signals:
// 结果信号
void finished(bool result);
// 进度百分比
void progress(int currentRate);
private slots:
// m_p执行结束
2021-11-11 16:03:58 +08:00
void rsync_finished(int exitCode, QProcess::ExitStatus);
// m_syncProcess执行结束
void sync_finished(int exitCode, QProcess::ExitStatus);
2021-08-24 18:08:18 +08:00
private:
QProcess * m_p;
2021-11-11 16:03:58 +08:00
QProcess* m_syncProcess;
2021-08-24 18:08:18 +08:00
int m_currentRate;
bool m_bSuccess;
2021-11-11 16:03:58 +08:00
bool m_block;
2021-08-24 18:08:18 +08:00
};
#endif // RSYNCPATHTODIRPROCESS_H