using LanMountainDesktop.Shared.IPC; using LanMountainDesktop.Shared.IPC.Abstractions.Services; namespace LanMountainDesktop.AirAppRuntime; internal sealed class AirAppRuntimeIpcHost : IDisposable { private readonly PublicIpcHostService _host; public AirAppRuntimeIpcHost( AirAppLifecycleService lifecycleService, AirAppRuntimeControlService controlService) { _host = new PublicIpcHostService(IpcConstants.AirAppRuntimePipeName); _host.RegisterPublicService(lifecycleService); _host.RegisterPublicService(controlService); } public void Start() { _host.Start(); AirAppRuntimeLogger.Info($"Air APP runtime IPC started. Pipe='{IpcConstants.AirAppRuntimePipeName}'."); } public void Dispose() { _host.Dispose(); } }