/** * @file XNScenarioDescriptor.h * @author jinchao * @brief 运行环境描述管理器类头文件 * @version 1.0 * @date 2024-11-07 * * @copyright Copyright (c) 2024 XN * */ #pragma once #include "XNBaseFrameObject.h" struct XNScenarioManagerPrivate; /** * @brief 运行环境描述管理器类 * @details 主要负责解析运行环境配置文件来设置系统运行参数。 */ class XNScenarioManager : public XNBaseFrameObject { XN_METATYPE(XNScenarioManager, XNBaseFrameObject) XN_DECLARE_PRIVATE(XNScenarioManager) public: /** * @brief 运行环境描述管理器类默认构造函数 */ XNScenarioManager(); /** * @brief 运行环境描述管理器类析构函数 */ virtual ~XNScenarioManager(); protected: /** * @brief 运行环境描述管理器类带参构造函数 * @param p:私有结构体指针 * @details 子类构造时调用此构造函数,传入子类的私有结构体指针 */ XNScenarioManager(PrivateType *p); public: /** * @brief 获取运行环境名称 * @return const XNString&: 运行环境名称 */ const std::string &GetSimName(); /** * @brief 设置运行环境名称 * @param simName: XNString类型,运行环境名称 */ void SetSimName(const std::string &simName); public: /** * @brief 初始化运行环境描述管理器 * @return true: 初始化成功 * @return false: 初始化失败 * @details 运行环境描述管理器的初始化接口函数 */ virtual bool Initialize() override; /** * @brief 仿真运行前最后处理 * @note 运行环境描述管理器在系统运行开始前的准备工作 */ virtual bool PrepareForExecute() override; /** * @brief 运行环境配置文件解析 * @param XmlPath: std::string类型,运行环境配置文件解析路径 * @param initialType: uint32_t类型,初始化类型 * @return true: 解析成功 * @return false: 解析失败 */ virtual bool AnalysisScenarioXml(const std::string &XmlPath, uint32_t initialType); private: /** * @brief 解析运行环境配置文件 * @param XmlPath: std::string类型,运行环境配置文件解析路径 * @return true: 解析成功 * @return false: 解析失败 */ bool ParseScenarioXml(const std::string &XmlPath); /** * @brief 解析构型配置文件 * @param ConfigID: std::string类型,构型配置文件在数据库中的ID * @return true: 解析成功 * @return false: 解析失败 */ bool ParseConfig(const std::string &ConfigID); };