diff options
| author | PloughPuff <ploughpuff@protonmail.com> | 2019-01-28 20:58:47 +0000 |
|---|---|---|
| committer | Bond-009 <bond.009@outlook.com> | 2019-01-31 18:56:34 +0100 |
| commit | e18b89ca275feceee21b540878017a2373e7de6c (patch) | |
| tree | d81c2b3c19a418d609c0ba66c71b85eb3f83106e /Jellyfin.Server/StartupOptions.cs | |
| parent | ebd2a3008791ac4043a775d48f0971a554bd9ff4 (diff) | |
Move Options to Jellyfin.Server and create interface file
Changes following review comments.
Diffstat (limited to 'Jellyfin.Server/StartupOptions.cs')
| -rw-r--r-- | Jellyfin.Server/StartupOptions.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Jellyfin.Server/StartupOptions.cs b/Jellyfin.Server/StartupOptions.cs new file mode 100644 index 000000000..97fcb633a --- /dev/null +++ b/Jellyfin.Server/StartupOptions.cs @@ -0,0 +1,47 @@ +using CommandLine; +using Emby.Server.Implementations.ParsedStartupOptions; + +namespace Jellyfin.Server +{ + /// <summary> + /// Class used by CommandLine package when parsing the command line arguments. + /// </summary> + public class StartupOptions : IStartupOptions + { + [Option('d', "datadir", Required = false, HelpText = "Path to use for the data folder (databases files etc.).")] + public string DataDir { get; set; } + + [Option('c', "configdir", Required = false, HelpText = "Path to use for config data (user policies and puctures).")] + public string ConfigDir { get; set; } + + [Option('l', "logdir", Required = false, HelpText = "Path to use for writing log files.")] + public string LogDir { get; set; } + + [Option("ffmpeg", Required = false, HelpText = "Path to external FFmpeg exe to use in place of built-in.")] + public string FFmpegPath { get; set; } + + [Option("ffprobe", Required = false, HelpText = "ffmpeg and ffprobe switches must be supplied together.")] + public string FFprobePath { get; set; } + + [Option("service", Required = false, HelpText = "Run as headless service.")] + public bool IsService { get; set; } + + [Option("noautorunwebapp", Required = false, HelpText = "Run headless if startup wizard is complete.")] + public bool AutoRunWebApp { get => !NoautoRunWebApp; set => NoautoRunWebApp = value; } + + [Option("package-name", Required = false, HelpText = "Used when packaging Jellyfin (example, synology).")] + public string PackageName { get; set; } + + [Option("restartpath", Required = false, HelpText = "Path to reset script.")] + public string RestartPath { get; set; } + + [Option("restartargs", Required = false, HelpText = "Arguments for restart script.")] + public string RestartArgs { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether to run not run the web app. + /// Command line switch is --noautorunwebapp, which we store privately here, but provide inverse (AutoRunWebApp) for users. + /// </summary> + private bool NoautoRunWebApp { get; set; } + } +} |
