aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations')
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs7
-rw-r--r--Emby.Server.Implementations/Emby.Server.Implementations.csproj3
-rw-r--r--Emby.Server.Implementations/EntryPoints/StartupWizard.cs2
-rw-r--r--Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs7
-rw-r--r--Emby.Server.Implementations/IStartupOptions.cs55
-rw-r--r--Emby.Server.Implementations/StartupOptions.cs43
6 files changed, 65 insertions, 52 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 2306fb370..3af9e487e 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -43,6 +43,7 @@ using Emby.Server.Implementations.ScheduledTasks;
using Emby.Server.Implementations.Security;
using Emby.Server.Implementations.Serialization;
using Emby.Server.Implementations.Session;
+using Emby.Server.Implementations.ParsedStartupOptions;
using Emby.Server.Implementations.Threading;
using Emby.Server.Implementations.TV;
using Emby.Server.Implementations.Updates;
@@ -141,7 +142,7 @@ namespace Emby.Server.Implementations
return false;
}
- if (StartupOptions.Service)
+ if (StartupOptions.IsService)
{
return false;
}
@@ -343,7 +344,7 @@ namespace Emby.Server.Implementations
protected IHttpResultFactory HttpResultFactory { get; private set; }
protected IAuthService AuthService { get; private set; }
- public StartupOptions StartupOptions { get; private set; }
+ public IStartupOptions StartupOptions { get; private set; }
internal IImageEncoder ImageEncoder { get; private set; }
@@ -364,7 +365,7 @@ namespace Emby.Server.Implementations
/// </summary>
public ApplicationHost(ServerApplicationPaths applicationPaths,
ILoggerFactory loggerFactory,
- StartupOptions options,
+ IStartupOptions options,
IFileSystem fileSystem,
IEnvironmentInfo environmentInfo,
IImageEncoder imageEncoder,
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index bf0546f2e..92e3172f1 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\Emby.Naming\Emby.Naming.csproj" />
@@ -22,7 +22,6 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="CommandLineParser" Version="2.4.3" />
<PackageReference Include="ServiceStack.Text.Core" Version="5.4.0" />
<PackageReference Include="sharpcompress" Version="0.22.0" />
<PackageReference Include="SimpleInjector" Version="4.4.2" />
diff --git a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs
index bb96120f4..43d18e135 100644
--- a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs
+++ b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs
@@ -47,7 +47,7 @@ namespace Emby.Server.Implementations.EntryPoints
{
var options = ((ApplicationHost)_appHost).StartupOptions;
- if (!options.NoAutoRunWebApp)
+ if (options.AutoRunWebApp)
{
BrowserLauncher.OpenWebApp(_appHost);
}
diff --git a/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs b/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs
index 4c926b91a..b422b8862 100644
--- a/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs
+++ b/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs
@@ -6,6 +6,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
+using Emby.Server.Implementations.ParsedStartupOptions;
namespace Emby.Server.Implementations.FFMpeg
{
@@ -28,10 +29,10 @@ namespace Emby.Server.Implementations.FFMpeg
_ffmpegInstallInfo = ffmpegInstallInfo;
}
- public FFMpegInfo GetFFMpegInfo(StartupOptions options)
+ public FFMpegInfo GetFFMpegInfo(IStartupOptions options)
{
- var customffMpegPath = options.FFmpeg;
- var customffProbePath = options.FFprobe;
+ var customffMpegPath = options.FFmpegPath;
+ var customffProbePath = options.FFprobePath;
if (!string.IsNullOrWhiteSpace(customffMpegPath) && !string.IsNullOrWhiteSpace(customffProbePath))
{
diff --git a/Emby.Server.Implementations/IStartupOptions.cs b/Emby.Server.Implementations/IStartupOptions.cs
new file mode 100644
index 000000000..878bb6640
--- /dev/null
+++ b/Emby.Server.Implementations/IStartupOptions.cs
@@ -0,0 +1,55 @@
+namespace Emby.Server.Implementations.ParsedStartupOptions
+{
+ public interface IStartupOptions
+ {
+ /// <summary>
+ /// --datadir
+ /// </summary>
+ string DataDir { get; }
+
+ /// <summary>
+ /// --configdir
+ /// </summary>
+ string ConfigDir { get; }
+
+ /// <summary>
+ /// --logdir
+ /// </summary>
+ string LogDir { get; }
+
+ /// <summary>
+ /// --ffmpeg
+ /// </summary>
+ string FFmpegPath { get; }
+
+ /// <summary>
+ /// --ffprobe
+ /// </summary>
+ string FFprobePath { get; }
+
+ /// <summary>
+ /// --service
+ /// </summary>
+ bool IsService { get; }
+
+ /// <summary>
+ /// --noautorunwebapp
+ /// </summary>
+ bool AutoRunWebApp { get; }
+
+ /// <summary>
+ /// --package-name
+ /// </summary>
+ string PackageName { get; }
+
+ /// <summary>
+ /// --restartpath
+ /// </summary>
+ string RestartPath { get; }
+
+ /// <summary>
+ /// --restartargs
+ /// </summary>
+ string RestartArgs { get; }
+ }
+}
diff --git a/Emby.Server.Implementations/StartupOptions.cs b/Emby.Server.Implementations/StartupOptions.cs
deleted file mode 100644
index f4bb94f74..000000000
--- a/Emby.Server.Implementations/StartupOptions.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-namespace Emby.Server.Implementations
-{
- using CommandLine;
-
- /// <summary>
- /// Class used by CommandLine package when parsing the command line arguments.
- /// </summary>
- public class StartupOptions
- {
- [Option('d', "datadir", Required = false, HelpText = "Path to use for the data folder (databases files etc.).")]
- public string PathData { 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; }
-
- [Option("noautorunwebapp", Required = false, HelpText = "Run headless if startup wizard is complete.")]
- public bool NoAutoRunWebApp { get; set; }
-
- [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; }
- }
- }