using System; using System.Threading.Tasks; namespace MediaBrowser.Controller.Plugins { /// /// Represents an entry point for a module in the application. This interface is scanned for automatically and /// provides a hook to initialize the module at application start. /// The entry point can additionally be flagged as a pre-startup task by applying the /// interface. /// public interface IServerEntryPoint : IDisposable { /// /// Run the initialization for this module. This method is invoked at application start. /// Task RunAsync(); } /// /// Indicates that a should be invoked as a pre-startup task. /// public interface IRunBeforeStartup { } }