#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 GetHikCameraList() const; // 获取当前配置(便捷方法,直接返回 ConfigResult) ConfigResult GetCurrentConfig() const { return GetConfigResult(); } // 获取配置文件路径 std::string GetConfigFilePath() const { return m_configFilePath; } // 设置配置变化通知回调 void SetConfigChangeNotify(IVrConfigChangeNotify* notify) { if (m_pVrConfig) { m_pVrConfig->SetConfigChangeNotify(notify); } } protected: // 重写默认配置初始化,提供 TunnelChannel 特定的默认配置 bool _InitializeDefaultConfig() override; }; #endif // CONFIGMANAGER_H