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