2014-11-23 23:10:41 +00:00
|
|
|
|
using MediaBrowser.Common.Net;
|
2014-11-09 18:24:57 +00:00
|
|
|
|
using MediaBrowser.Model.Logging;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Reflection;
|
2016-04-02 04:29:48 +00:00
|
|
|
|
using MediaBrowser.Server.Startup.Common.FFMpeg;
|
2016-11-11 04:25:21 +00:00
|
|
|
|
using MediaBrowser.Server.Startup.Common.Persistence;
|
2014-11-09 18:24:57 +00:00
|
|
|
|
|
|
|
|
|
namespace MediaBrowser.Server.Startup.Common
|
|
|
|
|
{
|
|
|
|
|
public interface INativeApp
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the assemblies with parts.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>List<Assembly>.</returns>
|
|
|
|
|
List<Assembly> GetAssembliesWithParts();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Authorizes the server.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="udpPort">The UDP port.</param>
|
2014-12-27 22:52:41 +00:00
|
|
|
|
/// <param name="httpServerPort">The HTTP server port.</param>
|
2015-01-11 02:12:43 +00:00
|
|
|
|
/// <param name="httpsServerPort">The HTTPS server port.</param>
|
2014-11-09 18:24:57 +00:00
|
|
|
|
/// <param name="tempDirectory">The temporary directory.</param>
|
2016-03-26 17:51:27 +00:00
|
|
|
|
void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string applicationPath, string tempDirectory);
|
2014-11-09 18:24:57 +00:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the environment.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value>The environment.</value>
|
|
|
|
|
NativeEnvironment Environment { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets a value indicating whether [supports running as service].
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if [supports running as service]; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool SupportsRunningAsService { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets a value indicating whether this instance is running as service.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if this instance is running as service; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool IsRunningAsService { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets a value indicating whether this instance can self restart.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool CanSelfRestart { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets a value indicating whether [supports autorun at startup].
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if [supports autorun at startup]; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool SupportsAutoRunAtStartup { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2015-10-03 18:13:53 +00:00
|
|
|
|
/// Gets a value indicating whether [supports library monitor].
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if [supports library monitor]; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool SupportsLibraryMonitor { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2014-11-09 18:24:57 +00:00
|
|
|
|
/// Gets a value indicating whether this instance can self update.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
|
|
|
|
|
bool CanSelfUpdate { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Shutdowns this instance.
|
|
|
|
|
/// </summary>
|
|
|
|
|
void Shutdown();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Restarts this instance.
|
|
|
|
|
/// </summary>
|
2015-06-05 14:27:01 +00:00
|
|
|
|
void Restart(StartupOptions startupOptions);
|
2014-11-09 18:24:57 +00:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Configures the automatic run.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="autorun">if set to <c>true</c> [autorun].</param>
|
|
|
|
|
void ConfigureAutoRun(bool autorun);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the network manager.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>INetworkManager.</returns>
|
|
|
|
|
INetworkManager CreateNetworkManager(ILogger logger);
|
|
|
|
|
|
2016-04-02 04:29:48 +00:00
|
|
|
|
FFMpegInstallInfo GetFfmpegInstallInfo();
|
2016-04-24 03:03:49 +00:00
|
|
|
|
|
|
|
|
|
void LaunchUrl(string url);
|
2016-05-01 21:48:37 +00:00
|
|
|
|
|
|
|
|
|
IDbConnector GetDbConnector();
|
2016-09-03 17:16:36 +00:00
|
|
|
|
|
|
|
|
|
void EnableLoopback(string appName);
|
2014-11-09 18:24:57 +00:00
|
|
|
|
}
|
|
|
|
|
}
|