/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
using VisionCommon;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionCalibrator {
///
/// 쿠드컨버터를 관리하는 매니저
///
public static class CoordConverterManager {
private static object _lock = new object();
private static Dictionary _coordConverters = new Dictionary();
///
/// 쿠드컨버터 에이전트를 Set한다.
///
/// SubSysInfo
/// CoordConverter
public static void SetAgent(SubSysInfo subSysInfo, CoordConverter coordConverter) {
lock (_lock) {
if (!_coordConverters.ContainsKey(subSysInfo)) {
_coordConverters.Add(subSysInfo, coordConverter);
}
}
}
///
/// 쿠드컨버터 에이전트를 Get한다.
///
/// SubSysInfo
/// CoordConverter
public static CoordConverter GetAgent(SubSysInfo subSysInfo) {
lock (_lock) {
if (_coordConverters.ContainsKey(subSysInfo)) {
return _coordConverters[subSysInfo];
}
}
return null;
}
///
/// 모든 쿠드컨버터 에이전트를 Get한다.
///
/// 쿠드컨버터 딕셔너리
public static Dictionary GetAgents() {
lock (_lock) {
return new Dictionary(_coordConverters);
}
}
}
}