Files
Hyperbar/Hyperbar.Widget/WidgetHostHandler.cs
T
2024-02-11 22:18:40 +00:00

25 lines
727 B
C#

using Microsoft.Extensions.DependencyInjection;
namespace Hyperbar.Widget;
public class WidgetHostHandler(IWidgetHostCollection widgetHosts) :
INotificationHandler<Create<IWidgetHost>>
{
public async Task Handle(Create<IWidgetHost> args,
CancellationToken cancellationToken)
{
if (args.Value is IWidgetHost host)
{
widgetHosts.Add(host);
if (host.Services.GetServices<IInitializer>() is
IEnumerable<IInitializer> initializations)
{
foreach (IInitializer initialization in initializations)
{
await initialization.InitializeAsync();
}
}
}
}
}