#ifndef CONSTCACHE_H #define CONSTCACHE_H #include <QObject> #include <QMap> #include <QList> #include <QJsonObject> #include "CounterDevice.h" #include "CounterChannel.h" class CounterDevice; class ConstCache : public QObject { Q_OBJECT public: ~ConstCache() {} ConstCache(const ConstCache&)=delete; ConstCache& operator=(const ConstCache&)=delete; static ConstCache& getInstance() { static ConstCache instance; return instance; } QMap<QString, QString> deviceTypes; QMap<QString, CounterDevice *> deviceMap; // 计数器对象集合 key=deviceId QList<QString> deviceIdLoopA; // A路计数器对象集合 key=deviceId QList<QString> deviceIdLoopB; // B路计数器对象集合 key=deviceId QMap<QString, CounterChannel *> channelMap; // 通道对象集合 key=deviceId-channelNo QList<QStringList> loopInfos; // 存储主备路关键信息 参考钟编号;在对路的测量计数器ID;在对路的测量计数器所在通道ID;对路计数器所在的通道号 QMap<QString, QString> standbyMap; // 主路/备路通道的备路/主路对应通道key key=deviceId-channelNo value=deviceId-channelNo QMap<QString, CounterDevice *> alarmDeviceMap; // 报警设备 QMap<QString, CounterChannel *> alarmChannelMap; // 报警通道 QMap<QString, QString> qssConstMap; qulonglong latestHeartTs; private: ConstCache() {} }; #endif // CONSTCACHE_H