using System.Reactive.Linq; using System.Reactive.Subjects; using MoonlightServers.Daemon.ServerSys.Abstractions; using MoonlightServers.Daemon.Services; namespace MoonlightServers.Daemon.ServerSys.Implementations; public class DockerInstaller : IInstaller { public IAsyncObservable OnExited => OnExitedSubject.ToAsyncObservable(); public bool IsRunning { get; private set; } = false; private readonly Subject OnExitedSubject = new(); private readonly ILogger Logger; private readonly DockerEventService EventService; private string? ContainerId; private string? ContainerName; public DockerInstaller( ILogger logger, DockerEventService eventService ) { Logger = logger; EventService = eventService; } public Task Initialize() { return Task.CompletedTask; } public Task Sync() { throw new NotImplementedException(); } public Task Start() { throw new NotImplementedException(); } public Task Abort() { throw new NotImplementedException(); } public Task Cleanup() { throw new NotImplementedException(); } public Task SearchForCrash() { throw new NotImplementedException(); } public async ValueTask DisposeAsync() { OnExitedSubject.Dispose(); } }