aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-09 13:38:02 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-09 13:38:02 -0400
commite1f8c18b516f5bd31f64b8faaa53266a3daddd7a (patch)
treeb7f3212a71d19dfd99f44d50ba1fa85aa8e81b6b /MediaBrowser.WebDashboard
parentf57cec4cff8feff70e62056549ea19bbd6a8316c (diff)
added ability to track web sockets per session
Diffstat (limited to 'MediaBrowser.WebDashboard')
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardInfo.cs6
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs7
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs18
-rw-r--r--MediaBrowser.WebDashboard/ApiClient.js3
-rw-r--r--MediaBrowser.WebDashboard/packages.config2
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