Browse Source

IEventBus.Subscribe should be separated.

pull/625/head
Halil ibrahim Kalkan 8 years ago
parent
commit
40ea123451
  1. 5
      framework/src/Volo.Abp.EventBus.Distributed.RabbitMQ/Volo/Abp/EventBus/Distributed/RabbitMq/RabbitMqDistributedEventBus.cs
  2. 13
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/IDistributedEventBus.cs
  3. 6
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus.cs
  4. 2
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/NullDistributedEventBus.cs
  5. 6
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs
  6. 9
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/IEventBus.cs
  7. 11
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Local/ILocalEventBus.cs
  8. 6
      framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Local/LocalEventBus.cs

5
framework/src/Volo.Abp.EventBus.Distributed.RabbitMQ/Volo/Abp/EventBus/Distributed/RabbitMq/RabbitMqDistributedEventBus.cs

@ -124,6 +124,11 @@ namespace Volo.Abp.EventBus.Distributed.RabbitMq
channel.BasicAck(ea.DeliveryTag, multiple: false); channel.BasicAck(ea.DeliveryTag, multiple: false);
} }
public IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class
{
return Subscribe(typeof(TEvent), handler);
}
public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory)
{ {
var handlerFactories = GetOrCreateHandlerFactories(eventType); var handlerFactories = GetOrCreateHandlerFactories(eventType);

13
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/IDistributedEventBus.cs

@ -1,7 +1,16 @@
namespace Volo.Abp.EventBus.Distributed using System;
namespace Volo.Abp.EventBus.Distributed
{ {
public interface IDistributedEventBus : IEventBus public interface IDistributedEventBus : IEventBus
{ {
/// <summary>
/// Registers to an event.
/// Same (given) instance of the handler is used for all event occurrences.
/// </summary>
/// <typeparam name="TEvent">Event type</typeparam>
/// <param name="handler">Object to handle the event</param>
IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler)
where TEvent : class;
} }
} }

6
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus.cs

@ -48,6 +48,12 @@ namespace Volo.Abp.EventBus.Distributed
} }
} }
/// <inheritdoc/>
public virtual IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class
{
return Subscribe(typeof(TEvent), handler);
}
public IDisposable Subscribe<TEvent>(Func<TEvent, Task> action) where TEvent : class public IDisposable Subscribe<TEvent>(Func<TEvent, Task> action) where TEvent : class
{ {
return _localEventBus.Subscribe(action); return _localEventBus.Subscribe(action);

2
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Distributed/NullDistributedEventBus.cs

@ -17,7 +17,7 @@ namespace Volo.Abp.EventBus.Distributed
return NullDisposable.Instance; return NullDisposable.Instance;
} }
public IDisposable Subscribe<TEvent>(ILocalEventHandler<TEvent> handler) where TEvent : class public IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class
{ {
return NullDisposable.Instance; return NullDisposable.Instance;
} }

6
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusBase.cs

@ -18,12 +18,6 @@ namespace Volo.Abp.EventBus
return Subscribe(typeof(TEvent), new ActionEventHandler<TEvent>(action)); return Subscribe(typeof(TEvent), new ActionEventHandler<TEvent>(action));
} }
/// <inheritdoc/>
public virtual IDisposable Subscribe<TEvent>(ILocalEventHandler<TEvent> handler) where TEvent : class
{
return Subscribe(typeof(TEvent), handler);
}
/// <inheritdoc/> /// <inheritdoc/>
public virtual IDisposable Subscribe<TEvent, THandler>() public virtual IDisposable Subscribe<TEvent, THandler>()
where TEvent : class where TEvent : class

9
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/IEventBus.cs

@ -31,15 +31,6 @@ namespace Volo.Abp.EventBus
IDisposable Subscribe<TEvent>(Func<TEvent, Task> action) IDisposable Subscribe<TEvent>(Func<TEvent, Task> action)
where TEvent : class; where TEvent : class;
/// <summary>
/// Registers to an event.
/// Same (given) instance of the handler is used for all event occurrences.
/// </summary>
/// <typeparam name="TEvent">Event type</typeparam>
/// <param name="handler">Object to handle the event</param>
IDisposable Subscribe<TEvent>(ILocalEventHandler<TEvent> handler)
where TEvent : class;
/// <summary> /// <summary>
/// Registers to an event. /// Registers to an event.
/// A new instance of <see cref="THandler"/> object is created for every event occurrence. /// A new instance of <see cref="THandler"/> object is created for every event occurrence.

11
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Local/ILocalEventBus.cs

@ -1,3 +1,5 @@
using System;
namespace Volo.Abp.EventBus.Local namespace Volo.Abp.EventBus.Local
{ {
/// <summary> /// <summary>
@ -5,6 +7,13 @@ namespace Volo.Abp.EventBus.Local
/// </summary> /// </summary>
public interface ILocalEventBus : IEventBus public interface ILocalEventBus : IEventBus
{ {
/// <summary>
/// Registers to an event.
/// Same (given) instance of the handler is used for all event occurrences.
/// </summary>
/// <typeparam name="TEvent">Event type</typeparam>
/// <param name="handler">Object to handle the event</param>
IDisposable Subscribe<TEvent>(ILocalEventHandler<TEvent> handler)
where TEvent : class;
} }
} }

6
framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/Local/LocalEventBus.cs

@ -63,6 +63,12 @@ namespace Volo.Abp.EventBus.Local
} }
} }
/// <inheritdoc/>
public virtual IDisposable Subscribe<TEvent>(ILocalEventHandler<TEvent> handler) where TEvent : class
{
return Subscribe(typeof(TEvent), handler);
}
/// <inheritdoc/> /// <inheritdoc/>
public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory)
{ {

Loading…
Cancel
Save