using System; using System.Threading.Tasks; namespace Volo.Abp.EventBus.Distributed; public sealed class NullDistributedEventBus : IDistributedEventBus { public static NullDistributedEventBus Instance { get; } = new NullDistributedEventBus(); private NullDistributedEventBus() { } /// public Task PublishAsync(string eventName, object eventData, bool onUnitOfWorkComplete = true) { return Task.CompletedTask; } public IDisposable Subscribe(Func action) where TEvent : class { return NullDisposable.Instance; } public IDisposable Subscribe(IDistributedEventHandler handler) where TEvent : class { return NullDisposable.Instance; } public IDisposable Subscribe() where TEvent : class where THandler : IEventHandler, new() { return NullDisposable.Instance; } public IDisposable Subscribe(Type eventType, IEventHandler handler) { return NullDisposable.Instance; } /// public IDisposable Subscribe(string eventName, IEventHandler handler) { return NullDisposable.Instance; } /// public IDisposable Subscribe(string eventName, IEventHandlerFactory handler) { return NullDisposable.Instance; } /// public IDisposable Subscribe(string eventName, IDistributedEventHandler handler) { return NullDisposable.Instance; } public IDisposable Subscribe(IEventHandlerFactory factory) where TEvent : class { return NullDisposable.Instance; } public IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) { return NullDisposable.Instance; } public void Unsubscribe(Func action) where TEvent : class { } public void Unsubscribe(ILocalEventHandler handler) where TEvent : class { } public void Unsubscribe(Type eventType, IEventHandler handler) { } public void Unsubscribe(IEventHandlerFactory factory) where TEvent : class { } public void Unsubscribe(Type eventType, IEventHandlerFactory factory) { } /// public void Unsubscribe(string eventName, IEventHandlerFactory factory) { } /// public void Unsubscribe(string eventName, IEventHandler handler) { } public void UnsubscribeAll() where TEvent : class { } public void UnsubscribeAll(Type eventType) { } /// public void UnsubscribeAll(string eventName) { } public Task PublishAsync(TEvent eventData, bool onUnitOfWorkComplete = true) where TEvent : class { return Task.CompletedTask; } public Task PublishAsync(Type eventType, object eventData, bool onUnitOfWorkComplete = true) { return Task.CompletedTask; } public Task PublishAsync(TEvent eventData, bool onUnitOfWorkComplete = true, bool useOutbox = true) where TEvent : class { return Task.CompletedTask; } public Task PublishAsync(Type eventType, object eventData, bool onUnitOfWorkComplete = true, bool useOutbox = true) { return Task.CompletedTask; } /// public Task PublishAsync(string eventName, object eventData, bool onUnitOfWorkComplete = true, bool useOutbox = true) { return Task.CompletedTask; } }