2017-10-29 21:35:35 +00:00
|
|
|
using System;
|
2011-10-15 00:41:09 +00:00
|
|
|
using System.Diagnostics;
|
2013-01-30 02:21:45 +00:00
|
|
|
using System.IO;
|
2013-07-09 00:47:09 +00:00
|
|
|
using NzbDrone.Common.EnvironmentInfo;
|
2011-10-07 03:37:41 +00:00
|
|
|
|
2011-10-23 05:26:43 +00:00
|
|
|
namespace NzbDrone.Common
|
2011-10-07 03:37:41 +00:00
|
|
|
{
|
2013-04-16 04:52:41 +00:00
|
|
|
public interface IConsoleService
|
2011-10-07 03:37:41 +00:00
|
|
|
{
|
2013-04-16 04:52:41 +00:00
|
|
|
void PrintHelp();
|
|
|
|
void PrintServiceAlreadyExist();
|
2013-07-09 00:47:09 +00:00
|
|
|
void PrintServiceDoesNotExist();
|
2013-04-16 04:52:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class ConsoleService : IConsoleService
|
|
|
|
{
|
2016-12-09 06:54:15 +00:00
|
|
|
public static bool IsConsoleAvailable => Console.In != StreamReader.Null;
|
2013-01-30 02:21:45 +00:00
|
|
|
|
2013-04-16 04:52:41 +00:00
|
|
|
public void PrintHelp()
|
2011-10-09 02:16:11 +00:00
|
|
|
{
|
2011-10-15 00:41:09 +00:00
|
|
|
Console.WriteLine();
|
|
|
|
Console.WriteLine(" Usage: {0} <command> ", Process.GetCurrentProcess().MainModule.ModuleName);
|
|
|
|
Console.WriteLine(" Commands:");
|
2018-04-27 00:56:19 +00:00
|
|
|
if (OsInfo.IsWindows)
|
|
|
|
{
|
|
|
|
Console.WriteLine(" /{0} Install the application as a Windows Service ({1}).", StartupContext.INSTALL_SERVICE, ServiceProvider.SERVICE_NAME);
|
|
|
|
Console.WriteLine(" /{0} Uninstall already installed Windows Service ({1}).", StartupContext.UNINSTALL_SERVICE, ServiceProvider.SERVICE_NAME);
|
|
|
|
Console.WriteLine(" /{0} Register URL and open firewall port (allows access from other devices on your network).", StartupContext.REGISTER_URL);
|
|
|
|
}
|
2020-01-03 12:49:24 +00:00
|
|
|
|
2017-03-30 03:49:38 +00:00
|
|
|
Console.WriteLine(" /{0} Don't open Lidarr in a browser", StartupContext.NO_BROWSER);
|
2017-10-29 21:35:35 +00:00
|
|
|
Console.WriteLine(" /{0} Start Lidarr terminating any other instances", StartupContext.TERMINATE);
|
|
|
|
Console.WriteLine(" /{0}=path Path to use as the AppData location (stores database, config, logs, etc)", StartupContext.APPDATA);
|
2011-10-15 00:41:09 +00:00
|
|
|
Console.WriteLine(" <No Arguments> Run application in console mode.");
|
2011-10-09 02:16:11 +00:00
|
|
|
}
|
2011-10-14 01:22:51 +00:00
|
|
|
|
2013-04-16 04:52:41 +00:00
|
|
|
public void PrintServiceAlreadyExist()
|
2011-10-14 01:22:51 +00:00
|
|
|
{
|
2017-09-27 02:06:05 +00:00
|
|
|
Console.WriteLine("A service with the same name ({0}) already exists. Aborting installation", ServiceProvider.SERVICE_NAME);
|
2011-10-14 01:22:51 +00:00
|
|
|
}
|
2011-10-15 00:41:09 +00:00
|
|
|
|
2013-07-09 00:47:09 +00:00
|
|
|
public void PrintServiceDoesNotExist()
|
2011-10-15 00:41:09 +00:00
|
|
|
{
|
2017-09-27 02:06:05 +00:00
|
|
|
Console.WriteLine("Can't find service ({0})", ServiceProvider.SERVICE_NAME);
|
2011-10-15 00:41:09 +00:00
|
|
|
}
|
2011-10-07 03:37:41 +00:00
|
|
|
}
|
2017-10-29 21:35:35 +00:00
|
|
|
}
|