using System; using System.Threading.Tasks; namespace MediaBrowser.Controller.Events { /// /// An interface that handles eventing. /// public interface IEventManager { /// /// Publishes an event. /// /// the event arguments. /// The type of event. void Publish(T eventArgs) where T : EventArgs; /// /// Publishes an event asynchronously. /// /// The event arguments. /// The type of event. /// A task representing the publishing of the event. Task PublishAsync(T eventArgs) where T : EventArgs; } }