Example #1
0
        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);
                }
            };
        }
Example #2
0
 internal DeviceController(ITerminalConfiguration settings)
 {
     _settings  = settings;
     _connector = ConfigureConnector();
     _connector.OnMessageSent += (message) => {
         OnMessageSent?.Invoke(message);
     };
 }
Example #3
0
 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);
            };
        }
Example #6
0
        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);
            };
        }
Example #7
0
        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);
            };
        }
Example #8
0
 public PaxHttpInterface(ITerminalConfiguration settings)
 {
     _settings = settings;
 }
Example #9
0
 public PaxTcpInterface(ITerminalConfiguration settings)
 {
     _settings = settings;
     _await    = new AutoResetEvent(false);
 }
Example #10
0
 internal PaxController(ITerminalConfiguration settings) : base(settings)
 {
 }
Example #11
0
 public GeniusHttpInterface(ITerminalConfiguration settings)
 {
     _settings      = settings;
     _gatewayConfig = settings.GatewayConfig as GeniusConfig;
 }
Example #12
0
 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();
        }
Example #15
0
 internal DeviceController(ITerminalConfiguration settings)
 {
     _settings = settings;
 }
Example #16
0
 public HpaTcpInterface(ITerminalConfiguration settings)
 {
     this._settings = settings;
 }
        public event PayAtTableRequestEventHandler OnPayAtTableRequest; // not required for this connection mode

        public IngenicoSerialInterface(ITerminalConfiguration settings)
        {
            _settings = settings;
            Connect();
        }