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); }
//Выбор команды из словаря команд 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)); }
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); }
public ICommandBehavior SetNext(ICommandBehavior next) { this.next = next; return(next); }
public static ICommandBehavior Apply(this ICommandBehavior command, ICommandDecorator decorator) { return(new DecoratedCommandBehavior(command, decorator)); }
public List <Song> PerformDoSomeCommand(List <Song> songs, TransferData transferData, Transfer transfer) { commandBehavior = commandDict[transferData.Command.Name]; return(commandBehavior.DoCommand(songs, transferData, transfer)); }
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)); }
public CommandReader(ICommandBehavior commandBehavior) { m_commandBehavior = commandBehavior; }
protected Command( ICommandBehavior behavior, ICommandIdentity identity ) { Behavior = behavior; Identity = identity; }