ready: trans file ready code.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
BasedOnStyle: LLVM
|
||||
BasedOnStyle: LLVM
|
||||
IndentWidth: 4
|
||||
PointerAlignment: Left
|
||||
AccessModifierOffset: -4
|
||||
ReflowComments: Always
|
||||
ReflowComments: true
|
||||
SpacesBeforeTrailingComments: 3
|
||||
AllowShortFunctionsOnASingleLine: None
|
||||
BreakBeforeBraces: Custom
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,4 +1,4 @@
|
||||
# Prerequisites
|
||||
# Prerequisites
|
||||
*.d
|
||||
|
||||
# Compiled Object files
|
||||
@@ -6,6 +6,7 @@
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
out
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
|
||||
22
CMakePresets.json
Normal file
22
CMakePresets.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"hidden": true,
|
||||
"name": "Qt",
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "$env{QTDIR}"
|
||||
},
|
||||
"vendor": {
|
||||
"qt-project.org/Qt": {
|
||||
"checksum": "wVa86FgEkvdCTVp1/nxvrkaemJc="
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"vendor": {
|
||||
"qt-project.org/Presets": {
|
||||
"checksum": "67SmY24ZeVbebyKD0fGfIzb/bGI="
|
||||
}
|
||||
}
|
||||
}
|
||||
60
CMakeUserPresets.json
Normal file
60
CMakeUserPresets.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "Debug-x64",
|
||||
"displayName": "Debug (x64)",
|
||||
"binaryDir": "${sourceDir}/out/build/debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
},
|
||||
"inherits": [
|
||||
"Qt-Default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Release-x64",
|
||||
"displayName": "Release (x64)",
|
||||
"binaryDir": "${sourceDir}/out/build/release",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
},
|
||||
"inherits": [
|
||||
"Qt-Default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"hidden": true,
|
||||
"name": "Qt-Default",
|
||||
"inherits": "Qt6_msvc2022_64",
|
||||
"vendor": {
|
||||
"qt-project.org/Default": {
|
||||
"checksum": "976Pn2eYm5E5Y4HL6Z+8qkbnJAs="
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"hidden": true,
|
||||
"name": "Qt6_msvc2022_64",
|
||||
"inherits": "Qt",
|
||||
"environment": {
|
||||
"QTDIR": "D:/Dev/Qt6/msvc2022_64"
|
||||
},
|
||||
"architecture": {
|
||||
"strategy": "external",
|
||||
"value": "x64"
|
||||
},
|
||||
"generator": "Ninja",
|
||||
"vendor": {
|
||||
"qt-project.org/Version": {
|
||||
"checksum": "ymjJj8izmTr4fYiat3sCfIwY424="
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"vendor": {
|
||||
"qt-project.org/Presets": {
|
||||
"checksum": "e87AwgwSE1IKoagovHrM8pEnc+U="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,8 @@ ClientCore.cpp
|
||||
ClientCore.h
|
||||
RemoteFile.h
|
||||
RemoteFile.cpp
|
||||
FileTrans.h
|
||||
FileTrans.cpp
|
||||
)
|
||||
|
||||
add_library(ClientCore STATIC ${SOURCES})
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "ClientCore.h"
|
||||
#include "ClientCore.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
@@ -99,7 +99,7 @@ void ClientCore::UseFrame(QSharedPointer<FrameBuffer> frame)
|
||||
break;
|
||||
}
|
||||
default:
|
||||
qWarning() << QString(tr("unknown frame type: %1")).arg(frame->type);
|
||||
frameCall_[static_cast<uint32_t>(frame->type)](frame);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -150,7 +150,7 @@ void ClientCore::SetRemoteID(const QString& id)
|
||||
remoteID_ = id;
|
||||
}
|
||||
|
||||
void ClientCore::SetFrameCall(FrameBufferType type, const std::function<void(FrameBuffer*)>& call)
|
||||
void ClientCore::SetFrameCall(FrameBufferType type, const std::function<void(QSharedPointer<FrameBuffer>)>& call)
|
||||
{
|
||||
frameCall_[type] = call;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef CLIENTCORE_H
|
||||
#ifndef CLIENTCORE_H
|
||||
#define CLIENTCORE_H
|
||||
|
||||
#include <InfoClient.h>
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
void SetClientsCall(const std::function<void(const InfoClientVec& clients)>& call);
|
||||
void SetPathCall(const std::function<void(const QString& path)>& call);
|
||||
void SetFileCall(const std::function<void(const DirFileInfoVec& files)>& call);
|
||||
void SetFrameCall(FrameBufferType type, const std::function<void(FrameBuffer*)>& call);
|
||||
void SetFrameCall(FrameBufferType type, const std::function<void(QSharedPointer<FrameBuffer>)>& call);
|
||||
void SetRemoteID(const QString& id);
|
||||
QString GetRemoteID();
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
std::function<void(const InfoClientVec& clients)> clientsCall_;
|
||||
std::function<void(const DirFileInfoVec& files)> fileCall_;
|
||||
|
||||
std::array<std::function<void(FrameBuffer*)>, 256> frameCall_;
|
||||
std::array<std::function<void(QSharedPointer<FrameBuffer>)>, 256> frameCall_;
|
||||
};
|
||||
|
||||
#endif // CLIENTCORE_H
|
||||
19
ClientCore/FileTrans.cpp
Normal file
19
ClientCore/FileTrans.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
#include "FileTrans.h"
|
||||
|
||||
FileTrans::FileTrans(ClientCore* clientCore) : clientCore_(clientCore)
|
||||
{
|
||||
}
|
||||
|
||||
void FileTrans::SetTasks(const QVector<TransTask>& tasks)
|
||||
{
|
||||
tasks_ = tasks;
|
||||
}
|
||||
|
||||
void FileTrans::RegisterFrameCall()
|
||||
{
|
||||
clientCore_->SetFrameCall(FBT_CLI_REQ_SEND, [this](QSharedPointer<FrameBuffer> frame) { fbtReqSend(frame); });
|
||||
}
|
||||
|
||||
void FileTrans::fbtReqSend(QSharedPointer<FrameBuffer> frame)
|
||||
{
|
||||
}
|
||||
53
ClientCore/FileTrans.h
Normal file
53
ClientCore/FileTrans.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#ifndef FILETRANS_H
|
||||
#define FILETRANS_H
|
||||
|
||||
#include <QFile>
|
||||
#include <QMap>
|
||||
#include <QVector>
|
||||
|
||||
#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<TransTask>& tasks);
|
||||
void RegisterFrameCall();
|
||||
|
||||
private:
|
||||
void fbtReqSend(QSharedPointer<FrameBuffer> frame);
|
||||
|
||||
private:
|
||||
DoTransTask downTask_;
|
||||
QVector<TransTask> tasks_;
|
||||
ClientCore* clientCore_;
|
||||
QMap<QString, DoTransTask> upTasks_;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "Transform.h"
|
||||
#include "Transform.h"
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "ui_Transform.h"
|
||||
@@ -13,31 +13,6 @@ TransForm::~TransForm()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void TransForm::SetTasks(const QVector<TransTask>& tasks)
|
||||
{
|
||||
tasks_ = tasks;
|
||||
}
|
||||
|
||||
void TransForm::StartExecTask()
|
||||
{
|
||||
for (const auto& task : tasks_) {
|
||||
InfoMsg infoReq;
|
||||
if (task.isUpload) {
|
||||
if (!clientCore_->Send<InfoMsg>(infoReq, FBT_CLI_REQ_SEND, task.remoteId)) {
|
||||
QMessageBox::information(this, tr("Error"), tr("Send info request failed."));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TransForm::StopExecTask()
|
||||
{
|
||||
}
|
||||
|
||||
void TransForm::SetClientCore(ClientCore* clientCore)
|
||||
{
|
||||
clientCore_ = clientCore;
|
||||
|
||||
@@ -1,28 +1,14 @@
|
||||
#ifndef TRANSFORM_H
|
||||
#ifndef TRANSFORM_H
|
||||
#define TRANSFORM_H
|
||||
|
||||
#include <ClientCore.h>
|
||||
#include <QDialog>
|
||||
#include <QFile>
|
||||
|
||||
namespace Ui {
|
||||
class TransForm;
|
||||
}
|
||||
|
||||
struct TransTask {
|
||||
bool isUpload{false};
|
||||
QString localId;
|
||||
QString localPath;
|
||||
QString remoteId;
|
||||
QString remotePath;
|
||||
};
|
||||
|
||||
enum class TaskState {
|
||||
STATE_READY = 0,
|
||||
STATE_RUNNING,
|
||||
STATE_FAILED,
|
||||
STATE_FINISH,
|
||||
};
|
||||
|
||||
class TransForm : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -33,15 +19,8 @@ public:
|
||||
|
||||
public:
|
||||
void SetClientCore(ClientCore* clientCore);
|
||||
void SetTasks(const QVector<TransTask>& tasks);
|
||||
|
||||
private:
|
||||
void StartExecTask();
|
||||
void StopExecTask();
|
||||
|
||||
private:
|
||||
TaskState curState_{TaskState::STATE_READY};
|
||||
QVector<TransTask> tasks_;
|
||||
ClientCore* clientCore_;
|
||||
Ui::TransForm* ui;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user