using System;
using System.Threading.Tasks;
using Abp.Events.Bus.Factories;
using Abp.Events.Bus.Handlers;
using Abp.Utils.Etc;
namespace Abp.Events.Bus
{
///
/// An event bus that implements Null object pattern.
///
public sealed class NullEventBus : IEventBus
{
///
/// Gets single instance of class.
///
public static NullEventBus Instance { get; } = new NullEventBus();
private NullEventBus()
{
}
///
public IDisposable Register(Action action) where TEventData : IEventData
{
return NullDisposable.Instance;
}
///
public IDisposable AsyncRegister(Func action) where TEventData : IEventData
{
return NullDisposable.Instance;
}
///
public IDisposable Register(IEventHandler handler) where TEventData : IEventData
{
return NullDisposable.Instance;
}
///
public IDisposable AsyncRegister(IAsyncEventHandler handler) where TEventData : IEventData
{
return NullDisposable.Instance;
}
///
public IDisposable Register()
where TEventData : IEventData
where THandler : IEventHandler, new()
{
return NullDisposable.Instance;
}
///
public IDisposable Register(Type eventType, IEventHandler handler)
{
return NullDisposable.Instance;
}
///
public IDisposable Register(IEventHandlerFactory handlerFactory) where TEventData : IEventData
{
return NullDisposable.Instance;
}
///
public IDisposable Register(Type eventType, IEventHandlerFactory handlerFactory)
{
return NullDisposable.Instance;
}
///
public void Unregister(Action action) where TEventData : IEventData
{
}
///
public void AsyncUnregister(Func action) where TEventData : IEventData
{
}
///
public void Unregister(IEventHandler handler) where TEventData : IEventData
{
}
///
public void AsyncUnregister(IAsyncEventHandler handler) where TEventData : IEventData
{
}
///
public void Unregister(Type eventType, IEventHandler handler)
{
}
///
public void Unregister(IEventHandlerFactory factory) where TEventData : IEventData
{
}
///
public void Unregister(Type eventType, IEventHandlerFactory factory)
{
}
///
public void UnregisterAll() where TEventData : IEventData
{
}
///
public void UnregisterAll(Type eventType)
{
}
///
public void Trigger(TEventData eventData) where TEventData : IEventData
{
}
///
public void Trigger(object eventSource, TEventData eventData) where TEventData : IEventData
{
}
///
public void Trigger(Type eventType, IEventData eventData)
{
}
///
public void Trigger(Type eventType, object eventSource, IEventData eventData)
{
}
///
public Task TriggerAsync(TEventData eventData) where TEventData : IEventData
{
return Task.CompletedTask;
}
///
public Task TriggerAsync(object eventSource, TEventData eventData) where TEventData : IEventData
{
return Task.CompletedTask;
}
///
public Task TriggerAsync(Type eventType, IEventData eventData)
{
return Task.CompletedTask;
}
///
public Task TriggerAsync(Type eventType, object eventSource, IEventData eventData)
{
return Task.CompletedTask;
}
}
}