private void ProcessCommandResponse(SpheroResponse response) { CommandWithActions actions; lock (this) { if (!_responseListeners.TryGetValue(response.SequenceNumber, out actions)) { // TODO - some trace here would be fab return; } _responseListeners.Remove(response.SequenceNumber); } if (actions == null) { return; } try { ISpheroMessage message = actions.Command.ProcessResponse(response); actions.OnSuccess(message); } catch (Exception exception) { actions.OnError(exception); } }
protected override void OnCommandSuccess(ISpheroMessage message) { if (message is GetColorLedCommand.ColorMessage) { var colorMessage = message as GetColorLedCommand.ColorMessage; Color = colorMessage.Color; RaisePropertyChanged(() => Red); RaisePropertyChanged(() => Green); RaisePropertyChanged(() => Blue); } base.OnCommandSuccess(message); }
protected override void OnCommandSuccess(ISpheroMessage message) { if (message is GetColorLedCommand.ColorMessage) { var colorMessage = message as GetColorLedCommand.ColorMessage; Color = colorMessage.Color; RaisePropertyChanged(() => Red); RaisePropertyChanged(() => Green); RaisePropertyChanged(() => Blue); } base.OnCommandSuccess(message); }
protected virtual void OnCommandSuccess(ISpheroMessage message) { // TODO - do we care about this? }
protected virtual void OnCommandSuccess(ISpheroMessage message) { // TODO - do we care about this? }