using System.Collections.Concurrent; namespace RR.Common.Controls { internal sealed class DefaultComControllerHandler : IComControllerHandler { private readonly string _deviceId; private readonly ConcurrentQueue _coinQueue; private readonly ConcurrentQueue _inputQueue; public DefaultComControllerHandler( string deviceId, ConcurrentQueue coinQueue, ConcurrentQueue inputQueue) { _deviceId = deviceId; _coinQueue = coinQueue; _inputQueue = inputQueue; } public void HandleCoinAccepted() { _coinQueue.Enqueue(_deviceId); } public void HandleInputReceived(string inputBits) { _inputQueue.Enqueue(new DeviceInputMessage(_deviceId, inputBits)); } public void HandleRawLine(string line) { // Для контроллера по умолчанию обработка сырых строк не требуется. } public void Dispose() { } } }