diff --git a/Base/XBaseHub.cs b/Base/XBaseHub.cs index b15aac2..1375fd7 100644 --- a/Base/XBaseHub.cs +++ b/Base/XBaseHub.cs @@ -14,7 +14,7 @@ namespace xPushService.Base { /// /// a base class for implementing Hubs ... /// - public abstract class XBaseHub : Hub { + public abstract class XBaseHub : Hub, IXBaseHub { // #region Props ... protected readonly IXPushGroupStore groupStore; diff --git a/Interfaces/IXBaseHub.cs b/Interfaces/IXBaseHub.cs new file mode 100644 index 0000000..af941bb --- /dev/null +++ b/Interfaces/IXBaseHub.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using xPushService.Models; + +namespace xPushService.Interfaces +{ + public interface IXBaseHub + { + Task OnConnectedAsync(); + Task OnDisconnectedAsync(Exception exception); + Task NotifyNewConnection(string connectionId); + Task UpdateLastSeen(); + Task PushMessageAsync(XPushMessage message); + Task AuthorizedMessageAsync(XPushMessage message); + Task PushMessageToAll(XPushMessage message); + Task PushMessageToConnection( + string connectionId, + XPushMessage message + ); + Task PushMessageToConnections( + IEnumerable connectionIds, + XPushMessage message + ); + } +} \ No newline at end of file