aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Session
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Session')
-rw-r--r--MediaBrowser.Controller/Session/ISessionController.cs10
-rw-r--r--MediaBrowser.Controller/Session/ISessionManager.cs23
-rw-r--r--MediaBrowser.Controller/Session/SessionInfo.cs5
3 files changed, 38 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs
index d6dd7698e..a4badee47 100644
--- a/MediaBrowser.Controller/Session/ISessionController.cs
+++ b/MediaBrowser.Controller/Session/ISessionController.cs
@@ -105,5 +105,15 @@ namespace MediaBrowser.Controller.Session
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task SendServerRestartNotification(CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Sends the message.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="name">The name.</param>
+ /// <param name="data">The data.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ Task SendMessage<T>(string name, T data, CancellationToken cancellationToken);
}
}
diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs
index f0272b335..4082f5600 100644
--- a/MediaBrowser.Controller/Session/ISessionManager.cs
+++ b/MediaBrowser.Controller/Session/ISessionManager.cs
@@ -171,6 +171,29 @@ namespace MediaBrowser.Controller.Session
Task SendPlaystateCommand(string controllingSessionId, string sessionId, PlaystateRequest command, CancellationToken cancellationToken);
/// <summary>
+ /// Sends the message to user sessions.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="userId">The user identifier.</param>
+ /// <param name="name">The name.</param>
+ /// <param name="data">The data.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ Task SendMessageToUserSessions<T>(string userId, string name, T data, CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Sends the message to user device sessions.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <param name="name">The name.</param>
+ /// <param name="data">The data.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ Task SendMessageToUserDeviceSessions<T>(string deviceId, string name, T data,
+ CancellationToken cancellationToken);
+
+ /// <summary>
/// Sends the restart required message.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs
index d8a2464d6..078d4d70f 100644
--- a/MediaBrowser.Controller/Session/SessionInfo.cs
+++ b/MediaBrowser.Controller/Session/SessionInfo.cs
@@ -160,6 +160,11 @@ namespace MediaBrowser.Controller.Session
}
}
+ public bool ContainsUser(string userId)
+ {
+ return ContainsUser(new Guid(userId));
+ }
+
public bool ContainsUser(Guid userId)
{
return (UserId ?? Guid.Empty) == userId || AdditionalUsers.Any(i => userId == new Guid(i.UserId));