添加GVF数据处理线程
This commit is contained in:
parent
64e0113290
commit
738f07624c
|
|
@ -6,11 +6,13 @@
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QDataStream>
|
#include <QDataStream>
|
||||||
#include <QSqlDatabase>
|
#include "SyncGvfFileDataTask.h"
|
||||||
|
|
||||||
|
|
||||||
RequstDataProcesser::RequstDataProcesser(QObject *parent)
|
RequstDataProcesser::RequstDataProcesser(QObject *parent)
|
||||||
: QTcpSocket{parent}
|
: QTcpSocket{parent}
|
||||||
{}
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void RequstDataProcesser::OnReplayClient(const QByteArray& replay_data)
|
void RequstDataProcesser::OnReplayClient(const QByteArray& replay_data)
|
||||||
{
|
{
|
||||||
|
|
@ -114,17 +116,30 @@ void RequstDataProcesser::processStartMeasureCmd(const QString& device_guid, con
|
||||||
replay_info = QStringLiteral(u"测量数据GVF文件未找到");
|
replay_info = QStringLiteral(u"测量数据GVF文件未找到");
|
||||||
} else {
|
} else {
|
||||||
replay_info = measure_data_gvf_filename;
|
replay_info = measure_data_gvf_filename;
|
||||||
|
SyncGvfFileDataTask* sync_gvf_data_task = new SyncGvfFileDataTask;
|
||||||
|
connect(sync_gvf_data_task, &SyncGvfFileDataTask::finished, sync_gvf_data_task, &SyncGvfFileDataTask::deleteLater);
|
||||||
|
connect(sync_gvf_data_task, &SyncGvfFileDataTask::syncGvfData, this, &RequstDataProcesser::OnReplayClient);
|
||||||
|
connect(this, &RequstDataProcesser::stopSyncGvfFileDataTask, sync_gvf_data_task, &SyncGvfFileDataTask::OnStop);
|
||||||
|
sync_gvf_data_task->start();
|
||||||
}
|
}
|
||||||
QByteArray replay_data;
|
QByteArray replay_data;
|
||||||
QDataStream replay_data_stream(&replay_data, QIODevice::Append);
|
QDataStream replay_data_stream(&replay_data, QIODevice::Append);
|
||||||
replay_data_stream << QString("START") << ok << replay_info;
|
replay_data_stream << QString("START") << ok << replay_info;
|
||||||
QMetaObject::invokeMethod(this, "OnReplayClient", Qt::QueuedConnection, Q_ARG(QByteArray, replay_data));
|
QMetaObject::invokeMethod(this, "OnReplayClient", Qt::QueuedConnection, Q_ARG(QByteArray, replay_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SyncGvfFileDataTask* sync_gvf_data_task = new SyncGvfFileDataTask;
|
||||||
|
connect(sync_gvf_data_task, &SyncGvfFileDataTask::finished, sync_gvf_data_task, &SyncGvfFileDataTask::deleteLater, Qt::DirectConnection);
|
||||||
|
connect(sync_gvf_data_task, &SyncGvfFileDataTask::syncGvfData, this, &RequstDataProcesser::OnReplayClient, Qt::QueuedConnection);
|
||||||
|
connect(this, &RequstDataProcesser::stopSyncGvfFileDataTask, sync_gvf_data_task, &SyncGvfFileDataTask::OnStop, Qt::DirectConnection);
|
||||||
|
sync_gvf_data_task->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RequstDataProcesser::processStopMeasureCmd(const QString& device_guid)
|
void RequstDataProcesser::processStopMeasureCmd(const QString& device_guid)
|
||||||
{
|
{
|
||||||
MeasureDeviceController::Instance()->StopMeasure(device_guid);
|
MeasureDeviceController::Instance()->StopMeasure(device_guid);
|
||||||
|
emit stopSyncGvfFileDataTask();
|
||||||
|
|
||||||
QByteArray replay_data;
|
QByteArray replay_data;
|
||||||
QDataStream replay_data_stream(&replay_data, QIODevice::Append);
|
QDataStream replay_data_stream(&replay_data, QIODevice::Append);
|
||||||
replay_data_stream << QString("STOP") << true << QStringLiteral(u"停止测量完成");
|
replay_data_stream << QString("STOP") << true << QStringLiteral(u"停止测量完成");
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,9 @@ public:
|
||||||
public slots:
|
public slots:
|
||||||
void OnReplayClient(const QByteArray& replay_data);
|
void OnReplayClient(const QByteArray& replay_data);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void stopSyncGvfFileDataTask();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void processStartMeasureCmd(const QString& device_guid, const QString& cmd_data);
|
void processStartMeasureCmd(const QString& device_guid, const QString& cmd_data);
|
||||||
void processStopMeasureCmd(const QString& device_guid);
|
void processStopMeasureCmd(const QString& device_guid);
|
||||||
|
|
|
||||||
|
|
@ -23,13 +23,15 @@ SOURCES += \
|
||||||
$${PWD}/MeasureServer.cpp \
|
$${PWD}/MeasureServer.cpp \
|
||||||
$${PWD}/main.cpp \
|
$${PWD}/main.cpp \
|
||||||
$${PWD}/MeasureDeviceController.cpp \
|
$${PWD}/MeasureDeviceController.cpp \
|
||||||
$${PWD}/RequstDataProcesser.cpp
|
$${PWD}/RequstDataProcesser.cpp \
|
||||||
|
SyncGvfFileDataTask.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
$${PWD}/MeasureServer.h \
|
$${PWD}/MeasureServer.h \
|
||||||
$${PWD}/MeasureDeviceController.h \
|
$${PWD}/MeasureDeviceController.h \
|
||||||
$${PWD}/MeasureServiceProtocol.h \
|
$${PWD}/MeasureServiceProtocol.h \
|
||||||
$${PWD}/RequstDataProcesser.h
|
$${PWD}/RequstDataProcesser.h \
|
||||||
|
SyncGvfFileDataTask.h
|
||||||
|
|
||||||
|
|
||||||
DEFINES += ENABLE_DEBUG
|
DEFINES += ENABLE_DEBUG
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user