55 lines
1.8 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|