2019-01-13 13:01:16 -07:00
|
|
|
using System;
|
2019-01-27 07:40:37 -07:00
|
|
|
using System.Threading.Tasks;
|
2018-12-27 16:27:57 -07:00
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.Plugins
|
|
|
|
{
|
|
|
|
/// <summary>
|
2020-02-10 02:26:28 -07:00
|
|
|
/// 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.
|
2020-02-12 06:08:06 -07:00
|
|
|
/// The entry point can additionally be flagged as a pre-startup task by implementing the
|
2020-02-10 02:26:28 -07:00
|
|
|
/// <see cref="IRunBeforeStartup"/> interface.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public interface IServerEntryPoint : IDisposable
|
|
|
|
{
|
|
|
|
/// <summary>
|
2020-02-10 02:26:28 -07:00
|
|
|
/// Run the initialization for this module. This method is invoked at application start.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
2019-01-27 07:40:37 -07:00
|
|
|
Task RunAsync();
|
2018-12-27 16:27:57 -07:00
|
|
|
}
|
|
|
|
|
2020-02-10 02:26:28 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that a <see cref="IServerEntryPoint"/> should be invoked as a pre-startup task.
|
|
|
|
/// </summary>
|
2018-12-27 16:27:57 -07:00
|
|
|
public interface IRunBeforeStartup
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|