34 lines
941 B
C
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" |