#ifndef CAIALARMMSGINFO_H #define CAIALARMMSGINFO_H #include #include #include #include "intelli_alm_api/CIntelliAlmApi4Clt.h" #include #include #include #include enum E_AiALARM_LOGICSTATE { E_AiALM_IALS_NORMAL = 1, //正常 E_AIALM_IALS_DELETED = 2, //已删除 E_AIALM_IALS_BROKEN = 3, //不完整的 }; class CAiAlarmMsgInfo { public: CAiAlarmMsgInfo(); CAiAlarmMsgInfo(const CAiAlarmMsgInfo &other); void initialize(const iot_idl::SIntelliAlmInfo &alarmInfo); //< [优先级越小表示越大]-智能告警窗调用 bool ailessThan(const AlarmMsgPtr &info, E_ALARM_SORTKEY sortkey = E_SORT_PRIORITY); bool aimoreThan(const AlarmMsgPtr &info, E_ALARM_SORTKEY sortkey = E_SORT_PRIORITY); bool ailessThan(const AiAlarmMsgPtr &info, E_ALARM_SORTKEY sortkey = E_SORT_PRIORITY); bool aimoreThan(const AiAlarmMsgPtr &info, E_ALARM_SORTKEY sortkey = E_SORT_PRIORITY); E_AiALARM_LOGICSTATE logic_state; //< 状态 E_ALARM_LOGICSTATE main_state; //< 主告警逻辑状态 qint32 domain_id; //< 域ID qint32 priority; //< 告警优先级id quint64 time_stamp; //< 时标(RFC1305、POSIX时标标准) QString uuid_base64; //< uuid 主键 QString content; //< 告警内容 QString disposal_plan; //< 处置预案 QVector raw_alm_uuid; //< 关联的原始告警uuid //< Extend qint32 priorityOrder; //< 优先级 bool deleteFlag; //< 是否被删除 bool brokenFlag; //< 是否不完整 bool releaseFlag; //< 是否被释放 //和主原始告警相关 bool m_needVideoAlm; //是否需要视频告警 qint32 app_id; //主原始告警应用id QString main_uuid_base64; //主原始告警uuid QString key_id_tag; //主原始告警标签 E_TAGNAME_TYPE m_tagname_type; }; bool operator==(const CAiAlarmMsgInfo &source, const CAiAlarmMsgInfo &target); Q_DECLARE_METATYPE(CAiAlarmMsgInfo) Q_DECLARE_METATYPE(AiAlarmMsgPtr) #endif // CAIALARMMSGINFO_H