2011-03-21 02:58:53 +03:00
|
|
|
#ifndef MIRALL_UNISONFOLDER_H
|
|
|
|
#define MIRALL_UNISONFOLDER_H
|
|
|
|
|
|
|
|
#include <QMutex>
|
2011-03-25 20:25:56 +03:00
|
|
|
#include <QProcess>
|
|
|
|
#include <QStringList>
|
|
|
|
|
2011-03-21 02:58:53 +03:00
|
|
|
#include "mirall/folder.h"
|
|
|
|
|
|
|
|
class QProcess;
|
|
|
|
|
|
|
|
namespace Mirall {
|
|
|
|
|
|
|
|
class UnisonFolder : public Folder
|
|
|
|
{
|
2011-03-25 20:25:56 +03:00
|
|
|
Q_OBJECT
|
2011-03-21 02:58:53 +03:00
|
|
|
public:
|
|
|
|
UnisonFolder(const QString &path, const QString &secondPath, QObject *parent = 0L);
|
|
|
|
virtual ~UnisonFolder();
|
|
|
|
|
|
|
|
QString secondPath() const;
|
|
|
|
|
2011-03-25 20:25:56 +03:00
|
|
|
virtual void startSync(const QStringList &pathList);
|
2011-03-21 02:58:53 +03:00
|
|
|
|
2011-03-27 04:26:41 +04:00
|
|
|
virtual bool isBusy() const;
|
|
|
|
|
2011-03-25 20:25:56 +03:00
|
|
|
protected slots:
|
|
|
|
void slotReadyReadStandardOutput();
|
|
|
|
void slotReadyReadStandardError();
|
|
|
|
void slotStateChanged(QProcess::ProcessState);
|
2011-03-27 04:26:41 +04:00
|
|
|
void slotFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
2011-03-28 01:29:45 +04:00
|
|
|
void slotStarted();
|
2011-03-25 20:25:56 +03:00
|
|
|
void slotError(QProcess::ProcessError);
|
2011-03-21 02:58:53 +03:00
|
|
|
private:
|
|
|
|
QMutex _syncMutex;
|
|
|
|
QProcess *_unison;
|
|
|
|
QString _secondPath;
|
2011-03-31 10:19:04 +04:00
|
|
|
int _syncCount;
|
2011-03-21 02:58:53 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|