DiagramDesigner/diagramCavas/include/instance/dataAccessor.h

32 lines
893 B
C
Raw Normal View History

2025-12-12 17:46:37 +08:00
#ifndef DATAACCESSOR_H
#define DATAACCESSOR_H
/*********中转、处理网络数据*********/
#include <QObject>
#include <QMap>
2025-12-15 14:38:17 +08:00
#include <QMutex>
2025-12-12 17:46:37 +08:00
2025-12-19 18:28:13 +08:00
class DiagramCavas;
2025-12-12 17:46:37 +08:00
class DataAccessor : public QObject
{
Q_OBJECT
public:
DataAccessor(QObject *parent = nullptr);
~DataAccessor();
2025-12-19 18:28:13 +08:00
void setParent(DiagramCavas* p) {_parentCavas = p;}
2025-12-19 20:05:50 +08:00
QMap<QString,QMap<quint64,double>> getTargetData(QStringList); //获取指定名称的值
2025-12-15 14:38:17 +08:00
public slots:
void onReceiveHttpData(const QString& sType,const QVariant& data);
void onReceiveWebsocketData(const QVariant& data);
2025-12-12 17:46:37 +08:00
private:
2025-12-19 18:28:13 +08:00
QString removeAfterStreamBySplit(const QString& url); //手动处理websocket的config
private:
QMap<QString,QMap<quint64,double>> _realTimeData; //实时数据缓存 todo:自动清理
2025-12-15 14:38:17 +08:00
mutable QMutex m_mutex;
2025-12-19 18:28:13 +08:00
DiagramCavas* _parentCavas;
2025-12-12 17:46:37 +08:00
};
#endif