using MediaBrowser.Common.Net; using MediaBrowser.Model.Logging; using System.Collections.Generic; using System.Reflection; using Emby.Server.Core; using Emby.Server.Core.Data; using Emby.Server.Core.FFMpeg; namespace Emby.Server.Core { public interface INativeApp { /// /// Gets the assemblies with parts. /// /// List<Assembly>. List GetAssembliesWithParts(); /// /// Authorizes the server. /// void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string applicationPath, string tempDirectory); /// /// Gets a value indicating whether [supports running as service]. /// /// true if [supports running as service]; otherwise, false. bool SupportsRunningAsService { get; } /// /// Gets a value indicating whether this instance is running as service. /// /// true if this instance is running as service; otherwise, false. bool IsRunningAsService { get; } /// /// Gets a value indicating whether this instance can self restart. /// /// true if this instance can self restart; otherwise, false. bool CanSelfRestart { get; } /// /// Gets a value indicating whether [supports autorun at startup]. /// /// true if [supports autorun at startup]; otherwise, false. bool SupportsAutoRunAtStartup { get; } /// /// Gets a value indicating whether this instance can self update. /// /// true if this instance can self update; otherwise, false. bool CanSelfUpdate { get; } /// /// Shutdowns this instance. /// void Shutdown(); /// /// Restarts this instance. /// void Restart(StartupOptions startupOptions); /// /// Configures the automatic run. /// /// if set to true [autorun]. void ConfigureAutoRun(bool autorun); FFMpegInstallInfo GetFfmpegInstallInfo(); void LaunchUrl(string url); IDbConnector GetDbConnector(); void EnableLoopback(string appName); } }