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;
|
||
|
}
|
||
|
}
|
||
|
}
|