public PaxDevice(ITerminalConfiguration settings) { settings.Validate(); this._settings = settings; switch (_settings.ConnectionMode) { case ConnectionModes.TCP_IP: _interface = new PaxTcpInterface(settings); break; case ConnectionModes.HTTP: _interface = new PaxHttpInterface(settings); break; case ConnectionModes.SERIAL: case ConnectionModes.SSL_TCP: throw new NotImplementedException(); } _interface.OnMessageSent += (message) => { if (this.OnMessageSent != null) { OnMessageSent(message); } }; }
internal DeviceController(ITerminalConfiguration settings) { _settings = settings; _connector = ConfigureConnector(); _connector.OnMessageSent += (message) => { OnMessageSent?.Invoke(message); }; }
internal GeniusController(ITerminalConfiguration settings) : base(settings) { if (settings.GatewayConfig is GeniusConfig) { _gatewayConfig = settings.GatewayConfig as GeniusConfig; } else { throw new ConfigurationException("GatewayConfig must be of type GeniusConfig for this device type."); } }
public IngenicoTcpInterface(ITerminalConfiguration settings) { _settings = settings; _client = new TcpClient();; _ipAddresses = new List <IPAddress>(); InitializeServer(); // Start listening to port. Connect(); // Accepting client connected to port. AcceptingClient(); }
internal DeviceController(ITerminalConfiguration settings) { _settings = settings; _connector = ConfigureConnector(); _connector.OnMessageSent += (message) => { OnMessageSent?.Invoke(message); }; _connector.OnBroadcastMessage += (code, message) => { OnBroadcastMessage?.Invoke(code, message); }; _connector.OnPayAtTableRequest += (request) => { OnPayAtTableRequest?.Invoke(request); }; }
internal HeartSipController(ITerminalConfiguration settings) : base(settings) { switch (_settings.ConnectionMode) { case ConnectionModes.TCP_IP: _interface = new HeartSipTcpInterface(settings); break; default: throw new NotImplementedException("Connection Method not available for HeartSIP devices"); } //_interface.Connect(); _interface.OnMessageSent += (message) => { OnMessageSent?.Invoke(message); }; }
internal PaxController(ITerminalConfiguration settings) : base(settings) { switch (_settings.ConnectionMode) { case ConnectionModes.TCP_IP: _interface = new PaxTcpInterface(settings); break; case ConnectionModes.HTTP: _interface = new PaxHttpInterface(settings); break; case ConnectionModes.SERIAL: case ConnectionModes.SSL_TCP: throw new NotImplementedException(); } //_interface.Connect(); _interface.OnMessageSent += (message) => { OnMessageSent?.Invoke(message); }; }
public PaxHttpInterface(ITerminalConfiguration settings) { _settings = settings; }
public PaxTcpInterface(ITerminalConfiguration settings) { _settings = settings; _await = new AutoResetEvent(false); }
internal PaxController(ITerminalConfiguration settings) : base(settings) { }
public GeniusHttpInterface(ITerminalConfiguration settings) { _settings = settings; _gatewayConfig = settings.GatewayConfig as GeniusConfig; }
public UpaTcpInterface(ITerminalConfiguration settings) { _settings = settings; }
public IngenicoController(ITerminalConfiguration settings) : base(settings) { }
public PaxTcpInterface(ITerminalConfiguration settings) { this._settings = settings; this._await = new AutoResetEvent(false); new Thread(() => { while (true) { try{ if (_stream.DataAvailable) { byte[] buffer = new byte[4096]; int bytesReceived = _stream.Read(buffer, 0, buffer.Length); byte[] readBuffer = new byte[bytesReceived]; Array.Copy(buffer, readBuffer, bytesReceived); var queue = new Queue <byte>(readBuffer); while (queue.Count > 0) { var code = (ControlCodes)queue.Dequeue(); if (code == ControlCodes.ACK || code == ControlCodes.NAK || code == ControlCodes.EOT) { if (OnControlCodeReceived != null) { OnControlCodeReceived(code); } } else if (code == ControlCodes.STX) { var rec_buffer = new List <byte>() { (byte)code }; while (true) { rec_buffer.Add(queue.Dequeue()); if (rec_buffer[rec_buffer.Count - 1] == (byte)ControlCodes.ETX) { break; } } byte lrc = queue.Dequeue(); // Should be the LRC if (lrc != TerminalUtilities.CalculateLRC(rec_buffer.ToArray())) { SendControlCode(ControlCodes.NAK); } else { rec_buffer.Add(lrc); SendControlCode(ControlCodes.ACK); if (OnMessageReceived != null) { OnMessageReceived(rec_buffer.ToArray()); } } } } } } catch (Exception exc) { // This never needs to fail } Thread.Sleep(300); } }).Start(); }
internal DeviceController(ITerminalConfiguration settings) { _settings = settings; }
public HpaTcpInterface(ITerminalConfiguration settings) { this._settings = settings; }
public event PayAtTableRequestEventHandler OnPayAtTableRequest; // not required for this connection mode public IngenicoSerialInterface(ITerminalConfiguration settings) { _settings = settings; Connect(); }