GlobalConfig.cpp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #include "GlobalConfig.h"
  2. #include <QSettings>
  3. #include "spdlog/spdlog.h"
  4. /* ====================================================================================
  5. * ************************** GlobalConfig成员函数 ******************************
  6. * ====================================================================================*/
  7. GlobalConfig::GlobalConfig()
  8. {
  9. ThreadSleepMS = 300;
  10. }
  11. /* 读取配置文件 */
  12. bool GlobalConfig::readConfig(const QString& strConfigFile)
  13. {
  14. if(strConfigFile.isEmpty())
  15. {
  16. SPDLOG_ERROR("读取配置文件失败! 配置文件名为空");
  17. return false;
  18. }
  19. SPDLOG_DEBUG("读取配置文件: {}", strConfigFile.toStdString());
  20. QSettings settings(strConfigFile, QSettings::IniFormat);
  21. settings.setIniCodec("UTF-8");
  22. settings.beginGroup("System");
  23. AppUpdateOnWorkTimeInterval_Time = settings.value("WorkOnInfoSecond", 600).toInt(); /* 更新在岗信息的时间间隔 */
  24. AppPeopleOnWork_Time = settings.value("APPPEPOLEONWORK", 300).toInt(); /* 离岗时间 */
  25. AppContraband_Time = settings.value("APPBADTHING", 50).toInt(); /* 违禁物品出现的时间 */
  26. AppBadMan_Time = settings.value("APPBADMAN", 50).toInt(); /* 非法入侵 */
  27. AppTired_Time = settings.value("APPTIRED", 50).toInt(); /* 疲劳检测时间 */
  28. AppPeopleCont = settings.value("APPPEPOLECONT", 50).toInt(); /* 人员聚集时间 */
  29. AppPlayPhone = settings.value("APPPLAYPHONE", 50).toInt(); /* 玩手机识别 */
  30. AppMouse = settings.value("APPMOUSE", 50).toInt(); /* 手势识别 */
  31. AppMask = settings.value("APPMASK", 5).toInt(); /* 戴口罩识别 */
  32. CheckSet = settings.value("CHECKSET", 300).toInt(); /* 服务端多久检测一次配置 */
  33. EventTimeValid = settings.value("EventTimeValid", 300).toInt(); /* 事件时间有效期 */
  34. Key = settings.value("Key").toString().toStdString(); /* Key */
  35. Secret = settings.value("Secret").toString().toStdString(); /* Secret */
  36. settings.endGroup();
  37. if(Key.empty() || Secret.empty())
  38. {
  39. SPDLOG_ERROR("读取配置文件失败! Key或Secret为空");
  40. return false;
  41. }
  42. return true;
  43. }
  44. /* 打印读取到的值 */
  45. void GlobalConfig::printValue()
  46. {
  47. SPDLOG_INFO("APPPEPOLEONWORK: {}", AppPeopleOnWork_Time);
  48. SPDLOG_INFO("APPBADTHING: {}", AppContraband_Time);
  49. SPDLOG_INFO("APPBADMAN: {}", AppBadMan_Time);
  50. SPDLOG_INFO("APPTIRED: {}", AppTired_Time);
  51. SPDLOG_INFO("APPPEOPLECONT: {}", AppPeopleCont);
  52. SPDLOG_INFO("APPPLAYPHONE: {}", AppPlayPhone);
  53. SPDLOG_INFO("APPMOUSE: {}", AppMouse);
  54. SPDLOG_INFO("APPMASK: {}", AppMask);
  55. SPDLOG_INFO("CHECKSET: {}", CheckSet);
  56. SPDLOG_INFO("EventTimeValid: {}", EventTimeValid);
  57. }
  58. /* 添加通道信息 */
  59. void GlobalConfig::setChannelInfo(std::map<int, std::string> mapChannelName)
  60. {
  61. m_rwLockChnInfo.lockForWrite();
  62. m_mapChannelName.clear();
  63. m_mapChannelName = mapChannelName;
  64. m_rwLockChnInfo.unlock();
  65. }
  66. /* 清空通道信息 */
  67. void GlobalConfig::clearChannelInfo()
  68. {
  69. m_rwLockChnInfo.lockForWrite();
  70. m_mapChannelName.clear();
  71. m_rwLockChnInfo.unlock();
  72. }
  73. /* 获取通道名称 */
  74. std::string GlobalConfig::getChannelName(int ChannelID)
  75. {
  76. m_rwLockChnInfo.lockForRead();
  77. std::string strName = "";
  78. auto it = m_mapChannelName.find(ChannelID);
  79. if(it != m_mapChannelName.end())
  80. {
  81. strName = it->second;
  82. }
  83. m_rwLockChnInfo.unlock();
  84. return strName;
  85. }
  86. /* 添加摄像机信息 */
  87. void GlobalConfig::setCameraInfo(std::map<int, std::string> mapCameraName)
  88. {
  89. m_rwLockCamInfo.lockForWrite();
  90. m_mapCameraName.clear();
  91. m_mapCameraName = mapCameraName;
  92. m_rwLockCamInfo.unlock();
  93. }
  94. /* 获取摄像机名称 */
  95. std::string GlobalConfig::getCameraName(int CameraID)
  96. {
  97. m_rwLockCamInfo.lockForRead();
  98. std::string strName = "";
  99. auto it = m_mapCameraName.find(CameraID);
  100. if(it != m_mapCameraName.end())
  101. {
  102. strName = it->second;
  103. }
  104. m_rwLockCamInfo.unlock();
  105. return strName;
  106. }