NullEventBus.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using System;
  2. using System.Threading.Tasks;
  3. using Abp.Events.Bus.Factories;
  4. using Abp.Events.Bus.Handlers;
  5. using Abp.Utils.Etc;
  6. namespace Abp.Events.Bus
  7. {
  8. /// <summary>
  9. /// An event bus that implements Null object pattern.
  10. /// </summary>
  11. public sealed class NullEventBus : IEventBus
  12. {
  13. /// <summary>
  14. /// Gets single instance of <see cref="NullEventBus"/> class.
  15. /// </summary>
  16. public static NullEventBus Instance { get; } = new NullEventBus();
  17. private NullEventBus()
  18. {
  19. }
  20. /// <inheritdoc/>
  21. public IDisposable Register<TEventData>(Action<TEventData> action) where TEventData : IEventData
  22. {
  23. return NullDisposable.Instance;
  24. }
  25. /// <inheritdoc/>
  26. public IDisposable AsyncRegister<TEventData>(Func<TEventData, Task> action) where TEventData : IEventData
  27. {
  28. return NullDisposable.Instance;
  29. }
  30. /// <inheritdoc/>
  31. public IDisposable Register<TEventData>(IEventHandler<TEventData> handler) where TEventData : IEventData
  32. {
  33. return NullDisposable.Instance;
  34. }
  35. /// <inheritdoc/>
  36. public IDisposable AsyncRegister<TEventData>(IAsyncEventHandler<TEventData> handler) where TEventData : IEventData
  37. {
  38. return NullDisposable.Instance;
  39. }
  40. /// <inheritdoc/>
  41. public IDisposable Register<TEventData, THandler>()
  42. where TEventData : IEventData
  43. where THandler : IEventHandler, new()
  44. {
  45. return NullDisposable.Instance;
  46. }
  47. /// <inheritdoc/>
  48. public IDisposable Register(Type eventType, IEventHandler handler)
  49. {
  50. return NullDisposable.Instance;
  51. }
  52. /// <inheritdoc/>
  53. public IDisposable Register<TEventData>(IEventHandlerFactory handlerFactory) where TEventData : IEventData
  54. {
  55. return NullDisposable.Instance;
  56. }
  57. /// <inheritdoc/>
  58. public IDisposable Register(Type eventType, IEventHandlerFactory handlerFactory)
  59. {
  60. return NullDisposable.Instance;
  61. }
  62. /// <inheritdoc/>
  63. public void Unregister<TEventData>(Action<TEventData> action) where TEventData : IEventData
  64. {
  65. }
  66. /// <inheritdoc/>
  67. public void AsyncUnregister<TEventData>(Func<TEventData, Task> action) where TEventData : IEventData
  68. {
  69. }
  70. /// <inheritdoc/>
  71. public void Unregister<TEventData>(IEventHandler<TEventData> handler) where TEventData : IEventData
  72. {
  73. }
  74. /// <inheritdoc/>
  75. public void AsyncUnregister<TEventData>(IAsyncEventHandler<TEventData> handler) where TEventData : IEventData
  76. {
  77. }
  78. /// <inheritdoc/>
  79. public void Unregister(Type eventType, IEventHandler handler)
  80. {
  81. }
  82. /// <inheritdoc/>
  83. public void Unregister<TEventData>(IEventHandlerFactory factory) where TEventData : IEventData
  84. {
  85. }
  86. /// <inheritdoc/>
  87. public void Unregister(Type eventType, IEventHandlerFactory factory)
  88. {
  89. }
  90. /// <inheritdoc/>
  91. public void UnregisterAll<TEventData>() where TEventData : IEventData
  92. {
  93. }
  94. /// <inheritdoc/>
  95. public void UnregisterAll(Type eventType)
  96. {
  97. }
  98. /// <inheritdoc/>
  99. public void Trigger<TEventData>(TEventData eventData) where TEventData : IEventData
  100. {
  101. }
  102. /// <inheritdoc/>
  103. public void Trigger<TEventData>(object eventSource, TEventData eventData) where TEventData : IEventData
  104. {
  105. }
  106. /// <inheritdoc/>
  107. public void Trigger(Type eventType, IEventData eventData)
  108. {
  109. }
  110. /// <inheritdoc/>
  111. public void Trigger(Type eventType, object eventSource, IEventData eventData)
  112. {
  113. }
  114. /// <inheritdoc/>
  115. public Task TriggerAsync<TEventData>(TEventData eventData) where TEventData : IEventData
  116. {
  117. return Task.CompletedTask;
  118. }
  119. /// <inheritdoc/>
  120. public Task TriggerAsync<TEventData>(object eventSource, TEventData eventData) where TEventData : IEventData
  121. {
  122. return Task.CompletedTask;
  123. }
  124. /// <inheritdoc/>
  125. public Task TriggerAsync(Type eventType, IEventData eventData)
  126. {
  127. return Task.CompletedTask;
  128. }
  129. /// <inheritdoc/>
  130. public Task TriggerAsync(Type eventType, object eventSource, IEventData eventData)
  131. {
  132. return Task.CompletedTask;
  133. }
  134. }
  135. }