aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Events/IEventConsumer.cs
blob: 93005134a7e8f1fa243006d263f64b7d756ff7e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Threading.Tasks;

namespace MediaBrowser.Controller.Events
{
    /// <summary>
    /// An interface representing a type that consumes events of type <c>T</c>.
    /// </summary>
    /// <typeparam name="T">The type of events this consumes.</typeparam>
    public interface IEventConsumer<in T>
        where T : EventArgs
    {
        /// <summary>
        /// A method that is called when an event of type <c>T</c> is fired.
        /// </summary>
        /// <param name="eventArgs">The event.</param>
        /// <returns>A task representing the consumption of the event.</returns>
        Task OnEvent(T eventArgs);
    }
}