40 lines
920 B
C++
40 lines
920 B
C++
// DataProcessor.h
|
|
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QVariant>
|
|
#include <QMap>
|
|
#include <QMutex>
|
|
#include "export.hpp"
|
|
|
|
// 网络数据处理中心
|
|
class DIAGRAM_DESIGNER_PUBLIC DataProcessor : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
static DataProcessor* instance();
|
|
|
|
// 处理数据
|
|
void processData(const QVariant& data,int conType = 0);
|
|
|
|
// 获取处理后的数据
|
|
QVariant getProcessedData(const QString& key) const;
|
|
|
|
// 清除所有数据
|
|
void clearAllData();
|
|
|
|
signals:
|
|
// 数据处理完成信号
|
|
void httpProcessed(const QString& sType,const QVariant& data);
|
|
void websocketProcessed(const QVariant& data);
|
|
private:
|
|
DataProcessor(QObject* parent = nullptr);
|
|
// 通用处理函数
|
|
void processJson(const QVariant& data,int conType = 0); //0http 1websocket
|
|
|
|
// 数据缓存
|
|
QMap<QString, QVariant> m_dataCache;
|
|
mutable QMutex m_mutex;
|
|
};
|