aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/StartupOptions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/StartupOptions.cs')
-rw-r--r--Emby.Server.Implementations/StartupOptions.cs53
1 files changed, 33 insertions, 20 deletions
diff --git a/Emby.Server.Implementations/StartupOptions.cs b/Emby.Server.Implementations/StartupOptions.cs
index 221263634..fca60afb8 100644
--- a/Emby.Server.Implementations/StartupOptions.cs
+++ b/Emby.Server.Implementations/StartupOptions.cs
@@ -1,30 +1,43 @@
-using System;
-using System.Linq;
-
namespace Emby.Server.Implementations
{
+ using CommandLine;
+
+ /// <summary>
+ /// Class used by CommandLine package when parsing the command line arguments.
+ /// </summary>
public class StartupOptions
{
- private readonly string[] _options;
+ [Option('d', "programdata", Required = false, HelpText = "Path to use for program data (databases files etc.).")]
+ public string PathProgramData { get; set; }
+
+ [Option('c', "configdir", Required = false, HelpText = "Path to use for config data (user policies and puctures).")]
+ public string PathConfig { get; set; }
+
+ [Option('l', "logdir", Required = false, HelpText = "Path to use for writing log files.")]
+ public string PathLog { get; set; }
+
+
+ [Option("ffmpeg", Required = false, HelpText = "Path to external FFmpeg exe to use in place of built-in.")]
+ public string FFmpeg { get; set; }
+
+ [Option("ffprobe", Required = false, HelpText = "ffmpeg and ffprobe switches must be supplied together.")]
+ public string FFprobe { get; set; }
+
+
+ [Option("service", Required = false, HelpText = "Run as headless service.")]
+ public bool Service { get; set; }
- public StartupOptions(string[] commandLineArgs)
- {
- _options = commandLineArgs;
- }
+ [Option("noautorunwebapp", Required = false, HelpText = "Run headless if startup wizard is complete.")]
+ public bool NoAutoRunWebApp { get; set; }
- public bool ContainsOption(string option)
- => _options.Contains(option, StringComparer.OrdinalIgnoreCase);
+ [Option("package-name", Required = false, HelpText = "Used when packaging Jellyfin (example, synology).")]
+ public string PackageName { get; set; }
- public string GetOption(string name)
- {
- int index = Array.IndexOf(_options, name);
- if (index == -1)
- {
- return null;
- }
+ [Option("restartpath", Required = false, HelpText = "Path to reset script.")]
+ public string RestartPath { get; set; }
- return _options.ElementAtOrDefault(index + 1);
- }
+ [Option("restartargs", Required = false, HelpText = "Arguments for restart script.")]
+ public string RestartArgs { get; set; }
}
-}
+ }