/// <summary> /// Добавляет порт в список прослушиваемых /// </summary> public void RegisterPort(CanPort Port) { foreach (var descriptor in _descriptors) { var h = new CanFrameHandler(Port, descriptor); h.Received += Handler_FrameReceived; _handlers.Add(h); } }
/// <summary> /// Создаёт поток вокруг выбранного Can-порта /// </summary> /// <param name="Port">Can-порт, поток с которого нужно буферизировать</param> /// <param name="Descriptors">Список обрабатываемых дескрипторов</param> public CanFlow(CanPort Port, params int[] Descriptors) { this.Port = Port; this.Descriptors = new ReadOnlyCollection<int>(Descriptors.Distinct().ToList()); foreach (var d in this.Descriptors) { var h = new CanFrameHandler(Port, d); h.Received += Handler_MessageReceived; _handlers.Add(h); } }
/// <summary> /// Создаёт поток вокруг выбранного Can-порта /// </summary> /// <param name="Port">Can-порт, поток с которого нужно буферизировать</param> /// <param name="Descriptors">Список обрабатываемых дескрипторов</param> public CanFlow(CanPort Port, params int[] Descriptors) { this.Port = Port; this.Descriptors = new ReadOnlyCollection <int>(Descriptors.Distinct().ToList()); foreach (var d in this.Descriptors) { var h = new CanFrameHandler(Port, d); h.Received += Handler_MessageReceived; _handlers.Add(h); } }
internal void UnHandle(CanFrameHandler h) { lock (_handlers) _handlers.Remove(h); }
internal void Handle(CanFrameHandler h) { lock (_handlers) _handlers.Add(h); }