Доработан стартер адаптеров
This commit is contained in:
@@ -19,16 +19,30 @@ public sealed class BotPagesApp
|
||||
private readonly ILogger _logger;
|
||||
private readonly NavigationService _navigation;
|
||||
|
||||
/// <summary>
|
||||
/// Серсвис логирования.
|
||||
/// </summary>
|
||||
public ILogger Logger => _logger;
|
||||
|
||||
/// <summary>
|
||||
/// Создать приложение BotPages.
|
||||
/// </summary>
|
||||
public BotPagesApp(IMessengerAdapterFactory adapterFactory, IStateStorage state, ILogger logger)
|
||||
public BotPagesApp(IStateStorage state, ILogger logger)
|
||||
{
|
||||
_adapterFactory = adapterFactory;
|
||||
_state = state;
|
||||
_logger = logger;
|
||||
|
||||
_navigation = new NavigationService(_routes);
|
||||
_adapterFactory = new MultiAdapterFactory();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Добавить адаптер.
|
||||
/// </summary>
|
||||
public BotPagesApp AddAdapter(string messengerType, IMessangerAdapterSetup adapter)
|
||||
{
|
||||
_adapterFactory.Register(messengerType, adapter);
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -173,4 +187,17 @@ public sealed class BotPagesApp
|
||||
/// </summary>
|
||||
private Page? ResolveCurrentPage(PageContext ctx)
|
||||
=> _navigation.ResolveCurrentPage(ctx);
|
||||
|
||||
/// <summary>
|
||||
/// Сборка и запуск приложения.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public async Task Build(CancellationToken cancellationToken)
|
||||
{
|
||||
foreach (var adapter in _adapterFactory.Adapters)
|
||||
{
|
||||
await adapter.Value.StartAdapterAsync(update => HandleUpdateAsync(update, cancellationToken), cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user