You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

FrameConfig.h 3.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #pragma once
  2. #include <QComboBox>
  3. #include <QDateTime>
  4. #include <QDir>
  5. #include <QFile>
  6. #include <QFileDialog>
  7. #include <QHostAddress>
  8. #include <QMutex>
  9. #include <QMutexLocker>
  10. #include <QPushButton>
  11. #include <QRegExp>
  12. #include <QStandardItemModel>
  13. #include <QWidget>
  14. #include <QtXml>
  15. #include "ConfigInfo.h"
  16. #include "Singleton.h"
  17. #include "tinyxml2.h"
  18. #include "ui_FrameConfig.h"
  19. #include "AnalogProcess.h"
  20. #include "DigitalProcess.h"
  21. #include "IProcess.h"
  22. #include "NetDataRecv.h"
  23. #include "ValidProcess.h"
  24. #include "VideoProcess.h"
  25. #include "AnalogAfterProc.h"
  26. #include "DigitalAfterProc.h"
  27. #include "IAfterProc.h"
  28. #include "ValidAfterProc.h"
  29. #include "VideoAfterProc.h"
  30. class FrameConfig : public QWidget
  31. {
  32. Q_OBJECT
  33. public:
  34. FrameConfig(QWidget* parent = nullptr);
  35. ~FrameConfig();
  36. private:
  37. Ui::FrameConfigClass ui;
  38. Singleton* m_pSingleton;
  39. QStringList m_configFilesList; // 配置文件
  40. QString m_strExePath;
  41. QString m_strDataPath;
  42. std::map<QString, ConfigInfo*> m_mapStrConfigInfo;
  43. QString m_strModelType;
  44. QMutex m_mutex;
  45. QStandardItemModel* m_pStatusInfoModel;
  46. int m_iNetworkType;
  47. Network m_network;
  48. QString strFileDir;
  49. std::map<unsigned int, VideoAfterProc*> m_mapUIntAfterProc;
  50. std::map<unsigned int, IProcess*> m_mapUIntProcess;
  51. ValidProcess* m_pValidProcess;
  52. NetDataRecv* m_pNetDataRecv;
  53. unsigned int m_uiDataProcFinished;
  54. unsigned int m_uiDataProcNum;
  55. bool m_bOfflineParse; // 是否正在进行离线解析
  56. bool m_bRealParse; // 是否正在进行实时解析
  57. unsigned int m_uiParseStatus; // 0:无任务解析,1:离线解析,2:在线解析
  58. private:
  59. void initModelType();
  60. void initNetworkType();
  61. void initStatusInfo();
  62. void startAfterProc(QByteArray byteArray);
  63. void stopAfterProc();
  64. void startProcess();
  65. void stopProcess();
  66. void createDataPath(unsigned int status);
  67. private slots:
  68. void loadConfigFiles();
  69. void selectModelType();
  70. void selectNetworkType();
  71. void startOfflineParse();
  72. void startRealParse();
  73. bool readConfigFile(QString strdir, QString strfile, QString strname);
  74. void channelDeal(Frame* frame, Param* param, QString channel);
  75. void formulaDeal(Param* param);
  76. // void dataChannelDeal(Frame* frame,Param* param, QString strTemp);
  77. void validDataExtract(QByteArray byteArray);
  78. void dataProcFinished();
  79. public slots:
  80. void displayStatusInfo(bool isSucess, QString statusInfo);
  81. signals:
  82. void switchModelType(QString modeltype);
  83. void parseStatus(unsigned status);
  84. };