Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="cdmdotnet Limited">
4 : // // Copyright cdmdotnet Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using cdmdotnet.Logging;
11 : using Cqrs.Configuration;
12 : using Cqrs.Messages;
13 :
14 : namespace Cqrs.Bus
15 : {
16 : public interface IBusHelper
17 : {
18 : /// <summary>
19 : /// Checks if a white-list or black-list approach is taken, then checks the <see cref="IConfigurationManager"/> to see if a key exists defining if the event is required or not.
20 : /// If the event is required and it cannot be resolved, an error will be raised.
21 : /// Otherwise the event will be marked as processed.
22 : /// </summary>
23 : /// <param name="messageType">The <see cref="Type"/> of the message being processed.</param>
24 1 : bool IsEventRequired(Type messageType);
25 :
26 : /// <summary>
27 : /// Checks if a white-list or black-list approach is taken, then checks the <see cref="IConfigurationManager"/> to see if a key exists defining if the event is required or not.
28 : /// If the event is required and it cannot be resolved, an error will be raised.
29 : /// Otherwise the event will be marked as processed.
30 : /// </summary>
31 : /// <param name="configurationKey">The configuration key to check.</param>
32 3 : bool IsEventRequired(string configurationKey);
33 :
34 : /// <summary>
35 : /// Build a message handler that implements telemetry capturing as well as off thread handling.
36 : /// </summary>
37 : Action<TMessage> BuildTelemeteredActionHandler<TMessage, TAuthenticationToken>(ITelemetryHelper telemetryHelper, Action<TMessage> handler, bool holdMessageLock, string source)
38 : where TMessage : IMessage;
39 :
40 : /// <summary>
41 : /// Build a message handler that implements telemetry capturing as well as off thread handling.
42 : /// </summary>
43 : Action<TMessage> BuildActionHandler<TMessage>(Action<TMessage> handler, bool holdMessageLock)
44 : where TMessage : IMessage;
45 : }
46 : }
|