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