More code to support service, isn't working yet. (Console still works fine)

This commit is contained in:
kay.one 2011-10-08 19:16:11 -07:00
commit 495d7b8595
17 changed files with 208 additions and 260 deletions

53
NzbDrone/Router.cs Normal file
View file

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NzbDrone.Providers;
namespace NzbDrone
{
class Router
{
private readonly Application _application;
private readonly ServiceProvider _serviceProvider;
private readonly ConsoleProvider _consoleProvider;
private readonly ApplicationMode _applicationMode;
public Router(Application application, ServiceProvider serviceProvider, ConsoleProvider consoleProvider, ApplicationMode applicationMode)
{
_application = application;
_serviceProvider = serviceProvider;
_consoleProvider = consoleProvider;
_applicationMode = applicationMode;
}
public void Route()
{
switch (_applicationMode)
{
case ApplicationMode.Console:
{
_application.Start();
_consoleProvider.WaitForClose();
break;
}
case ApplicationMode.InstallService:
{
_serviceProvider.Install();
break;
}
case ApplicationMode.UninstallService:
{
_serviceProvider.UnInstall();
break;
}
default:
{
_consoleProvider.PrintHelp();
break;
}
}
}
}
}