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);
            }
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 protected virtual void OnCommandSuccess(ISpheroMessage message)
 {
     // TODO - do we care about this?
 }
Ejemplo n.º 5
0
 protected virtual void OnCommandSuccess(ISpheroMessage message)
 {
     // TODO - do we care about this?
 }