Files
LanMountainDesktop/LanMountainDesktop.Shared.IPC/Abstractions/Services/IAirAppRuntimeControlService.cs
2026-05-31 19:41:10 +08:00

28 lines
730 B
C#

using dotnetCampus.Ipc.CompilerServices.Attributes;
namespace LanMountainDesktop.Shared.IPC.Abstractions.Services;
[IpcPublic(IgnoresIpcException = true)]
public interface IAirAppRuntimeControlService
{
Task<AirAppRuntimeControlResult> AttachHostAsync(int hostProcessId);
Task<AirAppRuntimeStatus> GetStatusAsync();
}
public sealed record AirAppRuntimeControlResult(
bool Accepted,
string Code,
string Message,
AirAppRuntimeStatus Status);
public sealed record AirAppRuntimeStatus(
int ProcessId,
int LauncherProcessId,
int HostProcessId,
bool LauncherProcessAlive,
bool HostProcessAlive,
bool HasLiveAirApps,
DateTimeOffset StartedAtUtc,
DateTimeOffset UpdatedAtUtc);