private void KnxConnectionStateResponse(KnxConnectionStateResponse knxConnectionStateResponse) { switch (State) { case States.Disconnected: case States.Connecting: case States.Disconnecting: _trace.Write(TraceSeverities.Warning, "Discarding KnxConnectResponse because state is not 'Connecting'"); break; case States.Connected: if (knxConnectionStateResponse.Status == Telegrams.KnxConnectionStateResponse.StatusCodes.NoError) { _trace.Write(TraceSeverities.Debug, "Received KnxConnectionStateResponse indicating no error"); } else { _trace.Write(TraceSeverities.Error, "Received KnxConnectionStateResponse indicating error: {0}", knxConnectionStateResponse.Status); State = States.Disconnected; } break; default: throw new ArgumentOutOfRangeException(); } }
public void Visit(KnxConnectionStateResponse knxConnectionStateResponse) { _knxConnection.KnxConnectionStateResponse(knxConnectionStateResponse); }