public Client(IApiObjectsFactory objectsFactory, IAccountsStorage accountsStorage, Dispatcher dispatcher, IConnection connection, CancellationTokenSource internalCancelationTokenSource) { CodeContract.Requires(objectsFactory != null); CodeContract.Requires(accountsStorage != null); CodeContract.Requires(dispatcher != null); CodeContract.Requires(connection != null); CodeContract.Requires(accountsStorage.Accounts.Count() != 0); this.objectsFactory = objectsFactory; this.accountsStorage = accountsStorage; this.dispatcher = dispatcher; this.internalCancelationTokenSource = internalCancelationTokenSource; this.accountChangedEvent = dispatcher.RegisterEvent(); connection.OnDisconnect += this.ConnectionOnOnDisconnect; }
public IClient CreateClient(IAccountsStorage accountsStorage) { return new Client(this, accountsStorage, this.dispatcher, this.connection, this.internalCancellationTokenSource); }