public async Task <IBleResult> ExecuteAsync(ICommandBehavior command, CancellationToken cancellationToken)
        {
            IBleResult result;

            try
            {
                if (_connector.IsConnected)
                {
                    result = await command.ExecuteAsync(cancellationToken).ConfigureAwait(false);
                }
                else
                {
                    var connectionResult = await _connector.ConnectAsync(cancellationToken);

                    if (connectionResult.IsOperationCompleted)
                    {
                        cancellationToken.ThrowIfCancellationRequested();
                        result = await command.ExecuteAsync(cancellationToken);
                    }
                    else
                    {
                        result = BleResult.Failure(BleFailure.DeviceNotConnected, connectionResult);
                    }
                }
            }
            catch (OperationCanceledException)
            {
                result = BleResult.Failure(BleFailure.OperationCancelled);
            }

            return(result);
        }
Example #2
0
 //Выбор команды из словаря команд
 public List <Song> PerformDoSomeCommand(List <Song> songs, string command, ref bool exit)
 {
     commandBehavior = commandDict[command];
     if (commandBehavior is Quit)
     {
         exit = true;
     }
     return(commandBehavior.DoSomeCommand(songs));
 }
Example #3
0
        public string PerformDoSomeCommand(string command, ref bool exit, Transfer transfer)
        {
            commandBehavior = commandDict[command];
            if (commandBehavior is Quit)
            {
                exit = true;
            }

            return(commandBehavior.DoCommand(transfer));
        }
        public WhenExecutingCommandBehaviorPipeline()
        {
            _logger      = new TestLogger();
            _behaviorOne = new CommandBehaviorOne(_logger);
            _behaviorTwo = new CommandBehaviorTwo(_logger);
            _handler     = new TestMessageHandler(_logger);

            var registeredBehaviors = new ICommandBehavior <ICommand>[] { _behaviorOne, _behaviorTwo };

            _behaviors.Setup(b => b.GetEnumerator()).Returns(registeredBehaviors.ToList().GetEnumerator());
            _sut = new CommandBehaviorPipeline <ICommand>(_behaviors.Object);
        }
Example #5
0
 public ICommandBehavior SetNext(ICommandBehavior next)
 {
     this.next = next;
     return(next);
 }
Example #6
0
 public static ICommandBehavior Apply(this ICommandBehavior command, ICommandDecorator decorator)
 {
     return(new DecoratedCommandBehavior(command, decorator));
 }
Example #7
0
        public List <Song> PerformDoSomeCommand(List <Song> songs, TransferData transferData, Transfer transfer)
        {
            commandBehavior = commandDict[transferData.Command.Name];

            return(commandBehavior.DoCommand(songs, transferData, transfer));
        }
Example #8
0
 public DecoratedCommandBehavior(ICommandBehavior command, ICommandDecorator decorator)
 {
     _command   = command;
     _decorator = decorator;
 }
 public CommandBehaviorCreator(INewContext newContext, ICommandBehavior <TCommand> creation = null)
     : base(newContext, creation)
 {
     Creation = new Mock <ICommandBehavior <TCommand> >().Object;
 }
 public Task <IBleResult> ExecuteAsync(ICommandBehavior command, CancellationToken cancellationToken)
 {
     return(_executor.TimeoutBleOperationAsync(command.ExecuteAsync, _timeout, cancellationToken));
 }
Example #11
0
 public CommandReader(ICommandBehavior commandBehavior)
 {
     m_commandBehavior = commandBehavior;
 }
Example #12
0
 protected Command( ICommandBehavior behavior, ICommandIdentity identity )
 {
     Behavior = behavior;
     Identity = identity;
 }