45 lines
1.3 KiB
C
45 lines
1.3 KiB
C
|
|
#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();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 设置配置变化通知回调
|
|||
|
|
void SetConfigChangeNotify(IVrConfigChangeNotify* notify) {
|
|||
|
|
if (m_pVrConfig) {
|
|||
|
|
m_pVrConfig->SetConfigChangeNotify(notify);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected:
|
|||
|
|
// 重写默认配置初始化,提供 TunnelChannel 特定的默认配置
|
|||
|
|
bool _InitializeDefaultConfig() override;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif // CONFIGMANAGER_H
|