lhtranmitterswitch.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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. * 扩展函数
  93. *===========================================================================*/
  94. /**
  95. * @brief 初始化动态库
  96. *
  97. * @return int
  98. */
  99. int LHTRANSMITTERSWITCH_EXPORT DoInitLibrary();
  100. /**
  101. * @brief 创建一个窗口,不设置WebAPI信息
  102. *
  103. * @param skintype
  104. * @return int
  105. */
  106. int LHTRANSMITTERSWITCH_EXPORT DoCreateOneWindow(int skintype, QWidget* parent);
  107. /**
  108. * @brief 设置WebAPI相关数据
  109. *
  110. * @param pData
  111. * @return int
  112. */
  113. int LHTRANSMITTERSWITCH_EXPORT DoSetWebAPIInfo(InitData* pData);
  114. /**
  115. * @brief 设置频率ID,在ESM8C上位机中只有一个频率
  116. *
  117. * @param frequencyID 正数是频率ID,-1是获取所有频率的信息
  118. * @return int
  119. */
  120. int LHTRANSMITTERSWITCH_EXPORT DoSetChannelInfo(ExecPlanInfo* info, bool useOnlineDB);
  121. /**
  122. * @brief 设置一页的卡片数量
  123. *
  124. * @param horNum 水平方向的卡片数量
  125. * @param verNum 垂直方向的卡片数量
  126. * @return int
  127. */
  128. int LHTRANSMITTERSWITCH_EXPORT DoSetOnePageCardNum(int horNum, int verNum);
  129. /**
  130. * @brief 获取一个频率的计划数据,只应用于本地数据库,下载到下位机用
  131. *
  132. * @param listPlan
  133. * @param channelID
  134. * @return int
  135. */
  136. int LHTRANSMITTERSWITCH_EXPORT DoGetPlanData(QList<OnePlanItemInfo>* listPlan, ExecPlanConfig* config, int channelID = 0);
  137. /**
  138. * @brief 设置一个频率的计划数据,只应用于本地数据库,从下位机读取到的数据
  139. *
  140. * @param listPlan
  141. * @param config
  142. * @param channelID
  143. * @return int
  144. */
  145. int LHTRANSMITTERSWITCH_EXPORT DoSetPlanData(QList<OnePlanItemInfo>& listPlan, ExecPlanConfig& config, int channelID = 0);
  146. /**
  147. * @brief 清空所有信息
  148. *
  149. * @return int
  150. */
  151. int LHTRANSMITTERSWITCH_EXPORT DoClearAll();
  152. }
  153. #endif // LHTRANSMITTERSWITCH_H