AlarmInfo.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef _ALARMINFO_H_
  2. #define _ALARMINFO_H_
  3. #include <QDateTime>
  4. #include <string>
  5. #include "GlobalVariable.h"
  6. /**
  7. * @brief 录音通道类型
  8. *
  9. */
  10. enum class ERoadType
  11. {
  12. RoadType_Main = 0, /* 主输出 */
  13. RoadType_SpaceReceive, /* 空间接收 */
  14. RoadType_SpaceSend, /* 空间发送 */
  15. };
  16. /**
  17. * @brief 报警类型
  18. *
  19. */
  20. enum class EAlarmType
  21. {
  22. EAT_None = 0, /* 无报警 */
  23. EAT_Silent, /* 静音报警 */
  24. EAT_Overload, /* 过载报警 */
  25. EAT_Reversed, /* 反相报警 */
  26. EAR_Consistency, /* 一致性报警 */
  27. EAT_Noise, /* 噪音报警 */
  28. EAT_Unknown, /* 未知报警 */
  29. };
  30. /**
  31. * @brief 报警结构体
  32. *
  33. */
  34. struct AlarmInfo_t
  35. {
  36. bool isAlarm = false; /* 是否报警 */
  37. int CompareItemID = 0; /* 对比项ID */
  38. std::string strCompareItemName; /* 对比项名称 */
  39. CompareItemRoadInfo_t RoadInfo; /* 录音通道信息 */
  40. ERoadType RoadType; /* 录音通道类型 */
  41. EAlarmType AlarmType = EAlarmType::EAT_None; /* 报警类型 */
  42. QDateTime StartTime; /* 报警开始时间 */
  43. QDateTime EndTime; /* 报警结束时间 */
  44. // std::string strAlarmStartTime; /* 报警发生时间 */
  45. // std::string strAlarmEndTime; /* 报警结束时间 */
  46. // std::string strAlarmExistTime; /* 报警持续时间 */
  47. std::string strAlarmFilePath; /* 报警文件路径 */
  48. int AlarmStartPos = 0; /* 报警开始位置 */
  49. QDateTime AlarmFileStartTime; /* 录音文件开始时间 */
  50. AlarmInfo_t() = default;
  51. AlarmInfo_t(const AlarmInfo_t& obj) { *this = obj; }
  52. AlarmInfo_t& operator=(const AlarmInfo_t& obj);
  53. /* 比较是否相等,主要是比较是否报警、通道ID,报警类型,报警时间 */
  54. bool operator==(const AlarmInfo_t& other) const;
  55. };
  56. #endif // _ALARMINFO_H_