2026-06-05 13:44:39 +09:00

55 lines
1.8 KiB
C#

using System;
using VisionCommon;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionCalibrator {
/// <summary>
/// 쿠드컨버터를 관리하는 매니저
/// </summary>
public static class CoordConverterManager {
private static object _lock = new object();
private static Dictionary<SubSysInfo, CoordConverter> _coordConverters = new Dictionary<SubSysInfo, CoordConverter>();
/// <summary>
/// 쿠드컨버터 에이전트를 Set한다.
/// </summary>
/// <param name="subSysInfo">SubSysInfo</param>
/// <param name="coordConverter">CoordConverter</param>
public static void SetAgent(SubSysInfo subSysInfo, CoordConverter coordConverter) {
lock (_lock) {
if (!_coordConverters.ContainsKey(subSysInfo)) {
_coordConverters.Add(subSysInfo, coordConverter);
}
}
}
/// <summary>
/// 쿠드컨버터 에이전트를 Get한다.
/// </summary>
/// <param name="subSysInfo">SubSysInfo</param>
/// <returns>CoordConverter</returns>
public static CoordConverter GetAgent(SubSysInfo subSysInfo) {
lock (_lock) {
if (_coordConverters.ContainsKey(subSysInfo)) {
return _coordConverters[subSysInfo];
}
}
return null;
}
/// <summary>
/// 모든 쿠드컨버터 에이전트를 Get한다.
/// </summary>
/// <returns>쿠드컨버터 딕셔너리</returns>
public static Dictionary<SubSysInfo, CoordConverter> GetAgents() {
lock (_lock) {
return new Dictionary<SubSysInfo, CoordConverter>(_coordConverters);
}
}
}
}