Реорганизация
.NET Core Desktop / build (Debug) (push) Has been cancelled

This commit is contained in:
kislovdm
2026-04-27 00:15:02 +03:00
parent 2fb673661f
commit 8467399001
23 changed files with 77 additions and 88 deletions
@@ -0,0 +1,52 @@
using System;
using MonsterMonitor.Models;
namespace MonsterMonitor.Services
{
public sealed class AppController : IDisposable
{
private readonly LogService _log;
private readonly PowerManagementService _power;
private readonly SsConfigService _ssConfig;
private ProcessMonitorService _processMonitor;
private SshTunnelService _sshTunnel;
public AppController(LogService log, PowerManagementService power)
{
_log = log;
_power = power;
_ssConfig = new SsConfigService(_log);
}
public void Start(AppSettings settings)
{
Stop();
_power.PreventSleep();
_processMonitor = new ProcessMonitorService(_log);
_sshTunnel = new SshTunnelService(_log);
_ssConfig.EnsureConfig(settings);
_processMonitor.Start(settings.SsProcessPath, settings.SsArguments);
_sshTunnel.Start(settings);
_log.Info("Сервисы приложения запущены.");
}
public void Stop()
{
_sshTunnel?.Dispose();
_sshTunnel = null;
_processMonitor?.Dispose();
_processMonitor = null;
_power.RestoreDefault();
}
public void Dispose()
{
Stop();
}
}
}