2011-10-07 05:37:41 +02:00
|
|
|
|
using System;
|
2011-10-15 02:41:09 +02:00
|
|
|
|
using System.Diagnostics;
|
2013-01-30 03:21:45 +01:00
|
|
|
|
using System.IO;
|
2011-10-07 05:37:41 +02:00
|
|
|
|
|
2011-10-23 07:26:43 +02:00
|
|
|
|
namespace NzbDrone.Common
|
2011-10-07 05:37:41 +02:00
|
|
|
|
{
|
2013-04-16 06:52:41 +02:00
|
|
|
|
public interface IConsoleService
|
2011-10-07 05:37:41 +02:00
|
|
|
|
{
|
2013-04-16 06:52:41 +02:00
|
|
|
|
bool IsConsoleApplication { get; }
|
|
|
|
|
void WaitForClose();
|
|
|
|
|
void PrintHelp();
|
|
|
|
|
void PrintServiceAlreadyExist();
|
|
|
|
|
void PrintServiceDoestExist();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class ConsoleService : IConsoleService
|
|
|
|
|
{
|
|
|
|
|
public bool IsConsoleApplication
|
2013-01-30 03:21:45 +01:00
|
|
|
|
{
|
|
|
|
|
get { return Console.In != StreamReader.Null; }
|
|
|
|
|
}
|
|
|
|
|
|
2013-04-16 06:52:41 +02:00
|
|
|
|
public void WaitForClose()
|
2011-10-07 05:37:41 +02:00
|
|
|
|
{
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
2011-10-13 04:24:30 +02:00
|
|
|
|
Console.ReadLine();
|
2011-10-07 05:37:41 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
2011-10-09 04:16:11 +02:00
|
|
|
|
|
2013-04-16 06:52:41 +02:00
|
|
|
|
public void PrintHelp()
|
2011-10-09 04:16:11 +02:00
|
|
|
|
{
|
2011-10-15 02:41:09 +02:00
|
|
|
|
Console.WriteLine();
|
|
|
|
|
Console.WriteLine(" Usage: {0} <command> ", Process.GetCurrentProcess().MainModule.ModuleName);
|
|
|
|
|
Console.WriteLine(" Commands:");
|
2011-10-26 19:15:47 +02:00
|
|
|
|
Console.WriteLine(" /i Install the application as a Windows Service ({0}).", ServiceProvider.NZBDRONE_SERVICE_NAME);
|
|
|
|
|
Console.WriteLine(" /u Uninstall already installed Windows Service ({0}).", ServiceProvider.NZBDRONE_SERVICE_NAME);
|
2011-10-15 02:41:09 +02:00
|
|
|
|
Console.WriteLine(" <No Arguments> Run application in console mode.");
|
2011-10-09 04:16:11 +02:00
|
|
|
|
}
|
2011-10-14 03:22:51 +02:00
|
|
|
|
|
2013-04-16 06:52:41 +02:00
|
|
|
|
public void PrintServiceAlreadyExist()
|
2011-10-14 03:22:51 +02:00
|
|
|
|
{
|
2011-10-26 19:15:47 +02:00
|
|
|
|
Console.WriteLine("A service with the same name ({0}) already exists. Aborting installation", ServiceProvider.NZBDRONE_SERVICE_NAME);
|
2011-10-14 03:22:51 +02:00
|
|
|
|
}
|
2011-10-15 02:41:09 +02:00
|
|
|
|
|
2013-04-16 06:52:41 +02:00
|
|
|
|
public void PrintServiceDoestExist()
|
2011-10-15 02:41:09 +02:00
|
|
|
|
{
|
2011-10-26 19:15:47 +02:00
|
|
|
|
Console.WriteLine("Can't find service ({0})", ServiceProvider.NZBDRONE_SERVICE_NAME);
|
2011-10-15 02:41:09 +02:00
|
|
|
|
}
|
2011-10-07 05:37:41 +02:00
|
|
|
|
}
|
2011-10-07 08:57:43 +02:00
|
|
|
|
}
|