Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using Cqrs.Events;
11 :
12 : namespace Cqrs.WebApi.SignalR.Hubs
13 : {
14 : /// <summary>
15 : /// Sends <see cref="IEvent{TAuthenticationToken}">events</see> to different groups of users.
16 : /// </summary>
17 : public interface INotificationHub
18 : {
19 : /// <summary>
20 : /// Send out an event to specific user RSNs
21 : /// </summary>
22 1 : void SendUsersEvent<TAuthenticationToken>(IEvent<TAuthenticationToken> eventData, params Guid[] userRsnCollection);
23 :
24 : /// <summary>
25 : /// Send out an event to specific user token
26 : /// </summary>
27 1 : void SendUserEvent<TAuthenticationToken>(IEvent<TAuthenticationToken> eventData, string userToken);
28 :
29 : /// <summary>
30 : /// Send out an event to all users
31 : /// </summary>
32 1 : void SendAllUsersEvent<TAuthenticationToken>(IEvent<TAuthenticationToken> eventData);
33 :
34 : /// <summary>
35 : /// Send out an event to all users except the specific user token
36 : /// </summary>
37 1 : void SendExceptThisUserEvent<TAuthenticationToken>(IEvent<TAuthenticationToken> eventData, string userToken);
38 : }
39 : }
|