added model classes for remote control

This commit is contained in:
Luke Pulverenti
2013-05-09 18:43:11 -04:00
parent 2b28320764
commit 35a7986b3f
22 changed files with 289 additions and 30 deletions

View File

@@ -41,9 +41,6 @@ namespace MediaBrowser.Server.Implementations.Session
private readonly ConcurrentDictionary<string, SessionInfo> _activeConnections =
new ConcurrentDictionary<string, SessionInfo>(StringComparer.OrdinalIgnoreCase);
private readonly ConcurrentDictionary<Guid, IWebSocketConnection> _websocketConnections =
new ConcurrentDictionary<Guid, IWebSocketConnection>();
/// <summary>
/// Occurs when [playback start].
/// </summary>
@@ -133,7 +130,7 @@ namespace MediaBrowser.Server.Implementations.Session
var conn = GetConnection(clientType, deviceId, deviceName, user);
conn.NowPlayingPositionTicks = currentPositionTicks;
conn.NowPlayingItem = DtoBuilder.GetBaseItemInfo(item);
conn.NowPlayingItem = item;
conn.LastActivityDate = DateTime.UtcNow;
}
@@ -149,7 +146,7 @@ namespace MediaBrowser.Server.Implementations.Session
{
var conn = GetConnection(clientType, deviceId, deviceName, user);
if (conn.NowPlayingItem != null && conn.NowPlayingItem.Id.Equals(item.Id.ToString()))
if (conn.NowPlayingItem != null && conn.NowPlayingItem.Id == item.Id)
{
conn.NowPlayingItem = null;
conn.NowPlayingPositionTicks = null;
@@ -177,7 +174,7 @@ namespace MediaBrowser.Server.Implementations.Session
connection.DeviceName = deviceName;
connection.UserId = user == null ? null : user.Id.ToString();
connection.UserId = user == null ? (Guid?)null : user.Id;
return connection;
}
@@ -366,7 +363,12 @@ namespace MediaBrowser.Server.Implementations.Session
/// <param name="webSocket">The web socket.</param>
public void IdentifyWebSocket(Guid sessionId, IWebSocketConnection webSocket)
{
_websocketConnections.AddOrUpdate(sessionId, webSocket, (key, existing) => webSocket);
var session = AllConnections.FirstOrDefault(i => i.Id == sessionId);
if (session != null)
{
session.WebSocket = webSocket;
}
}
}
}