mirror of
https://github.com/snltty/linker.git
synced 2025-10-26 18:40:33 +08:00
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using cmonitor.server.api;
|
|
using cmonitor.server.client;
|
|
using cmonitor.server.client.reports.active;
|
|
using cmonitor.server.service.messengers.sign;
|
|
using common.libs;
|
|
using MemoryPack;
|
|
|
|
namespace cmonitor.server.service.messengers.active
|
|
{
|
|
public sealed class ActiveMessenger : IMessenger
|
|
{
|
|
private readonly ActiveWindowReport activeWindowReport;
|
|
|
|
public ActiveMessenger(ActiveWindowReport activeWindowReport)
|
|
{
|
|
this.activeWindowReport = activeWindowReport;
|
|
}
|
|
|
|
[MessengerId((ushort)ActiveMessengerIds.Get)]
|
|
public void Get(IConnection connection)
|
|
{
|
|
connection.Write(MemoryPackSerializer.Serialize(activeWindowReport.GetActiveWindowTimes()));
|
|
}
|
|
[MessengerId((ushort)ActiveMessengerIds.Clear)]
|
|
public void Clear(IConnection connection)
|
|
{
|
|
activeWindowReport.ClearActiveWindowTimes();
|
|
connection.Write(Helper.TrueArray);
|
|
}
|
|
|
|
[MessengerId((ushort)ActiveMessengerIds.Disallow)]
|
|
public void Disallow(IConnection connection)
|
|
{
|
|
activeWindowReport.DisallowRun(MemoryPackSerializer.Deserialize<string[]>(connection.ReceiveRequestWrap.Payload.Span));
|
|
connection.Write(Helper.TrueArray);
|
|
}
|
|
}
|
|
|
|
}
|