#ifndef FILETRANS_H #define FILETRANS_H #include #include #include #include "ClientCore.h" struct TransTask { bool isUpload{false}; QString localId; QString localPath; QString localUUID; QString remoteId; QString remotePath; QString remoteUUID; }; enum class TaskState { STATE_READY = 0, STATE_RUNNING, STATE_FAILED, STATE_FINISH, }; struct DoTransTask { QFile file; TaskState state; TransTask task; }; class FileTrans : public QObject { Q_OBJECT public: FileTrans(ClientCore* clientCore); public: void SetTasks(const QVector& tasks); void RegisterFrameCall(); private: void fbtReqSend(QSharedPointer frame); private: DoTransTask downTask_; QVector tasks_; ClientCore* clientCore_; QMap upTasks_; }; #endif