Initial commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.SignalR.Client;
|
||||
using RobotNet10.Components.Clients;
|
||||
using RobotNet10.ScriptEngine.Shared;
|
||||
|
||||
namespace RobotNet10.ScriptEditor.Clients;
|
||||
|
||||
/// <summary>
|
||||
/// SignalR HubClient for ConsoleHub - handles console logging events.
|
||||
/// </summary>
|
||||
public class ConsoleHubClient : HubClient
|
||||
{
|
||||
public event Action<string>? ErrorReceived;
|
||||
public event Action<string>? InfoReceived;
|
||||
public event Action<string>? WarningReceived;
|
||||
|
||||
public ConsoleHubClient(NavigationManager navigationManager)
|
||||
: base(navigationManager.ToAbsoluteUri(HubEndpoints.ScriptConsoleHubPath))
|
||||
{
|
||||
Connection.On<string>("Error", message => ErrorReceived?.Invoke(message));
|
||||
Connection.On<string>("Info", message => InfoReceived?.Invoke(message));
|
||||
Connection.On<string>("Warning", message => WarningReceived?.Invoke(message));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers to receive console messages for a specific task.
|
||||
/// </summary>
|
||||
public Task RegisterTaskAsync(string name) => Connection.InvokeAsync("RegisterTask", name);
|
||||
|
||||
/// <summary>
|
||||
/// Unregisters from receiving console messages for a specific task.
|
||||
/// </summary>
|
||||
public Task UnregisterTaskAsync(string name) => Connection.InvokeAsync("UnregisterTask", name);
|
||||
|
||||
/// <summary>
|
||||
/// Registers to receive console messages for a specific mission.
|
||||
/// </summary>
|
||||
public Task RegisterMissionAsync(Guid missionId) => Connection.InvokeAsync("RegisterMission", missionId);
|
||||
|
||||
/// <summary>
|
||||
/// Unregisters from receiving console messages for a specific mission.
|
||||
/// </summary>
|
||||
public Task UnregisterMissionAsync(Guid missionId) => Connection.InvokeAsync("UnregisterMission", missionId);
|
||||
|
||||
/// <summary>
|
||||
/// Registers to receive all console messages.
|
||||
/// </summary>
|
||||
public Task RegisterAllAsync() => Connection.InvokeAsync("RegisterAll");
|
||||
|
||||
/// <summary>
|
||||
/// Unregisters from receiving all console messages.
|
||||
/// </summary>
|
||||
public Task UnregisterAllAsync() => Connection.InvokeAsync("UnregisterAll");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user