Lidarr/NzbDrone/Router.cs

57 lines
1.7 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
2011-10-13 02:24:30 +00:00
using NLog;
using NzbDrone.Model;
using NzbDrone.Providers;
namespace NzbDrone
{
2011-10-13 02:24:30 +00:00
public class Router
{
2011-10-13 02:24:30 +00:00
private static readonly Logger Logger = LogManager.GetLogger("Host.Router");
2011-10-11 07:11:05 +00:00
private readonly ApplicationServer _applicationServer;
private readonly ServiceProvider _serviceProvider;
private readonly ConsoleProvider _consoleProvider;
2011-10-11 07:11:05 +00:00
public Router(ApplicationServer applicationServer, ServiceProvider serviceProvider, ConsoleProvider consoleProvider)
{
2011-10-11 07:11:05 +00:00
_applicationServer = applicationServer;
_serviceProvider = serviceProvider;
2011-10-13 02:24:30 +00:00
_consoleProvider = consoleProvider;
}
public void Route()
{
2011-10-13 02:24:30 +00:00
Logger.Info("Application mode: {0}", CentralDispatch.ApplicationMode);
2011-10-11 07:11:05 +00:00
switch (CentralDispatch.ApplicationMode)
{
2011-10-13 02:24:30 +00:00
case ApplicationMode.Console:
{
2011-10-11 07:11:05 +00:00
_applicationServer.Start();
_consoleProvider.WaitForClose();
break;
}
case ApplicationMode.InstallService:
{
_serviceProvider.Install();
break;
}
case ApplicationMode.UninstallService:
{
_serviceProvider.UnInstall();
break;
}
default:
{
_consoleProvider.PrintHelp();
break;
}
}
}
}
}