using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.SignalR.Client; using RobotNet10.Components.Clients; using RobotNet10.ScriptEngine.Shared; using RobotNet10.Shared; namespace RobotNet10.ScriptEditor.Clients; /// /// SignalR HubClient for InstanceMissionHub - handles instance mission operations. /// public class InstanceMissionHubClient : HubClient { public InstanceMissionHubClient(NavigationManager navigationManager) : base(navigationManager.ToAbsoluteUri(HubEndpoints.InstanceMissionHubPath)) { } /// /// Searches instance missions with pagination and text search. /// public Task> SearchInstanceMissionsAsync(SearchRequest request) { return Connection.InvokeAsync>("SearchInstanceMissions", request); } /// /// Gets the log for a specific instance mission. /// public Task GetInstanceMissionLogAsync(Guid missionId) { return Connection.InvokeAsync("GetInstanceMissionLog", missionId); } /// /// Cancels a running or paused mission. /// public Task CancelMissionAsync(Guid missionId, string reason) { return Connection.InvokeAsync("CancelMission", missionId, reason); } /// /// Pauses a running mission. /// public Task PauseMissionAsync(Guid missionId) { return Connection.InvokeAsync("PauseMission", missionId); } /// /// Resumes a paused mission. /// public Task ResumeMissionAsync(Guid missionId) { return Connection.InvokeAsync("ResumeMission", missionId); } }