summaryrefslogtreecommitdiff
path: root/plugins/CopyEngine/Ultracopier-0.3/TransferThread.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CopyEngine/Ultracopier-0.3/TransferThread.h')
-rw-r--r--plugins/CopyEngine/Ultracopier-0.3/TransferThread.h38
1 files changed, 27 insertions, 11 deletions
diff --git a/plugins/CopyEngine/Ultracopier-0.3/TransferThread.h b/plugins/CopyEngine/Ultracopier-0.3/TransferThread.h
index 37aa608..c32ccf3 100644
--- a/plugins/CopyEngine/Ultracopier-0.3/TransferThread.h
+++ b/plugins/CopyEngine/Ultracopier-0.3/TransferThread.h
@@ -27,16 +27,6 @@ class TransferThread : public QThread
public:
explicit TransferThread();
~TransferThread();
- /// \brief to have the transfer status
- enum TransferStat
- {
- Idle=0,
- PreOperation=1,
- WaitForTheTransfer=2,
- Transfer=3,
- PostTransfer=4,
- PostOperation=5
- };
/// \brief get transfer stat
TransferStat getStat();
/// \brief get drive of an file or folder
@@ -57,6 +47,15 @@ public:
quint64 transferId;
/// \brief to store the transfer size
quint64 transferSize;
+
+ void set_doChecksum(bool doChecksum);
+ void set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible);
+ void set_checksumOnlyOnError(bool checksumOnlyOnError);
+ void set_osBuffer(bool osBuffer);
+ void set_osBufferLimited(bool osBufferLimited);
+
+ //not copied size, because that's count to the checksum, ...
+ quint64 realByteTransfered();
protected:
void run();
signals:
@@ -114,16 +113,23 @@ public slots:
qint64 copiedSize();
/// \brief put the current file at bottom
void putAtBottom();
+
+ void set_osBufferLimit(unsigned int osBufferLimit);
+ void setRenamingRules(QString firstRenamingRule,QString otherRenamingRule);
private slots:
void preOperation();
void readIsReady();
void writeIsReady();
void readIsFinish();
+ void writeIsFinish();
void readIsClosed();
void writeIsClosed();
void postOperation();
void getWriteError();
void getReadError();
+ void readChecksumFinish(const QByteArray&);
+ void writeChecksumFinish(const QByteArray&);
+ void compareChecksum();
//void syncAfterErrorAndReadFinish();
void readThreadIsSeekToZeroAndWait();
void writeThreadIsReopened();
@@ -142,7 +148,7 @@ private:
MoveReturn_moved=1,
MoveReturn_error=2
};
- TransferStat stat;
+ TransferStat transfer_stat;
ReadThread readThread;
WriteThread writeThread;
QString source;
@@ -160,6 +166,7 @@ private:
bool readIsClosedVariable;
bool writeIsClosedVariable;
bool canBeMovedDirectlyVariable;
+ QByteArray sourceChecksum,destinationChecksum;
volatile bool stopIt;
volatile bool canStartTransfer;
int blockSize;
@@ -174,9 +181,18 @@ private:
QDateTime maxTime;
int id;
QSemaphore *mkpathTransfer;
+ bool doChecksum,real_doChecksum;
+ bool checksumIgnoreIfImpossible;
+ bool checksumOnlyOnError;
+ bool osBuffer;
+ bool osBufferLimited;
+ unsigned int osBufferLimit;
+ QString firstRenamingRule;
+ QString otherRenamingRule;
//error management
bool writeError,writeError_source_seeked,writeError_destination_reopened;
bool readError;
+ bool fileContentError;
//different pre-operation
bool isSame();
bool destinationExists();