trans: 1.basic trans logic. 2.ico res.

This commit is contained in:
2025-06-17 11:48:13 +08:00
parent 33b8a37719
commit 55b530d9f8
16 changed files with 236 additions and 17 deletions

View File

@@ -3,6 +3,7 @@
#include <QFile>
#include <QMap>
#include <QMutex>
#include <QVector>
#include "ClientCore.h"
@@ -18,7 +19,7 @@ struct TransTask {
};
enum class TaskState {
STATE_READY = 0,
STATE_NONE = 0,
STATE_RUNNING,
STATE_FAILED,
STATE_FINISH,
@@ -26,10 +27,25 @@ enum class TaskState {
struct DoTransTask {
QFile file;
TaskState state;
TaskState state = TaskState::STATE_NONE;
TransTask task;
};
class SendThread : public QThread
{
Q_OBJECT
public:
SendThread(ClientCore* clientCore);
public:
void run() override;
void setTask(const QSharedPointer<DoTransTask>& task);
private:
ClientCore* cliCore_;
QSharedPointer<DoTransTask> task_;
};
class FileTrans : public QObject
{
Q_OBJECT
@@ -42,12 +58,30 @@ public:
private:
void fbtReqSend(QSharedPointer<FrameBuffer> frame);
void fbtReqRecv(QSharedPointer<FrameBuffer> frame);
void fbtTransDone(QSharedPointer<FrameBuffer> frame);
void fbtAnsRecvSuccess(QSharedPointer<FrameBuffer> frame);
void fbtAnsRecvFailed(QSharedPointer<FrameBuffer> frame);
void fbtFileTrans(QSharedPointer<FrameBuffer> frame);
void fbtAnsSendFailed(QSharedPointer<FrameBuffer> frame);
void fbtAnsSendSuccess(QSharedPointer<FrameBuffer> frame);
void fbtFileTransFailed(QSharedPointer<FrameBuffer> frame);
private:
void SendFile(const QSharedPointer<DoTransTask>& task);
private:
DoTransTask downTask_;
QVector<TransTask> tasks_;
QMutex lMut_;
QMutex rMut_;
QVector<TransTask> localTasks_;
QVector<TransTask> remoteTasks_;
ClientCore* clientCore_;
QMap<QString, DoTransTask> upTasks_;
QMutex sthMut_;
QVector<QThread*> sendThreads_;
QMap<QString, QThread*> upTasks_;
};
#endif