#ifndef _ALARMINFO_H_ #define _ALARMINFO_H_ #include #include #include "GlobalVariable.h" /** * @brief 录音通道类型 * */ enum class ERoadType { RoadType_Main = 0, /* 主输出 */ RoadType_SpaceReceive, /* 空间接收 */ RoadType_SpaceSend, /* 空间发送 */ }; /** * @brief 报警类型 * */ enum class EAlarmType { EAT_None = 0, /* 无报警 */ EAT_Silent, /* 静音报警 */ EAT_Overload, /* 过载报警 */ EAT_Reversed, /* 反相报警 */ EAR_Consistency, /* 一致性报警 */ EAT_Noise, /* 噪音报警 */ EAT_Unknown, /* 未知报警 */ }; /** * @brief 报警结构体 * */ struct AlarmInfo_t { bool isAlarm = false; /* 是否报警 */ int CompareItemID = 0; /* 对比项ID */ std::string strCompareItemName; /* 对比项名称 */ CompareItemRoadInfo_t RoadInfo; /* 录音通道信息 */ ERoadType RoadType; /* 录音通道类型 */ EAlarmType AlarmType = EAlarmType::EAT_None; /* 报警类型 */ QDateTime StartTime; /* 报警开始时间 */ QDateTime EndTime; /* 报警结束时间 */ // std::string strAlarmStartTime; /* 报警发生时间 */ // std::string strAlarmEndTime; /* 报警结束时间 */ // std::string strAlarmExistTime; /* 报警持续时间 */ std::string strAlarmFilePath; /* 报警文件路径 */ int AlarmStartPos = 0; /* 报警开始位置 */ QDateTime AlarmFileStartTime; /* 录音文件开始时间 */ AlarmInfo_t() = default; AlarmInfo_t(const AlarmInfo_t& obj) { *this = obj; } AlarmInfo_t& operator=(const AlarmInfo_t& obj); /* 比较是否相等,主要是比较是否报警、通道ID,报警类型,报警时间 */ bool operator==(const AlarmInfo_t& other) const; }; #endif // _ALARMINFO_H_