summaryrefslogtreecommitdiff
path: root/Core.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core.h')
-rw-r--r--Core.h74
1 files changed, 62 insertions, 12 deletions
diff --git a/Core.h b/Core.h
index c0f948e..a3a9c2a 100644
--- a/Core.h
+++ b/Core.h
@@ -50,9 +50,9 @@ class Core : public QObject, public GlobalClass
CopyMode mode;
quint64 numberOfFile;
quint64 numberOfTransferedFile;
- quint64 sizeToCopy;
+ quint64 currentProgression,totalProgression;//store the file byte transfered, used into the remaining time
EngineActionInProgress action;
- quint64 lastProgression;//store the real byte transfered, used in time remaining calculation
+ quint64 lastProgression;//store the real byte transfered, used in speed calculation
QList<quint64> lastSpeedDetected;//stored in bytes
QList<double> lastSpeedTime;//stored in ms
QList<RunningTransfer> transferItemList;//full info of started item, to have wich progression to poll
@@ -72,27 +72,55 @@ class Core : public QObject, public GlobalClass
bool copyEngineIsSync;
};
QList<CopyInstance> copyList;
- int openNewCopy(const CopyMode &mode,const bool &ignoreMode,const QStringList &protocolsUsedForTheSources=QStringList(),const QString &protocolsUsedForTheDestination="");
- int openNewCopy(const CopyMode &mode,const bool &ignoreMode,const QString &name);
- int incrementId();
- int nextId;
- QList<int> idList;
- QTime lastProgressionTime;
+ /** open with specific source/destination
+ \param move Copy or move
+ \param ignoreMode if need ignore the mode
+ \param protocolsUsedForTheSources protocols used for sources
+ \param protocolsUsedForTheDestination protocols used for destination
+ */
+ int openNewCopyEngineInstance(const CopyMode &mode,const bool &ignoreMode,const QStringList &protocolsUsedForTheSources=QStringList(),const QString &protocolsUsedForTheDestination="");
+ /** open with specific copy engine
+ \param move Copy or move
+ \param ignoreMode if need ignore the mode
+ \param protocolsUsedForTheSources protocols used for sources
+ \param protocolsUsedForTheDestination protocols used for destination
+ */
+ int openNewCopyEngineInstance(const CopyMode &mode,const bool &ignoreMode,const QString &name);
+
+ /// \brief get the right copy instance (copy engine + interface), by signal emited from copy engine
int indexCopySenderCopyEngine();
+ /// \brief get the right copy instance (copy engine + interface), by signal emited from interface
int indexCopySenderInterface();
+
void connectEngine(const int &index);
void connectInterfaceAndSync(const int &index);
void disconnectEngine(const int &index);
void disconnectInterface(const int &index);
- void periodiqueSync(const int &index);
- QTimer forUpateInformation;
+
+ /** \brief update at periodic interval, the synchronization between copy engine and interface, but for specific entry
+ \see forUpateInformation */
+ void periodicSynchronization(const int &index);
+
+ //for the internal management
+ int incrementId();
+ int nextId;
+ QList<int> idList;
+ QTime lastProgressionTime;
+ QTimer forUpateInformation;///< used to call \see periodicSynchronization()
void resetSpeedDetected(const int &index);
+
+ /** Connect the copy engine instance provided previously to the management */
int connectCopyEngine(const CopyMode &mode,bool ignoreMode,const CopyEngineManager::returnCopyEngine &returnInformations);
- LogThread log;
+
+ LogThread log;///< To save the log like mkpath, rmpath, error, copy, ...
//temp variable
int index,index_sub_loop,loop_size,loop_sub_size;
double totTime;
double totSpeed;
+ quint64 realByteTransfered;
+ quint64 transferSpeed;
+ quint64 transferAddedTime;
+ quint64 diffCopiedSize;
signals:
void copyFinished(const quint32 & orderId,bool withError);
void copyCanceled(const quint32 & orderId);
@@ -109,28 +137,50 @@ class Core : public QObject, public GlobalClass
void addWindowCopyMove(const CopyMode &mode,const QString &name);
/** \brief open transfer (copy+move) windows with specific engine */
void addWindowTransfer(const QString &name);
+ /** new transfer list pased by the CLI */
+ void newTransferList(QString engine,QString mode,QString file);
private slots:
+ /// \brief the copy engine have canceled the transfer
void copyInstanceCanceledByEngine();
+ /// \brief the interface have canceled the transfer
void copyInstanceCanceledByInterface();
+ /// \brief the transfer have been canceled
void copyInstanceCanceledByIndex(const int &index);
+ /// \brief only when the copy engine say it's ready to delete them self, it call this
+ void deleteCopyEngine();
+
+ // some stat update
void actionInProgess(const EngineActionInProgress &action);
void newFolderListing(const QString &path);
void newCollisionAction(const QString &action);
void newErrorAction(const QString &action);
void isInPause(const bool&);
- void periodiqueSync();
+
+ /** \brief update at periodic interval, the synchronization between copy engine and interface
+ \see forUpateInformation */
+ void periodicSynchronization();
+
+ //reset some information
void resetSpeedDetectedEngine();
void resetSpeedDetectedInterface();
+
+ //load the interface
void loadInterface();
void unloadInterface();
+
//error occurred
void error(const QString &path,const quint64 &size,const QDateTime &mtime,const QString &error);
//for the extra logging
void rmPath(const QString &path);
void mkPath(const QString &path);
+
+ /// \brief used to drag and drop files
void urlDropped(const QList<QUrl> &urls);
+ /// \brief to rsync after a new interface connection
void syncReady();
+
void getActionOnList(const QList<returnActionOnCopyList> & actionList);
+ void pushGeneralProgression(const quint64 &current,const quint64 &total);
};
#endif // CORE_H