# ETMS C++ — 事件与任务管理软件核心库 ## 概述 ETMS C++ 是战场任务规划系统 (BTPS) 的核心组件,提供事件管理、 任务模板管理等基础能力。本项目以 C++17 编写,通过 CMake 构建, 无任何外部第三方依赖,适合作为 ETMS 系统 C++ 后端的基础原型。 ## 工程结构 ``` . ├── CMakeLists.txt # CMake 构建配置 ├── README.md # 本文件 ├── include/ │ ├── app.hpp # 应用主入口头文件 │ ├── event_manager.hpp # 事件管理器头文件 │ └── task_template_manager.hpp # 任务模板管理器头文件 ├── src/ │ ├── main.cpp # 命令行入口 │ ├── app.cpp # 应用实现 │ ├── event_manager.cpp # 事件管理器实现 │ └── task_template_manager.cpp # 任务模板管理器实现 └── tests/ └── basic_test.cpp # 单元测试(标准 assert) ``` ## 构建与运行 ```bash # 配置 mkdir -p build && cd build cmake .. # 构建主程序 cmake --build . --target etms_app # 运行主程序 ./etms_app # 构建并运行测试 cmake --build . --target etms_test ctest --output-on-failure ``` ## 核心模块 ### EventManager(事件管理器) - 事件接收与状态流转(Received → Processed → PendingTask → TaskGenerated) - 事件列表分页查询与排序 - 事件等级颜色标识 ### TaskTemplateManager(任务模板管理器) - 模板增删改查 - 版本管理与知识库版本切换 - 模板排序与展示 ## 数据模型 | 模型 | 说明 | |------|------| | `Event` | 战场事件,含 ID、类型、时间、等级、坐标等 | | `TaskTemplate` | 任务模板,含 ID、名称、版本、元数据等 | | `KbVersion` | 知识库版本,含版本号、发布日期、活跃标志 |