完成框架目录和模块重构;新增核心、单例、工具、加密及框架 SDK;统一任务、相机和 RPC 接口,并增加离线检测、相机标定、备份恢复、版本管理、崩溃守护和心跳监控功能。
57 lines
2.0 KiB
C
57 lines
2.0 KiB
C
#pragma once
|
|
|
|
#include <eui_frameworkSdk/IMissionConfig.h>
|
|
#include <eui_frameworkSdk/IMissionAlgo.h>
|
|
#include <eui_frameworkSdk/FrameworkSdkVersion.h>
|
|
|
|
#include <QtCore/qglobal.h>
|
|
|
|
extern "C"
|
|
{
|
|
// 编排/config 工厂(V1)。
|
|
// 创建 mission 配置实例。
|
|
using CreateMissionConfigV1Func = eui_frameworkSdk::IMissionConfig* (*)();
|
|
// 销毁 mission 配置实例。
|
|
using DestroyMissionConfigV1Func = void (*)(eui_frameworkSdk::IMissionConfig* mission);
|
|
|
|
// 算法工厂(V1,可选——仅拆分算法的 mission 导出)。
|
|
// 创建 mission 算法实例。
|
|
using CreateMissionAlgoV1Func = eui_frameworkSdk::IMissionAlgo* (*)();
|
|
// 销毁 mission 算法实例。
|
|
using DestroyMissionAlgoV1Func = void (*)(eui_frameworkSdk::IMissionAlgo* algo);
|
|
|
|
// 获取插件使用的 SDK ABI 版本。
|
|
using FrameworkSdkAbiVersionFunc = int (*)();
|
|
}
|
|
|
|
// 导出编排 mission 的完整符号集:abi 版本 + config 工厂。
|
|
#define FRAMEWORK_SDK_EXPORT_MISSION_V1(ConfigType) \
|
|
/* 返回插件使用的 SDK ABI 版本。 */ \
|
|
extern "C" Q_DECL_EXPORT int frameworkSdkAbiVersion() \
|
|
{ \
|
|
return eui_frameworkSdk::kFrameworkSdkAbiVersion; \
|
|
} \
|
|
/* 创建 mission 配置实例。 */ \
|
|
extern "C" Q_DECL_EXPORT eui_frameworkSdk::IMissionConfig* createMissionConfigV1() \
|
|
{ \
|
|
return new ConfigType(); \
|
|
} \
|
|
/* 销毁 mission 配置实例。 */ \
|
|
extern "C" Q_DECL_EXPORT void destroyMissionConfigV1(eui_frameworkSdk::IMissionConfig* mission) \
|
|
{ \
|
|
delete mission; \
|
|
}
|
|
|
|
// 导出可独立热重载的算法单元(可选,与上面的宏配合使用)。
|
|
#define FRAMEWORK_SDK_EXPORT_MISSION_ALGO_V1(AlgoType) \
|
|
/* 创建 mission 算法实例。 */ \
|
|
extern "C" Q_DECL_EXPORT eui_frameworkSdk::IMissionAlgo* createMissionAlgoV1() \
|
|
{ \
|
|
return new AlgoType(); \
|
|
} \
|
|
/* 销毁 mission 算法实例。 */ \
|
|
extern "C" Q_DECL_EXPORT void destroyMissionAlgoV1(eui_frameworkSdk::IMissionAlgo* algo) \
|
|
{ \
|
|
delete algo; \
|
|
}
|