#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ConfigInfo.h" #include "Singleton.h" #include "tinyxml2.h" #include "ui_FrameConfig.h" #include "AnalogProcess.h" #include "DigitalProcess.h" #include "IProcess.h" #include "NetDataRecv.h" #include "ValidProcess.h" #include "VideoProcess.h" #include "AnalogAfterProc.h" #include "DigitalAfterProc.h" #include "IAfterProc.h" #include "ValidAfterProc.h" #include "VideoAfterProc.h" class FrameConfig : public QWidget { Q_OBJECT public: FrameConfig(QWidget* parent = nullptr); ~FrameConfig(); private: Ui::FrameConfigClass ui; Singleton* m_pSingleton; QStringList m_configFilesList; // 配置文件 QString m_strExePath; QString m_strDataPath; std::map m_mapStrConfigInfo; QString m_strModelType; QMutex m_mutex; QStandardItemModel* m_pStatusInfoModel; int m_iNetworkType; Network m_network; QString strFileDir; std::map m_mapUIntAfterProc; std::map m_mapUIntProcess; ValidProcess* m_pValidProcess; NetDataRecv* m_pNetDataRecv; unsigned int m_uiDataProcFinished; unsigned int m_uiDataProcNum; bool m_bOfflineParse; // 是否正在进行离线解析 bool m_bRealParse; // 是否正在进行实时解析 unsigned int m_uiParseStatus; // 0:无任务解析,1:离线解析,2:在线解析 private: void initModelType(); void initNetworkType(); void initStatusInfo(); void startAfterProc(QByteArray byteArray); void stopAfterProc(); void startProcess(); void stopProcess(); void createDataPath(unsigned int status); private slots: void loadConfigFiles(); void selectModelType(); void selectNetworkType(); void startOfflineParse(); void startRealParse(); bool readConfigFile(QString strdir, QString strfile, QString strname); void channelDeal(Frame* frame, Param* param, QString channel); void formulaDeal(Param* param); // void dataChannelDeal(Frame* frame,Param* param, QString strTemp); void validDataExtract(QByteArray byteArray); void dataProcFinished(); public slots: void displayStatusInfo(bool isSucess, QString statusInfo); signals: void switchModelType(QString modeltype); void parseStatus(unsigned status); };