using System;
using Abp.Events.Bus.Handlers;
namespace Abp.Events.Bus.Factories
{
///
/// Defines an interface for factories those are responsible to create/get and release of event handlers.
///
public interface IEventHandlerFactory
{
///
/// Gets an event handler.
///
/// The event handler
IEventHandler GetHandler();
///
/// Gets type of the handler (without creating an instance).
///
///
Type GetHandlerType();
///
/// Releases an event handler.
///
/// Handle to be released
void ReleaseHandler(IEventHandler handler);
}
}