aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Plugins/IServerEntryPoint.cs
blob: 1e8654c4dc60317701a3a00292ab2701ed43dd40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Threading.Tasks;

namespace MediaBrowser.Controller.Plugins
{
    /// <summary>
    /// 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 implementing the
    /// <see cref="IRunBeforeStartup"/> interface.
    /// </summary>
    public interface IServerEntryPoint : IDisposable
    {
        /// <summary>
        /// Run the initialization for this module. This method is invoked at application start.
        /// </summary>
        Task RunAsync();
    }

    /// <summary>
    /// Indicates that a <see cref="IServerEntryPoint"/> should be invoked as a pre-startup task.
    /// </summary>
    public interface IRunBeforeStartup
    {

    }
}