#pragma once // 定义跨平台导出宏 #ifdef _WIN32 #define LDM_API __declspec(dllexport) #define LDM_C_API extern "C" __declspec(dllexport) #else #define LDM_API __attribute__((visibility("default"))) #define LDM_C_API extern "C" #endif extern "C" { struct OpenReply { char* message; char* context; }; struct DoResponse { char* reqName; char* RespResult ; char* retContext; }; LDM_API const char* add_driver(char* driverName); LDM_API const char* get_all_device(int rpcPort, int httpPort); //返回以;分割的可以Open的设备URI列表 LDM_API int open_device(int devIdx, char* devUri, char* devGroup, void** reply); LDM_API int close_device(int devIdx, char* devUri, char* devGroup, void** reply); LDM_API int device_get(int devIdx, char* devUri, char* devProperty, void** reply); LDM_API int device_set(int devIdx, char* devUri, char* devProperty, char* devValueSet, void** reply); LDM_API int device_update(int devIdx, char* devUri, char* devProperty, char* devValueUpdate, void** reply); LDM_API int device_add(int devIdx, char* devUri, char* devProperty, char* devValueAdd, void** reply); LDM_API int device_del(int devIdx, char* devUri, char* devProperty, char* devValueDel, void** reply); LDM_API int device_action(int devIdx, char* devUri, char* devFunction, char* devReqParams, void** reply); LDM_API int device_message(int devIdx, char* devUri, char* devTopic, char* devMessageValue, void** reply); LDM_API int free_struct(void* pPoirnt, int nItemCount); }