lhtranmitterswitch.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. #ifndef LHTRANSMITTERSWITCH_H
  2. #define LHTRANSMITTERSWITCH_H
  3. #include <QtCore/qglobal.h>
  4. #include <QWidget>
  5. #if defined(LHTRANSMITTERSWITCH_LIBRARY)
  6. # define LHTRANSMITTERSWITCH_EXPORT Q_DECL_EXPORT
  7. #else
  8. # define LHTRANSMITTERSWITCH_EXPORT Q_DECL_IMPORT
  9. #endif
  10. struct InitData;
  11. struct ExecPlanInfo;
  12. struct OnePlanItemInfo;
  13. struct ExecPlanConfig;
  14. /* 回调函数 */
  15. using trackCallBack = void(*)(int actionID, QString strMemo);
  16. extern "C"
  17. {
  18. //------------------------------------------------------------------------
  19. //函 数: DoInit()
  20. //
  21. //说 明:初始化dll
  22. //
  23. //参 数:
  24. // pData: 初始化数据
  25. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  26. //------------------------------------------------------------------------
  27. int LHTRANSMITTERSWITCH_EXPORT DoInit(const InitData* pData);
  28. //------------------------------------------------------------------------
  29. //函 数: DoCreateWindow(int skintype, QWidget* parent)
  30. //
  31. //说 明: 创建窗口
  32. //
  33. //参 数: skintype:皮肤类型 0 白色风格 1 黑色风格
  34. // parent 父窗口指针(父窗口隐藏子窗口也会隐藏,这里是必填)
  35. //
  36. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  37. //------------------------------------------------------------------------
  38. int LHTRANSMITTERSWITCH_EXPORT DoCreateWindow(int skintype, QWidget* parent);
  39. //------------------------------------------------------------------------
  40. //函 数: DoShowWindow(int skintype, int serviceid, bool showWindow)
  41. //
  42. //说 明: 设置窗口显示状态、加载配置信息
  43. //
  44. //参 数: skintype 皮肤类型
  45. // serviceid: 服务id唯一标识,如果小于0界面显示默认值,大于0获取对应的配置数据
  46. // showWindow: true 显示 false 隐藏
  47. //
  48. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  49. //------------------------------------------------------------------------
  50. int LHTRANSMITTERSWITCH_EXPORT DoShowWindow(int skintype, bool showWindow);
  51. //------------------------------------------------------------------------
  52. //函 数: DoGetExecPlanFromEQM
  53. //
  54. //说 明: 从EQM数据库中获取计划数据
  55. //
  56. //参 数: 无
  57. //
  58. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  59. //------------------------------------------------------------------------
  60. int LHTRANSMITTERSWITCH_EXPORT DoGetExecPlanFromEQM();
  61. //------------------------------------------------------------------------
  62. //函 数: DoSaveExecPlanToEQM
  63. //
  64. //说 明: 保存计划到EQM数据库中
  65. //
  66. //参 数: 无
  67. //
  68. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  69. //------------------------------------------------------------------------
  70. int LHTRANSMITTERSWITCH_EXPORT DoSaveExecPlanToEQM();
  71. //------------------------------------------------------------------------
  72. //函 数: DoRelease()
  73. //
  74. //说 明: 释放资源
  75. //
  76. //参 数: void
  77. //
  78. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  79. //------------------------------------------------------------------------
  80. int LHTRANSMITTERSWITCH_EXPORT DoRelease();
  81. //------------------------------------------------------------------------
  82. //函 数: DoSetCallBack()
  83. //
  84. //说 明: 释放资源
  85. //
  86. //参 数: trackCallBack 函数指针
  87. //
  88. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  89. //------------------------------------------------------------------------
  90. int LHTRANSMITTERSWITCH_EXPORT DoSetCallBack(trackCallBack cb);
  91. //------------------------------------------------------------------------
  92. //函 数: DoSetCallBack()
  93. //
  94. //说 明: 释放资源
  95. //
  96. //参 数: trackCallBack 函数指针
  97. //
  98. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  99. //------------------------------------------------------------------------
  100. int LHTRANSMITTERSWITCH_EXPORT DoSetUserPermission(int USerPermission);
  101. //------------------------------------------------------------------------
  102. //函 数: DoSetNowExecPlan()
  103. //
  104. //说 明: 设置某个频率当前进入倒计时的计划
  105. //
  106. //参 数: trackCallBack 函数指针
  107. //
  108. //返 回 值:0:成功; 其他:失败(详见返回码定义)
  109. //------------------------------------------------------------------------
  110. // int LHTRANSMITTERSWITCH_EXPORT DoSetNowExecPlan(int chnID, int onWeekDay, QDateTime onDateTime, int offWeekDay, QDateTime offDateTime);
  111. /*===========================================================================
  112. * 扩展函数
  113. *===========================================================================*/
  114. /**
  115. * @brief 初始化动态库
  116. *
  117. * @return int
  118. */
  119. int LHTRANSMITTERSWITCH_EXPORT DoInitLibrary();
  120. /**
  121. * @brief 创建一个窗口,不设置WebAPI信息
  122. *
  123. * @param skintype
  124. * @return int
  125. */
  126. int LHTRANSMITTERSWITCH_EXPORT DoCreateOneWindow(int skintype, QWidget* parent);
  127. /**
  128. * @brief 设置WebAPI相关数据
  129. *
  130. * @param pData
  131. * @return int
  132. */
  133. int LHTRANSMITTERSWITCH_EXPORT DoSetWebAPIInfo(InitData* pData);
  134. /**
  135. * @brief 设置频率ID,在ESM8C上位机中只有一个频率
  136. *
  137. * @param frequencyID 正数是频率ID,-1是获取所有频率的信息
  138. * @return int
  139. */
  140. int LHTRANSMITTERSWITCH_EXPORT DoSetChannelInfo(ExecPlanInfo* info, bool useOnlineDB);
  141. /**
  142. * @brief 设置一页的卡片数量
  143. *
  144. * @param horNum 水平方向的卡片数量
  145. * @param verNum 垂直方向的卡片数量
  146. * @return int
  147. */
  148. int LHTRANSMITTERSWITCH_EXPORT DoSetOnePageCardNum(int horNum, int verNum);
  149. /**
  150. * @brief 获取一个频率的计划数据,只应用于本地数据库,下载到下位机用
  151. *
  152. * @param listPlan
  153. * @param channelID
  154. * @return int
  155. */
  156. int LHTRANSMITTERSWITCH_EXPORT DoGetPlanData(QList<OnePlanItemInfo>* listPlan, ExecPlanConfig* config, int channelID = 0);
  157. /**
  158. * @brief 设置一个频率的计划数据,只应用于本地数据库,从下位机读取到的数据
  159. *
  160. * @param listPlan
  161. * @param config
  162. * @param channelID
  163. * @return int
  164. */
  165. int LHTRANSMITTERSWITCH_EXPORT DoSetPlanData(QList<OnePlanItemInfo>& listPlan, ExecPlanConfig& config, int channelID = 0);
  166. /**
  167. * @brief 清空所有信息
  168. *
  169. * @return int
  170. */
  171. int LHTRANSMITTERSWITCH_EXPORT DoClearAll();
  172. }
  173. #endif // LHTRANSMITTERSWITCH_H