DeviceManager.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. // 定义跨平台导出宏
  3. #ifdef _WIN32
  4. #define LDM_API __declspec(dllexport)
  5. #define LDM_C_API extern "C" __declspec(dllexport)
  6. #else
  7. #define LDM_API __attribute__((visibility("default")))
  8. #define LDM_C_API extern "C"
  9. #endif
  10. extern "C" {
  11. struct OpenReply {
  12. char* message;
  13. char* context;
  14. };
  15. struct DoResponse {
  16. char* reqName;
  17. char* RespResult ;
  18. char* retContext;
  19. };
  20. LDM_API const char* add_driver(char* driverName);
  21. LDM_API const char* get_all_device(int rpcPort, int httpPort); //返回以;分割的可以Open的设备URI列表
  22. LDM_API int open_device(int devIdx, char* devUri, char* devGroup, void** reply);
  23. LDM_API int close_device(int devIdx, char* devUri, char* devGroup, void** reply);
  24. LDM_API int device_get(int devIdx, char* devUri, char* devProperty, void** reply);
  25. LDM_API int device_set(int devIdx, char* devUri, char* devProperty, char* devValueSet, void** reply);
  26. LDM_API int device_update(int devIdx, char* devUri, char* devProperty, char* devValueUpdate, void** reply);
  27. LDM_API int device_add(int devIdx, char* devUri, char* devProperty, char* devValueAdd, void** reply);
  28. LDM_API int device_del(int devIdx, char* devUri, char* devProperty, char* devValueDel, void** reply);
  29. LDM_API int device_action(int devIdx, char* devUri, char* devFunction, char* devReqParams, void** reply);
  30. LDM_API int device_message(int devIdx, char* devUri, char* devTopic, char* devMessageValue, void** reply);
  31. LDM_API int free_struct(void* pPoirnt, int nItemCount);
  32. }