2025-06-08 12:48:04 +08:00
|
|
|
#ifndef VRCONFIG_H
|
|
|
|
|
#define VRCONFIG_H
|
|
|
|
|
|
2025-06-17 00:37:05 +08:00
|
|
|
#include "IVrConfig.h"
|
|
|
|
|
#include "tinyxml2.h"
|
2025-06-08 12:48:04 +08:00
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
/**
|
2025-06-17 00:37:05 +08:00
|
|
|
* @brief 实现IVrConfig接口的配置类
|
2025-06-08 12:48:04 +08:00
|
|
|
*/
|
|
|
|
|
class CVrConfig : public IVrConfig
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/**
|
2025-06-17 00:37:05 +08:00
|
|
|
* @brief 构造函数
|
2025-06-08 12:48:04 +08:00
|
|
|
*/
|
|
|
|
|
CVrConfig();
|
|
|
|
|
|
|
|
|
|
/**
|
2025-06-17 00:37:05 +08:00
|
|
|
* @brief 析构函数
|
2025-06-08 12:48:04 +08:00
|
|
|
*/
|
|
|
|
|
virtual ~CVrConfig();
|
|
|
|
|
|
|
|
|
|
/**
|
2025-06-17 00:37:05 +08:00
|
|
|
* @brief 加载配置文件
|
|
|
|
|
* @param filePath 配置文件路径
|
|
|
|
|
* @return 加载的配置结果
|
2025-06-08 12:48:04 +08:00
|
|
|
*/
|
|
|
|
|
virtual ConfigResult LoadConfig(const std::string& filePath) override;
|
|
|
|
|
|
|
|
|
|
/**
|
2025-06-17 00:37:05 +08:00
|
|
|
* @brief 保存配置文件
|
|
|
|
|
* @param filePath 配置文件路径
|
|
|
|
|
* @param configResult 配置结果
|
|
|
|
|
* @return 是否保存成功
|
2025-06-08 12:48:04 +08:00
|
|
|
*/
|
|
|
|
|
virtual bool SaveConfig(const std::string& filePath, ConfigResult& configResult) override;
|
2025-06-22 14:08:15 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 设置配置改变通知回调
|
|
|
|
|
* @param notify 通知接口指针
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetConfigChangeNotify(IVrConfigChangeNotify* notify) override;
|
2025-06-08 12:48:04 +08:00
|
|
|
|
2025-06-22 14:08:15 +08:00
|
|
|
private:
|
|
|
|
|
IVrConfigChangeNotify* m_pNotify = nullptr; // 配置改变通知回调
|
2025-06-08 12:48:04 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // VRCONFIG_H
|