41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
using VisionCommon;
|
|
using System.Collections.Generic;
|
|
|
|
namespace VisionDirector {
|
|
/// <summary>
|
|
/// MotionDirector를 관리하는 매니저
|
|
/// </summary>
|
|
public class MotionDirectorManager {
|
|
private readonly object _objectLock = new object();
|
|
private Dictionary<SubSysInfo, MotionDirector> _directors = new Dictionary<SubSysInfo, MotionDirector>();
|
|
|
|
/// <summary>
|
|
/// MotionDirector를 Set한다.
|
|
/// </summary>
|
|
/// <param name="subSysInfo">SubSysInfo(KEY)</param>
|
|
/// <param name="moverAgent">MotionDirector(VALUE)</param>
|
|
public void SetDirector(SubSysInfo subSysInfo, MotionDirector moverAgent) {
|
|
lock (_objectLock) {
|
|
if (!_directors.ContainsKey(subSysInfo)) {
|
|
_directors.Add(subSysInfo, moverAgent);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// MotionDirector를 Get한다.
|
|
/// </summary>
|
|
/// <param name="subSysInfo">SubSysInfo(KEY)</param>
|
|
/// <returns>MotionDirector(VALUE)</returns>
|
|
public MotionDirector GetDirector(SubSysInfo subSysInfo) {
|
|
lock (_objectLock) {
|
|
if (_directors.ContainsKey(subSysInfo)) {
|
|
return _directors[subSysInfo];
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|