XNSim/XNMonitorServer/PluginInterface.h

34 lines
941 B
C

#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"