2025-12-29 01:16:58 +08:00
|
|
|
|
#ifndef CONFIGMANAGER_H
|
|
|
|
|
|
#define CONFIGMANAGER_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "IVrConfig.h" // 必须在 BaseConfigManager.h 之前包含
|
|
|
|
|
|
#include "BaseConfigManager.h"
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief TunnelChannel 应用的配置管理器
|
|
|
|
|
|
*
|
|
|
|
|
|
* 继承自 BaseConfigManager,提供 TunnelChannel 特定的配置处理逻辑
|
|
|
|
|
|
*/
|
|
|
|
|
|
class ConfigManager : public BaseConfigManager
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
ConfigManager() = default;
|
|
|
|
|
|
~ConfigManager() = default;
|
|
|
|
|
|
|
|
|
|
|
|
// 重写 Initialize 以禁用共享内存监控(TunnelChannelApp 不需要)
|
|
|
|
|
|
bool Initialize(const std::string& configFilePath = "") override;
|
|
|
|
|
|
|
|
|
|
|
|
// 实现 LoadConfigFromFile 以适配 TunnelChannel 的 IVrConfig API
|
|
|
|
|
|
bool LoadConfigFromFile(const std::string& filePath) override;
|
|
|
|
|
|
|
|
|
|
|
|
// 获取海康相机配置列表
|
|
|
|
|
|
std::vector<HikCameraConfig> GetHikCameraList() const;
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前配置(便捷方法,直接返回 ConfigResult)
|
|
|
|
|
|
ConfigResult GetCurrentConfig() const {
|
|
|
|
|
|
return GetConfigResult();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-07 00:34:37 +08:00
|
|
|
|
// 获取配置文件路径
|
|
|
|
|
|
std::string GetConfigFilePath() const {
|
|
|
|
|
|
return m_configFilePath;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-29 01:16:58 +08:00
|
|
|
|
// 设置配置变化通知回调
|
|
|
|
|
|
void SetConfigChangeNotify(IVrConfigChangeNotify* notify) {
|
|
|
|
|
|
if (m_pVrConfig) {
|
|
|
|
|
|
m_pVrConfig->SetConfigChangeNotify(notify);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// 重写默认配置初始化,提供 TunnelChannel 特定的默认配置
|
|
|
|
|
|
bool _InitializeDefaultConfig() override;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // CONFIGMANAGER_H
|