diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-09 13:38:02 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-09 13:38:02 -0400 |
| commit | e1f8c18b516f5bd31f64b8faaa53266a3daddd7a (patch) | |
| tree | b7f3212a71d19dfd99f44d50ba1fa85aa8e81b6b /MediaBrowser.WebDashboard | |
| parent | f57cec4cff8feff70e62056549ea19bbd6a8316c (diff) | |
added ability to track web sockets per session
Diffstat (limited to 'MediaBrowser.WebDashboard')
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardInfo.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardService.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/ApiClient.js | 3 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/packages.config | 2 |
5 files changed, 26 insertions, 10 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardInfo.cs b/MediaBrowser.WebDashboard/Api/DashboardInfo.cs index 31f0f47284..500464ed8f 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardInfo.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardInfo.cs @@ -1,5 +1,5 @@ -using MediaBrowser.Model.Connectivity; -using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Session; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; using System; @@ -33,7 +33,7 @@ namespace MediaBrowser.WebDashboard.Api /// Gets or sets the active connections. /// </summary> /// <value>The active connections.</value> - public ClientConnectionInfo[] ActiveConnections { get; set; } + public SessionInfo[] ActiveConnections { get; set; } /// <summary> /// Gets or sets the users. diff --git a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs index 1c40371798..299ba46825 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs @@ -2,6 +2,7 @@ using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Session; using MediaBrowser.Model.Logging; using System.ComponentModel.Composition; using System.Threading.Tasks; @@ -36,6 +37,7 @@ namespace MediaBrowser.WebDashboard.Api /// </summary> private readonly IUserManager _userManager; private readonly ILibraryManager _libraryManager; + private readonly ISessionManager _sessionManager; /// <summary> /// Initializes a new instance of the <see cref="DashboardInfoWebSocketListener" /> class. @@ -45,13 +47,14 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="taskManager">The task manager.</param> /// <param name="userManager">The user manager.</param> /// <param name="libraryManager">The library manager.</param> - public DashboardInfoWebSocketListener(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager, ILibraryManager libraryManager) + public DashboardInfoWebSocketListener(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager, ILibraryManager libraryManager, ISessionManager sessionManager) : base(logger) { _appHost = appHost; _taskManager = taskManager; _userManager = userManager; _libraryManager = libraryManager; + _sessionManager = sessionManager; } /// <summary> @@ -61,7 +64,7 @@ namespace MediaBrowser.WebDashboard.Api /// <returns>Task{IEnumerable{TaskInfo}}.</returns> protected override Task<DashboardInfo> GetDataToSend(object state) { - return DashboardService.GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager); + return DashboardService.GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager, _sessionManager); } } } diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index ab03ca3580..b33c152f1d 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -7,6 +7,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; +using MediaBrowser.Controller.Session; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Tasks; using ServiceStack.ServiceHost; @@ -127,6 +128,8 @@ namespace MediaBrowser.WebDashboard.Api /// </summary> private readonly IServerConfigurationManager _serverConfigurationManager; + private readonly ISessionManager _sessionManager; + /// <summary> /// Initializes a new instance of the <see cref="DashboardService" /> class. /// </summary> @@ -135,13 +138,14 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="appHost">The app host.</param> /// <param name="libraryManager">The library manager.</param> /// <param name="serverConfigurationManager">The server configuration manager.</param> - public DashboardService(ITaskManager taskManager, IUserManager userManager, IServerApplicationHost appHost, ILibraryManager libraryManager, IServerConfigurationManager serverConfigurationManager) + public DashboardService(ITaskManager taskManager, IUserManager userManager, IServerApplicationHost appHost, ILibraryManager libraryManager, IServerConfigurationManager serverConfigurationManager, ISessionManager sessionManager) { _taskManager = taskManager; _userManager = userManager; _appHost = appHost; _libraryManager = libraryManager; _serverConfigurationManager = serverConfigurationManager; + _sessionManager = sessionManager; } /// <summary> @@ -180,7 +184,7 @@ namespace MediaBrowser.WebDashboard.Api /// <returns>System.Object.</returns> public object Get(GetDashboardInfo request) { - var result = GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager).Result; + var result = GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager, _sessionManager).Result; return ResultFactory.GetOptimizedResult(RequestContext, result); } @@ -193,10 +197,16 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="taskManager">The task manager.</param> /// <param name="userManager">The user manager.</param> /// <param name="libraryManager">The library manager.</param> + /// <param name="connectionManager">The connection manager.</param> /// <returns>DashboardInfo.</returns> - public static async Task<DashboardInfo> GetDashboardInfo(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager, ILibraryManager libraryManager) + public static async Task<DashboardInfo> GetDashboardInfo(IServerApplicationHost appHost, + ILogger logger, + ITaskManager taskManager, + IUserManager userManager, + ILibraryManager libraryManager, + ISessionManager connectionManager) { - var connections = userManager.RecentConnections.ToArray(); + var connections = connectionManager.RecentConnections.ToArray(); var dtoBuilder = new UserDtoBuilder(logger); diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index ae97e86f11..dead882b91 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -159,6 +159,9 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { webSocket.onopen = function () { setTimeout(function () { + + self.sendWebSocketMessage("Identify", deviceId + "|" + clientName); + $(self).trigger("websocketopen"); }, 500); }; diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index d721e1dc7d..01c9cc1086 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="MediaBrowser.ApiClient.Javascript" version="3.0.99" targetFramework="net45" /> + <package id="MediaBrowser.ApiClient.Javascript" version="3.0.100" targetFramework="net45" /> <package id="ServiceStack.Common" version="3.9.44" targetFramework="net45" /> <package id="ServiceStack.Text" version="3.9.44" targetFramework="net45" /> </packages>
\ No newline at end of file |
