Exemplo n.º 1
0
        private void KnxConnectResponse(KnxConnectResponse knxConnectResponse)
        {
            switch (State)
            {
            case States.Disconnected:
            case States.Connected:
            case States.Disconnecting:
                _trace.Write(TraceSeverities.Warning,
                             "Discarding KnxConnectResponse because state is not 'Connecting'");
                break;

            case States.Connecting:
                if (knxConnectResponse.StatusCode == Telegrams.KnxConnectResponse.StatusCodes.NoError)
                {
                    _trace.Write(TraceSeverities.Info, "Connection successfully established: {0}", knxConnectResponse.ToString());
                    State     = States.Connected;
                    ChannelId = knxConnectResponse.ChannelId;
                }
                else
                {
                    _trace.Write(TraceSeverities.Error, "Failed to establish connection: {0}", knxConnectResponse.ToString());
                    State = States.Disconnected;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 2
0
 public void Visit(KnxConnectResponse knxConnectResponse)
 {
     _knxConnection.KnxConnectResponse(knxConnectResponse);
 }