123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #ifndef LHTRANSMITTERSWITCHAPI_H
- #define LHTRANSMITTERSWITCHAPI_H
- #include <QString>
- #include <QWidget>
- #include <QDateTime>
- /**
- * @brief 周几枚举
- *
- */
- enum class enum_WeekDay : int
- {
- WeekDay_Mon = 1, /* 周一 */
- WeekDay_Tue = 2, /* 周二 */
- WeekDay_Wed = 3, /* 周三 */
- WeekDay_Thu = 4, /* 周四 */
- WeekDay_Fri = 5, /* 周五 */
- WeekDay_Sat = 6, /* 周六 */
- WeekDay_Sun = 7, /* 周日 */
- WeekDay_Special = 8 /* 特殊日 */
- };
- /* 初始化数据 */
- struct InitData
- {
- QString url;
- QString serverID;
- QString serverKey;
- };
- /**
- * @brief 用于传输执行计划相关的信息
- *
- */
- struct ExecPlanInfo
- {
- int ChannelID = -1; /* 频率ID */
- QString ChannelName; /* 频率名称 */
- QString DatabasePath; /* 数据库路径 */
- ExecPlanInfo& operator=(const ExecPlanInfo& info)
- {
- ChannelID = info.ChannelID;
- ChannelName = info.ChannelName;
- DatabasePath = info.DatabasePath;
- return *this;
- }
- };
- /**
- * @brief 页面的其他配置信息
- *
- */
- struct ExecPlanConfig
- {
- int isUsingPlan; /* 是否使用执行计划,0不使用,1使用 */
- int execMdoe; /* 执行模式,0按时刻,1按天 */
- };
-
- /**
- * @brief 执行计划条目信息
- *
- */
- struct OnePlanItemInfo
- {
- int ChannelID; /* 频率ID */
- QString ChannelName; /* 频率名称 */
- enum_WeekDay onWeekDay; /* 周几,数据库里是1-7一周,周8是特殊日 */
- QDateTime onDateTime; /* 时间和日期 */
- enum_WeekDay offWeekDay; /* 周几,数据库里是1-7一周,周8是特殊日 */
- QDateTime offDateTime; /* 时间和日期 */
- OnePlanItemInfo();
- OnePlanItemInfo(const OnePlanItemInfo& item);
- OnePlanItemInfo& operator=(const OnePlanItemInfo& item);
- };
- /* 回调函数 */
- using trackCallBack = void(*)(int actionID, QString strMemo);
- class LHTransmitterSwitchAPI
- {
- using pInit = int(*)(const InitData*);
- using pCreateWindow = int(*)(int, QWidget*);
- using pShowWindow = int(*)(int, bool);
- using pGetExecPlanFromEQM = int(*)();
- using pSaveExecPlanToEQM = int(*)();
- using pRelease = int(*)();
- using pSetCallBack = int(*)(trackCallBack);
- using pDoInitLibrary = int(*)();
- using pCreateOneWindow = int(*)(int, QWidget*);
- using pSetWebAPIInfo = int(*)(const InitData*);
- using pSetChannelInfo = int(*)(ExecPlanInfo*, int);
- using pSetOnePageCardNum = int(*)(int, int);
- using pGetPlanData = int(*)(QList<OnePlanItemInfo>*, ExecPlanConfig*, int);
- using pSetPlanData = int(*)(QList<OnePlanItemInfo>*, ExecPlanConfig*, int);
- using pClearAll = int(*)();
- public:
- LHTransmitterSwitchAPI();
- ~LHTransmitterSwitchAPI();
- /* 加载动态库 */
- bool loadLibrary();
- int DoInit(const InitData* pData);
- int DoCreateWindow(int skintype, QWidget* parent);
- int DoShowWindow(int skintype, bool showWindow);
- int DoGetExecPlanFromEQM();
- int DoSaveExecPlanToEQM();
- int DoRelease();
- int DoSetCallBack(trackCallBack cb);
- int DoInitLibrary();
- int DoCreateOneWindow(int skintype, QWidget* parent);
- int DoSetWebAPIInfo(InitData* pData);
- int DoSetChannelInfo(ExecPlanInfo* info, bool useOnlineDB = true);
- int DoSetOnePageCardNum(int horNum, int verNum);
- int DoGetPlanData(QList<OnePlanItemInfo>* listPlan, ExecPlanConfig* config, int channelID = 0);
- int DoSetPlanData(QList<OnePlanItemInfo>* listPlan, ExecPlanConfig* config, int channelID = 0);
- int DoClearAll();
- private:
- pInit m_pInit = nullptr;
- pCreateWindow m_pCreateWindow = nullptr;
- pShowWindow m_pShowWindow = nullptr;
- pGetExecPlanFromEQM m_pGetExecPlanFromEQM = nullptr;
- pSaveExecPlanToEQM m_pSaveExecPlanToEQM = nullptr;
- pRelease m_pRelease = nullptr;
- pSetCallBack m_pSetCallBack = nullptr;
- pDoInitLibrary m_pDoInitLibrary = nullptr;
- pCreateOneWindow m_pCreateOneWindow = nullptr;
- pSetWebAPIInfo m_pSetWebAPIInfo = nullptr;
- pSetChannelInfo m_pSetChannelInfo = nullptr;
- pSetOnePageCardNum m_pSetOnePageCardNum = nullptr;
- pGetPlanData m_pGetPlanData = nullptr;
- pSetPlanData m_pSetPlanData = nullptr;
- pClearAll m_pClearAll = nullptr;
- };
- #endif /* LHTRANSMITTERSWITCHAPI_H */
|