IEventHandlerFactory.cs 829 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using Abp.Events.Bus.Handlers;
  3. namespace Abp.Events.Bus.Factories
  4. {
  5. /// <summary>
  6. /// Defines an interface for factories those are responsible to create/get and release of event handlers.
  7. /// </summary>
  8. public interface IEventHandlerFactory
  9. {
  10. /// <summary>
  11. /// Gets an event handler.
  12. /// </summary>
  13. /// <returns>The event handler</returns>
  14. IEventHandler GetHandler();
  15. /// <summary>
  16. /// Gets type of the handler (without creating an instance).
  17. /// </summary>
  18. /// <returns></returns>
  19. Type GetHandlerType();
  20. /// <summary>
  21. /// Releases an event handler.
  22. /// </summary>
  23. /// <param name="handler">Handle to be released</param>
  24. void ReleaseHandler(IEventHandler handler);
  25. }
  26. }