#pragma once #include "XNMonitorServer_global.h" #include "DataMonitor.h" #include "TypeDefine.h" // 插件信息结构 struct PluginInfo { const char *name; // 插件名称,如 "C909_V1" const char *description; // 描述信息 const char *interface_version; // 接口版本,必须与主项目兼容 }; // C风格插件接口 - 确保ABI兼容性 extern "C" { // 获取插件信息 typedef PluginInfo *(*GetPluginInfoFunc)(); // 创建监控器实例 typedef DataMonitorBasePtr (*CreateMonitorFunc)(const char *interfaceName); // 销毁监控器实例 typedef void (*DestroyMonitorFunc)(const char *interfaceName); // 获取支持的接口列表 typedef const char **(*GetSupportedInterfacesFunc)(int *count); // 释放字符串数组 typedef void (*FreeStringArrayFunc)(const char **array); } // 插件接口版本 - 主项目一旦发布就不再修改 #define DATAMONITOR_PLUGIN_INTERFACE_VERSION "1.0.0"