30 lines
772 B
C#
30 lines
772 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BlazorWebassemblyI18n
|
|
{
|
|
public sealed class SessionManager : IMessage
|
|
{
|
|
private readonly List<IMessage> receivers = new();
|
|
|
|
internal SessionManager()
|
|
{
|
|
this.Register(this);
|
|
}
|
|
|
|
public void Register(IMessage receiver) => this.receivers.Add(receiver);
|
|
|
|
public async Task SendMessage(string content)
|
|
{
|
|
foreach (var receiver in this.receivers)
|
|
await receiver.ReceiveMessage(content);
|
|
}
|
|
|
|
public Task ReceiveMessage(string message)
|
|
{
|
|
Console.WriteLine($"sending message: '{message}'");
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
} |