using MediaBrowser.Common.Net; using MediaBrowser.Model.Logging; using System.Collections.Generic; using System.Reflection; namespace MediaBrowser.Server.Startup.Common { public interface INativeApp { /// /// Gets the assemblies with parts. /// /// List<Assembly>. List GetAssembliesWithParts(); /// /// Authorizes the server. /// /// The HTTP server port. /// The HTTP server URL prefix. /// The UDP port. /// The temporary directory. void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory); /// /// Gets the environment. /// /// The environment. NativeEnvironment Environment { get; } /// /// 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(); /// /// Configures the automatic run. /// /// if set to true [autorun]. void ConfigureAutoRun(bool autorun); /// /// Gets the network manager. /// /// INetworkManager. INetworkManager CreateNetworkManager(ILogger logger); /// /// Prevents the system stand by. /// void PreventSystemStandby(); } }