/* * 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); } } } }