DeviceManager.h 1.4 KB

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