summaryrefslogtreecommitdiff
path: root/plugins-alternative/CopyEngine/Rsync/factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins-alternative/CopyEngine/Rsync/factory.h')
-rw-r--r--plugins-alternative/CopyEngine/Rsync/factory.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/plugins-alternative/CopyEngine/Rsync/factory.h b/plugins-alternative/CopyEngine/Rsync/factory.h
new file mode 100644
index 0000000..40c6d53
--- /dev/null
+++ b/plugins-alternative/CopyEngine/Rsync/factory.h
@@ -0,0 +1,96 @@
+/** \file factory.h
+\brief Define the factory to create new instance
+\author alpha_one_x86
+\version 0.3
+\date 2010 */
+
+#include <QObject>
+#include <QList>
+#include <QStringList>
+#include <QFileInfo>
+#include <QProcess>
+
+#include "../../../interface/PluginInterface_CopyEngine.h"
+#include "StructEnumDefinition.h"
+#include "ui_options.h"
+#include "copyEngine.h"
+#include "Environment.h"
+#include "Filters.h"
+#include "RenamingRules.h"
+
+#ifndef FACTORY_H
+#define FACTORY_H
+
+namespace Ui {
+ class options;
+}
+
+/** \brief to generate copy engine instance */
+class Factory : public PluginInterface_CopyEngineFactory
+{
+ Q_OBJECT
+ Q_INTERFACES(PluginInterface_CopyEngineFactory)
+public:
+ Factory();
+ ~Factory();
+ /// \brief to return the instance of the copy engine
+ PluginInterface_CopyEngine * getInstance();
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion);
+ //get mode allowed
+ /// \brief define if can copy file, folder or both
+ CopyType getCopyType();
+ /// \brief to return which kind of transfer list operation is supported
+ TransferListOperation getTransferListOperation();
+ /// \brief define if can only copy, or copy and move
+ bool canDoOnlyCopy();
+ /// \brief to get the supported protocols for the source
+ QStringList supportedProtocolsForTheSource();
+ /// \brief to get the supported protocols for the destination
+ QStringList supportedProtocolsForTheDestination();
+ /// \brief to get the options of the copy engine
+ QWidget * options();
+private:
+ Ui::options *ui;
+ QWidget* tempWidget;
+ OptionInterface * optionsEngine;
+ QStringList mountSysPoint;
+ QProcess mount;
+ QString StandardError;
+ QString StandardOutput;
+ bool errorFound;
+ FacilityInterface * facilityEngine;
+ Filters *filters;
+ RenamingRules *renamingRules;
+private slots:
+ void error(QProcess::ProcessError error);
+ void finished(int exitCode, QProcess::ExitStatus exitStatus);
+ void readyReadStandardError();
+ void readyReadStandardOutput();
+ void setDoRightTransfer(bool doRightTransfer);
+ void setKeepDate(bool keepDate);
+ void setBlockSize(int blockSize);
+ void setAutoStart(bool autoStart);
+ void setRsync(bool rsync);
+ void showFilterDialog();
+ void sendNewFilters(QStringList includeStrings,QStringList includeOptions,QStringList excludeStrings,QStringList excludeOptions);
+ void doChecksum_toggled(bool);
+ void checksumOnlyOnError_toggled(bool);
+ void osBuffer_toggled(bool);
+ void osBufferLimited_toggled(bool);
+ void osBufferLimit_editingFinished();
+ void checksumIgnoreIfImpossible_toggled(bool);
+ void sendNewRenamingRules(QString firstRenamingRule,QString otherRenamingRule);
+ void showRenamingRules();
+public slots:
+ void resetOptions();
+ void newLanguageLoaded();
+signals:
+ void reloadLanguage();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne);
+ #endif
+};
+
+#endif // FACTORY_H