Rename Syncplay to SyncPlay

pull/2733/head
gion 4 years ago
parent 6e22e9222b
commit 8a6ec2fb71

@ -47,7 +47,7 @@ using Emby.Server.Implementations.Session;
using Emby.Server.Implementations.SocketSharp; using Emby.Server.Implementations.SocketSharp;
using Emby.Server.Implementations.TV; using Emby.Server.Implementations.TV;
using Emby.Server.Implementations.Updates; using Emby.Server.Implementations.Updates;
using Emby.Server.Implementations.Syncplay; using Emby.Server.Implementations.SyncPlay;
using MediaBrowser.Api; using MediaBrowser.Api;
using MediaBrowser.Common; using MediaBrowser.Common;
using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Configuration;
@ -81,7 +81,7 @@ using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.Sorting; using MediaBrowser.Controller.Sorting;
using MediaBrowser.Controller.Subtitles; using MediaBrowser.Controller.Subtitles;
using MediaBrowser.Controller.TV; using MediaBrowser.Controller.TV;
using MediaBrowser.Controller.Syncplay; using MediaBrowser.Controller.SyncPlay;
using MediaBrowser.LocalMetadata.Savers; using MediaBrowser.LocalMetadata.Savers;
using MediaBrowser.MediaEncoding.BdInfo; using MediaBrowser.MediaEncoding.BdInfo;
using MediaBrowser.Model.Activity; using MediaBrowser.Model.Activity;
@ -645,7 +645,7 @@ namespace Emby.Server.Implementations
serviceCollection.AddSingleton<IPlaylistManager, PlaylistManager>(); serviceCollection.AddSingleton<IPlaylistManager, PlaylistManager>();
serviceCollection.AddSingleton<ISyncplayManager, SyncplayManager>(); serviceCollection.AddSingleton<ISyncPlayManager, SyncPlayManager>();
serviceCollection.AddSingleton<LiveTvDtoService>(); serviceCollection.AddSingleton<LiveTvDtoService>();
serviceCollection.AddSingleton<ILiveTvManager, LiveTvManager>(); serviceCollection.AddSingleton<ILiveTvManager, LiveTvManager>();

@ -25,7 +25,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.Library; using MediaBrowser.Model.Library;
using MediaBrowser.Model.Querying; using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Session; using MediaBrowser.Model.Session;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Session namespace Emby.Server.Implementations.Session
@ -1156,19 +1156,19 @@ namespace Emby.Server.Implementations.Session
} }
/// <inheritdoc /> /// <inheritdoc />
public async Task SendSyncplayCommand(string sessionId, SendCommand command, CancellationToken cancellationToken) public async Task SendSyncPlayCommand(string sessionId, SendCommand command, CancellationToken cancellationToken)
{ {
CheckDisposed(); CheckDisposed();
var session = GetSessionToRemoteControl(sessionId); var session = GetSessionToRemoteControl(sessionId);
await SendMessageToSession(session, "SyncplayCommand", command, cancellationToken).ConfigureAwait(false); await SendMessageToSession(session, "SyncPlayCommand", command, cancellationToken).ConfigureAwait(false);
} }
/// <inheritdoc /> /// <inheritdoc />
public async Task SendSyncplayGroupUpdate<T>(string sessionId, GroupUpdate<T> command, CancellationToken cancellationToken) public async Task SendSyncPlayGroupUpdate<T>(string sessionId, GroupUpdate<T> command, CancellationToken cancellationToken)
{ {
CheckDisposed(); CheckDisposed();
var session = GetSessionToRemoteControl(sessionId); var session = GetSessionToRemoteControl(sessionId);
await SendMessageToSession(session, "SyncplayGroupUpdate", command, cancellationToken).ConfigureAwait(false); await SendMessageToSession(session, "SyncPlayGroupUpdate", command, cancellationToken).ConfigureAwait(false);
} }
private IEnumerable<BaseItem> TranslateItemForPlayback(Guid id, User user) private IEnumerable<BaseItem> TranslateItemForPlayback(Guid id, User user)

@ -4,19 +4,19 @@ using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.Syncplay; using MediaBrowser.Controller.SyncPlay;
using MediaBrowser.Model.Session; using MediaBrowser.Model.Session;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
namespace Emby.Server.Implementations.Syncplay namespace Emby.Server.Implementations.SyncPlay
{ {
/// <summary> /// <summary>
/// Class SyncplayController. /// Class SyncPlayController.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Class is not thread-safe, external locking is required when accessing methods. /// Class is not thread-safe, external locking is required when accessing methods.
/// </remarks> /// </remarks>
public class SyncplayController : ISyncplayController, IDisposable public class SyncPlayController : ISyncPlayController, IDisposable
{ {
/// <summary> /// <summary>
/// Used to filter the sessions of a group. /// Used to filter the sessions of a group.
@ -47,9 +47,9 @@ namespace Emby.Server.Implementations.Syncplay
private readonly ISessionManager _sessionManager; private readonly ISessionManager _sessionManager;
/// <summary> /// <summary>
/// The syncplay manager. /// The SyncPlay manager.
/// </summary> /// </summary>
private readonly ISyncplayManager _syncplayManager; private readonly ISyncPlayManager _syncPlayManager;
/// <summary> /// <summary>
/// The group to manage. /// The group to manage.
@ -67,12 +67,12 @@ namespace Emby.Server.Implementations.Syncplay
private bool _disposed = false; private bool _disposed = false;
public SyncplayController( public SyncPlayController(
ISessionManager sessionManager, ISessionManager sessionManager,
ISyncplayManager syncplayManager) ISyncPlayManager syncPlayManager)
{ {
_sessionManager = sessionManager; _sessionManager = sessionManager;
_syncplayManager = syncplayManager; _syncPlayManager = syncPlayManager;
} }
/// <inheritdoc /> /// <inheritdoc />
@ -163,7 +163,7 @@ namespace Emby.Server.Implementations.Syncplay
SessionInfo[] sessions = FilterSessions(from, type); SessionInfo[] sessions = FilterSessions(from, type);
foreach (var session in sessions) foreach (var session in sessions)
{ {
yield return _sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), message, cancellationToken); yield return _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), message, cancellationToken);
} }
} }
@ -185,7 +185,7 @@ namespace Emby.Server.Implementations.Syncplay
SessionInfo[] sessions = FilterSessions(from, type); SessionInfo[] sessions = FilterSessions(from, type);
foreach (var session in sessions) foreach (var session in sessions)
{ {
yield return _sessionManager.SendSyncplayCommand(session.Id.ToString(), message, cancellationToken); yield return _sessionManager.SendSyncPlayCommand(session.Id.ToString(), message, cancellationToken);
} }
} }
@ -197,7 +197,7 @@ namespace Emby.Server.Implementations.Syncplay
/// </summary> /// </summary>
/// <param name="type">The command type.</param> /// <param name="type">The command type.</param>
/// <value>The SendCommand.</value> /// <value>The SendCommand.</value>
private SendCommand NewSyncplayCommand(SendCommandType type) private SendCommand NewSyncPlayCommand(SendCommandType type)
{ {
return new SendCommand() return new SendCommand()
{ {
@ -215,7 +215,7 @@ namespace Emby.Server.Implementations.Syncplay
/// <param name="type">The update type.</param> /// <param name="type">The update type.</param>
/// <param name="data">The data to send.</param> /// <param name="data">The data to send.</param>
/// <value>The GroupUpdate.</value> /// <value>The GroupUpdate.</value>
private GroupUpdate<T> NewSyncplayGroupUpdate<T>(GroupUpdateType type, T data) private GroupUpdate<T> NewSyncPlayGroupUpdate<T>(GroupUpdateType type, T data)
{ {
return new GroupUpdate<T>() return new GroupUpdate<T>()
{ {
@ -229,16 +229,16 @@ namespace Emby.Server.Implementations.Syncplay
public void InitGroup(SessionInfo session, CancellationToken cancellationToken) public void InitGroup(SessionInfo session, CancellationToken cancellationToken)
{ {
_group.AddSession(session); _group.AddSession(session);
_syncplayManager.AddSessionToGroup(session, this); _syncPlayManager.AddSessionToGroup(session, this);
_group.PlayingItem = session.FullNowPlayingItem; _group.PlayingItem = session.FullNowPlayingItem;
_group.IsPaused = true; _group.IsPaused = true;
_group.PositionTicks = session.PlayState.PositionTicks ?? 0; _group.PositionTicks = session.PlayState.PositionTicks ?? 0;
_group.LastActivity = DateTime.UtcNow; _group.LastActivity = DateTime.UtcNow;
var updateSession = NewSyncplayGroupUpdate(GroupUpdateType.GroupJoined, DateToUTCString(DateTime.UtcNow)); var updateSession = NewSyncPlayGroupUpdate(GroupUpdateType.GroupJoined, DateToUTCString(DateTime.UtcNow));
SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken); SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken);
var pauseCommand = NewSyncplayCommand(SendCommandType.Pause); var pauseCommand = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.CurrentSession, pauseCommand, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, pauseCommand, cancellationToken);
} }
@ -248,23 +248,23 @@ namespace Emby.Server.Implementations.Syncplay
if (session.NowPlayingItem?.Id == _group.PlayingItem.Id && request.PlayingItemId == _group.PlayingItem.Id) if (session.NowPlayingItem?.Id == _group.PlayingItem.Id && request.PlayingItemId == _group.PlayingItem.Id)
{ {
_group.AddSession(session); _group.AddSession(session);
_syncplayManager.AddSessionToGroup(session, this); _syncPlayManager.AddSessionToGroup(session, this);
var updateSession = NewSyncplayGroupUpdate(GroupUpdateType.GroupJoined, DateToUTCString(DateTime.UtcNow)); var updateSession = NewSyncPlayGroupUpdate(GroupUpdateType.GroupJoined, DateToUTCString(DateTime.UtcNow));
SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken); SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken);
var updateOthers = NewSyncplayGroupUpdate(GroupUpdateType.UserJoined, session.UserName); var updateOthers = NewSyncPlayGroupUpdate(GroupUpdateType.UserJoined, session.UserName);
SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken); SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken);
// Client join and play, syncing will happen client side // Client join and play, syncing will happen client side
if (!_group.IsPaused) if (!_group.IsPaused)
{ {
var playCommand = NewSyncplayCommand(SendCommandType.Play); var playCommand = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.CurrentSession, playCommand, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, playCommand, cancellationToken);
} }
else else
{ {
var pauseCommand = NewSyncplayCommand(SendCommandType.Pause); var pauseCommand = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.CurrentSession, pauseCommand, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, pauseCommand, cancellationToken);
} }
} }
@ -273,7 +273,7 @@ namespace Emby.Server.Implementations.Syncplay
var playRequest = new PlayRequest(); var playRequest = new PlayRequest();
playRequest.ItemIds = new Guid[] { _group.PlayingItem.Id }; playRequest.ItemIds = new Guid[] { _group.PlayingItem.Id };
playRequest.StartPositionTicks = _group.PositionTicks; playRequest.StartPositionTicks = _group.PositionTicks;
var update = NewSyncplayGroupUpdate(GroupUpdateType.PrepareSession, playRequest); var update = NewSyncPlayGroupUpdate(GroupUpdateType.PrepareSession, playRequest);
SendGroupUpdate(session, BroadcastType.CurrentSession, update, cancellationToken); SendGroupUpdate(session, BroadcastType.CurrentSession, update, cancellationToken);
} }
} }
@ -282,12 +282,12 @@ namespace Emby.Server.Implementations.Syncplay
public void SessionLeave(SessionInfo session, CancellationToken cancellationToken) public void SessionLeave(SessionInfo session, CancellationToken cancellationToken)
{ {
_group.RemoveSession(session); _group.RemoveSession(session);
_syncplayManager.RemoveSessionFromGroup(session, this); _syncPlayManager.RemoveSessionFromGroup(session, this);
var updateSession = NewSyncplayGroupUpdate(GroupUpdateType.GroupLeft, _group.PositionTicks); var updateSession = NewSyncPlayGroupUpdate(GroupUpdateType.GroupLeft, _group.PositionTicks);
SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken); SendGroupUpdate(session, BroadcastType.CurrentSession, updateSession, cancellationToken);
var updateOthers = NewSyncplayGroupUpdate(GroupUpdateType.UserLeft, session.UserName); var updateOthers = NewSyncPlayGroupUpdate(GroupUpdateType.UserLeft, session.UserName);
SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken); SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken);
} }
@ -344,13 +344,13 @@ namespace Emby.Server.Implementations.Syncplay
delay delay
); );
var command = NewSyncplayCommand(SendCommandType.Play); var command = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.AllGroup, command, cancellationToken); SendCommand(session, BroadcastType.AllGroup, command, cancellationToken);
} }
else else
{ {
// Client got lost, sending current state // Client got lost, sending current state
var command = NewSyncplayCommand(SendCommandType.Play); var command = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken);
} }
} }
@ -374,13 +374,13 @@ namespace Emby.Server.Implementations.Syncplay
// (a pause request may be issued during the delay added to account for latency) // (a pause request may be issued during the delay added to account for latency)
_group.PositionTicks += elapsedTime.Ticks > 0 ? elapsedTime.Ticks : 0; _group.PositionTicks += elapsedTime.Ticks > 0 ? elapsedTime.Ticks : 0;
var command = NewSyncplayCommand(SendCommandType.Pause); var command = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.AllGroup, command, cancellationToken); SendCommand(session, BroadcastType.AllGroup, command, cancellationToken);
} }
else else
{ {
// Client got lost, sending current state // Client got lost, sending current state
var command = NewSyncplayCommand(SendCommandType.Pause); var command = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken);
} }
} }
@ -401,7 +401,7 @@ namespace Emby.Server.Implementations.Syncplay
_group.PositionTicks = ticks; _group.PositionTicks = ticks;
_group.LastActivity = DateTime.UtcNow; _group.LastActivity = DateTime.UtcNow;
var command = NewSyncplayCommand(SendCommandType.Seek); var command = NewSyncPlayCommand(SendCommandType.Seek);
SendCommand(session, BroadcastType.AllGroup, command, cancellationToken); SendCommand(session, BroadcastType.AllGroup, command, cancellationToken);
} }
@ -425,16 +425,16 @@ namespace Emby.Server.Implementations.Syncplay
_group.SetBuffering(session, true); _group.SetBuffering(session, true);
// Send pause command to all non-buffering sessions // Send pause command to all non-buffering sessions
var command = NewSyncplayCommand(SendCommandType.Pause); var command = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.AllReady, command, cancellationToken); SendCommand(session, BroadcastType.AllReady, command, cancellationToken);
var updateOthers = NewSyncplayGroupUpdate(GroupUpdateType.GroupWait, session.UserName); var updateOthers = NewSyncPlayGroupUpdate(GroupUpdateType.GroupWait, session.UserName);
SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken); SendGroupUpdate(session, BroadcastType.AllExceptCurrentSession, updateOthers, cancellationToken);
} }
else else
{ {
// Client got lost, sending current state // Client got lost, sending current state
var command = NewSyncplayCommand(SendCommandType.Pause); var command = NewSyncPlayCommand(SendCommandType.Pause);
SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken);
} }
} }
@ -462,7 +462,7 @@ namespace Emby.Server.Implementations.Syncplay
if (_group.IsBuffering()) if (_group.IsBuffering())
{ {
// Others are still buffering, tell this client to pause when ready // Others are still buffering, tell this client to pause when ready
var command = NewSyncplayCommand(SendCommandType.Pause); var command = NewSyncPlayCommand(SendCommandType.Pause);
var pauseAtTime = currentTime.AddMilliseconds(delay); var pauseAtTime = currentTime.AddMilliseconds(delay);
command.When = DateToUTCString(pauseAtTime); command.When = DateToUTCString(pauseAtTime);
SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken);
@ -478,7 +478,7 @@ namespace Emby.Server.Implementations.Syncplay
_group.LastActivity = currentTime.AddMilliseconds( _group.LastActivity = currentTime.AddMilliseconds(
delay delay
); );
var command = NewSyncplayCommand(SendCommandType.Play); var command = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.AllExceptCurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.AllExceptCurrentSession, command, cancellationToken);
} }
else else
@ -491,7 +491,7 @@ namespace Emby.Server.Implementations.Syncplay
delay delay
); );
var command = NewSyncplayCommand(SendCommandType.Play); var command = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.AllGroup, command, cancellationToken); SendCommand(session, BroadcastType.AllGroup, command, cancellationToken);
} }
} }
@ -499,7 +499,7 @@ namespace Emby.Server.Implementations.Syncplay
else else
{ {
// Group was not waiting, make sure client has latest state // Group was not waiting, make sure client has latest state
var command = NewSyncplayCommand(SendCommandType.Play); var command = NewSyncPlayCommand(SendCommandType.Play);
SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken); SendCommand(session, BroadcastType.CurrentSession, command, cancellationToken);
} }
} }

@ -7,16 +7,16 @@ using Microsoft.Extensions.Logging;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.Syncplay; using MediaBrowser.Controller.SyncPlay;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
namespace Emby.Server.Implementations.Syncplay namespace Emby.Server.Implementations.SyncPlay
{ {
/// <summary> /// <summary>
/// Class SyncplayManager. /// Class SyncPlayManager.
/// </summary> /// </summary>
public class SyncplayManager : ISyncplayManager, IDisposable public class SyncPlayManager : ISyncPlayManager, IDisposable
{ {
/// <summary> /// <summary>
/// The logger. /// The logger.
@ -41,14 +41,14 @@ namespace Emby.Server.Implementations.Syncplay
/// <summary> /// <summary>
/// The map between sessions and groups. /// The map between sessions and groups.
/// </summary> /// </summary>
private readonly Dictionary<string, ISyncplayController> _sessionToGroupMap = private readonly Dictionary<string, ISyncPlayController> _sessionToGroupMap =
new Dictionary<string, ISyncplayController>(StringComparer.OrdinalIgnoreCase); new Dictionary<string, ISyncPlayController>(StringComparer.OrdinalIgnoreCase);
/// <summary> /// <summary>
/// The groups. /// The groups.
/// </summary> /// </summary>
private readonly Dictionary<string, ISyncplayController> _groups = private readonly Dictionary<string, ISyncPlayController> _groups =
new Dictionary<string, ISyncplayController>(StringComparer.OrdinalIgnoreCase); new Dictionary<string, ISyncPlayController>(StringComparer.OrdinalIgnoreCase);
/// <summary> /// <summary>
/// Lock used for accesing any group. /// Lock used for accesing any group.
@ -57,8 +57,8 @@ namespace Emby.Server.Implementations.Syncplay
private bool _disposed = false; private bool _disposed = false;
public SyncplayManager( public SyncPlayManager(
ILogger<SyncplayManager> logger, ILogger<SyncPlayManager> logger,
IUserManager userManager, IUserManager userManager,
ISessionManager sessionManager, ISessionManager sessionManager,
ILibraryManager libraryManager) ILibraryManager libraryManager)
@ -76,7 +76,7 @@ namespace Emby.Server.Implementations.Syncplay
/// Gets all groups. /// Gets all groups.
/// </summary> /// </summary>
/// <value>All groups.</value> /// <value>All groups.</value>
public IEnumerable<ISyncplayController> Groups => _groups.Values; public IEnumerable<ISyncPlayController> Groups => _groups.Values;
/// <inheritdoc /> /// <inheritdoc />
public void Dispose() public void Dispose()
@ -156,7 +156,7 @@ namespace Emby.Server.Implementations.Syncplay
private Guid? GetSessionGroup(SessionInfo session) private Guid? GetSessionGroup(SessionInfo session)
{ {
ISyncplayController group; ISyncPlayController group;
_sessionToGroupMap.TryGetValue(session.Id, out group); _sessionToGroupMap.TryGetValue(session.Id, out group);
if (group != null) if (group != null)
{ {
@ -173,7 +173,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
var user = _userManager.GetUserById(session.UserId); var user = _userManager.GetUserById(session.UserId);
if (user.Policy.SyncplayAccess != SyncplayAccess.CreateAndJoinGroups) if (user.Policy.SyncPlayAccess != SyncPlayAccess.CreateAndJoinGroups)
{ {
_logger.LogWarning("NewGroup: {0} does not have permission to create groups.", session.Id); _logger.LogWarning("NewGroup: {0} does not have permission to create groups.", session.Id);
@ -181,7 +181,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
Type = GroupUpdateType.CreateGroupDenied Type = GroupUpdateType.CreateGroupDenied
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
@ -192,7 +192,7 @@ namespace Emby.Server.Implementations.Syncplay
LeaveGroup(session, cancellationToken); LeaveGroup(session, cancellationToken);
} }
var group = new SyncplayController(_sessionManager, this); var group = new SyncPlayController(_sessionManager, this);
_groups[group.GetGroupId().ToString()] = group; _groups[group.GetGroupId().ToString()] = group;
group.InitGroup(session, cancellationToken); group.InitGroup(session, cancellationToken);
@ -204,21 +204,21 @@ namespace Emby.Server.Implementations.Syncplay
{ {
var user = _userManager.GetUserById(session.UserId); var user = _userManager.GetUserById(session.UserId);
if (user.Policy.SyncplayAccess == SyncplayAccess.None) if (user.Policy.SyncPlayAccess == SyncPlayAccess.None)
{ {
_logger.LogWarning("JoinGroup: {0} does not have access to Syncplay.", session.Id); _logger.LogWarning("JoinGroup: {0} does not have access to SyncPlay.", session.Id);
var error = new GroupUpdate<string>() var error = new GroupUpdate<string>()
{ {
Type = GroupUpdateType.JoinGroupDenied Type = GroupUpdateType.JoinGroupDenied
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
lock (_groupsLock) lock (_groupsLock)
{ {
ISyncplayController group; ISyncPlayController group;
_groups.TryGetValue(groupId, out group); _groups.TryGetValue(groupId, out group);
if (group == null) if (group == null)
@ -229,7 +229,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
Type = GroupUpdateType.GroupDoesNotExist Type = GroupUpdateType.GroupDoesNotExist
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
@ -242,7 +242,7 @@ namespace Emby.Server.Implementations.Syncplay
GroupId = group.GetGroupId().ToString(), GroupId = group.GetGroupId().ToString(),
Type = GroupUpdateType.LibraryAccessDenied Type = GroupUpdateType.LibraryAccessDenied
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
@ -262,7 +262,7 @@ namespace Emby.Server.Implementations.Syncplay
// TODO: determine what happens to users that are in a group and get their permissions revoked // TODO: determine what happens to users that are in a group and get their permissions revoked
lock (_groupsLock) lock (_groupsLock)
{ {
ISyncplayController group; ISyncPlayController group;
_sessionToGroupMap.TryGetValue(session.Id, out group); _sessionToGroupMap.TryGetValue(session.Id, out group);
if (group == null) if (group == null)
@ -273,7 +273,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
Type = GroupUpdateType.NotInGroup Type = GroupUpdateType.NotInGroup
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
@ -292,7 +292,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
var user = _userManager.GetUserById(session.UserId); var user = _userManager.GetUserById(session.UserId);
if (user.Policy.SyncplayAccess == SyncplayAccess.None) if (user.Policy.SyncPlayAccess == SyncPlayAccess.None)
{ {
return new List<GroupInfoView>(); return new List<GroupInfoView>();
} }
@ -322,21 +322,21 @@ namespace Emby.Server.Implementations.Syncplay
{ {
var user = _userManager.GetUserById(session.UserId); var user = _userManager.GetUserById(session.UserId);
if (user.Policy.SyncplayAccess == SyncplayAccess.None) if (user.Policy.SyncPlayAccess == SyncPlayAccess.None)
{ {
_logger.LogWarning("HandleRequest: {0} does not have access to Syncplay.", session.Id); _logger.LogWarning("HandleRequest: {0} does not have access to SyncPlay.", session.Id);
var error = new GroupUpdate<string>() var error = new GroupUpdate<string>()
{ {
Type = GroupUpdateType.JoinGroupDenied Type = GroupUpdateType.JoinGroupDenied
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
lock (_groupsLock) lock (_groupsLock)
{ {
ISyncplayController group; ISyncPlayController group;
_sessionToGroupMap.TryGetValue(session.Id, out group); _sessionToGroupMap.TryGetValue(session.Id, out group);
if (group == null) if (group == null)
@ -347,7 +347,7 @@ namespace Emby.Server.Implementations.Syncplay
{ {
Type = GroupUpdateType.NotInGroup Type = GroupUpdateType.NotInGroup
}; };
_sessionManager.SendSyncplayGroupUpdate(session.Id.ToString(), error, CancellationToken.None); _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
return; return;
} }
@ -356,7 +356,7 @@ namespace Emby.Server.Implementations.Syncplay
} }
/// <inheritdoc /> /// <inheritdoc />
public void AddSessionToGroup(SessionInfo session, ISyncplayController group) public void AddSessionToGroup(SessionInfo session, ISyncPlayController group)
{ {
if (IsSessionInGroup(session)) if (IsSessionInGroup(session))
{ {
@ -366,14 +366,14 @@ namespace Emby.Server.Implementations.Syncplay
} }
/// <inheritdoc /> /// <inheritdoc />
public void RemoveSessionFromGroup(SessionInfo session, ISyncplayController group) public void RemoveSessionFromGroup(SessionInfo session, ISyncPlayController group)
{ {
if (!IsSessionInGroup(session)) if (!IsSessionInGroup(session))
{ {
throw new InvalidOperationException("Session not in any group!"); throw new InvalidOperationException("Session not in any group!");
} }
ISyncplayController tempGroup; ISyncPlayController tempGroup;
_sessionToGroupMap.Remove(session.Id, out tempGroup); _sessionToGroupMap.Remove(session.Id, out tempGroup);
if (!tempGroup.GetGroupId().Equals(group.GetGroupId())) if (!tempGroup.GetGroupId().Equals(group.GetGroupId()))

@ -4,24 +4,24 @@ using System.Collections.Generic;
using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.Syncplay; using MediaBrowser.Controller.SyncPlay;
using MediaBrowser.Model.Services; using MediaBrowser.Model.Services;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Syncplay namespace MediaBrowser.Api.SyncPlay
{ {
[Route("/Syncplay/{SessionId}/NewGroup", "POST", Summary = "Create a new Syncplay group")] [Route("/SyncPlay/{SessionId}/NewGroup", "POST", Summary = "Create a new SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplayNewGroup : IReturnVoid public class SyncPlayNewGroup : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
} }
[Route("/Syncplay/{SessionId}/JoinGroup", "POST", Summary = "Join an existing Syncplay group")] [Route("/SyncPlay/{SessionId}/JoinGroup", "POST", Summary = "Join an existing SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplayJoinGroup : IReturnVoid public class SyncPlayJoinGroup : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
@ -41,17 +41,17 @@ namespace MediaBrowser.Api.Syncplay
public string PlayingItemId { get; set; } public string PlayingItemId { get; set; }
} }
[Route("/Syncplay/{SessionId}/LeaveGroup", "POST", Summary = "Leave joined Syncplay group")] [Route("/SyncPlay/{SessionId}/LeaveGroup", "POST", Summary = "Leave joined SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplayLeaveGroup : IReturnVoid public class SyncPlayLeaveGroup : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
} }
[Route("/Syncplay/{SessionId}/ListGroups", "POST", Summary = "List Syncplay groups")] [Route("/SyncPlay/{SessionId}/ListGroups", "POST", Summary = "List SyncPlay groups")]
[Authenticated] [Authenticated]
public class SyncplayListGroups : IReturnVoid public class SyncPlayListGroups : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
@ -64,25 +64,25 @@ namespace MediaBrowser.Api.Syncplay
public string FilterItemId { get; set; } public string FilterItemId { get; set; }
} }
[Route("/Syncplay/{SessionId}/PlayRequest", "POST", Summary = "Request play in Syncplay group")] [Route("/SyncPlay/{SessionId}/PlayRequest", "POST", Summary = "Request play in SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplayPlayRequest : IReturnVoid public class SyncPlayPlayRequest : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
} }
[Route("/Syncplay/{SessionId}/PauseRequest", "POST", Summary = "Request pause in Syncplay group")] [Route("/SyncPlay/{SessionId}/PauseRequest", "POST", Summary = "Request pause in SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplayPauseRequest : IReturnVoid public class SyncPlayPauseRequest : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
} }
[Route("/Syncplay/{SessionId}/SeekRequest", "POST", Summary = "Request seek in Syncplay group")] [Route("/SyncPlay/{SessionId}/SeekRequest", "POST", Summary = "Request seek in SyncPlay group")]
[Authenticated] [Authenticated]
public class SyncplaySeekRequest : IReturnVoid public class SyncPlaySeekRequest : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
@ -91,9 +91,9 @@ namespace MediaBrowser.Api.Syncplay
public long PositionTicks { get; set; } public long PositionTicks { get; set; }
} }
[Route("/Syncplay/{SessionId}/BufferingRequest", "POST", Summary = "Request group wait in Syncplay group while buffering")] [Route("/SyncPlay/{SessionId}/BufferingRequest", "POST", Summary = "Request group wait in SyncPlay group while buffering")]
[Authenticated] [Authenticated]
public class SyncplayBufferingRequest : IReturnVoid public class SyncPlayBufferingRequest : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
@ -116,9 +116,9 @@ namespace MediaBrowser.Api.Syncplay
public bool BufferingDone { get; set; } public bool BufferingDone { get; set; }
} }
[Route("/Syncplay/{SessionId}/UpdatePing", "POST", Summary = "Update session ping")] [Route("/SyncPlay/{SessionId}/UpdatePing", "POST", Summary = "Update session ping")]
[Authenticated] [Authenticated]
public class SyncplayUpdatePing : IReturnVoid public class SyncPlayUpdatePing : IReturnVoid
{ {
[ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "SessionId", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string SessionId { get; set; } public string SessionId { get; set; }
@ -128,9 +128,9 @@ namespace MediaBrowser.Api.Syncplay
} }
/// <summary> /// <summary>
/// Class SyncplayService. /// Class SyncPlayService.
/// </summary> /// </summary>
public class SyncplayService : BaseApiService public class SyncPlayService : BaseApiService
{ {
/// <summary> /// <summary>
/// The session context. /// The session context.
@ -138,37 +138,37 @@ namespace MediaBrowser.Api.Syncplay
private readonly ISessionContext _sessionContext; private readonly ISessionContext _sessionContext;
/// <summary> /// <summary>
/// The Syncplay manager. /// The SyncPlay manager.
/// </summary> /// </summary>
private readonly ISyncplayManager _syncplayManager; private readonly ISyncPlayManager _syncPlayManager;
public SyncplayService( public SyncPlayService(
ILogger<SyncplayService> logger, ILogger<SyncPlayService> logger,
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
IHttpResultFactory httpResultFactory, IHttpResultFactory httpResultFactory,
ISessionContext sessionContext, ISessionContext sessionContext,
ISyncplayManager syncplayManager) ISyncPlayManager syncPlayManager)
: base(logger, serverConfigurationManager, httpResultFactory) : base(logger, serverConfigurationManager, httpResultFactory)
{ {
_sessionContext = sessionContext; _sessionContext = sessionContext;
_syncplayManager = syncplayManager; _syncPlayManager = syncPlayManager;
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayNewGroup request) public void Post(SyncPlayNewGroup request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
_syncplayManager.NewGroup(currentSession, CancellationToken.None); _syncPlayManager.NewGroup(currentSession, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayJoinGroup request) public void Post(SyncPlayJoinGroup request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var joinRequest = new JoinGroupRequest() var joinRequest = new JoinGroupRequest()
@ -195,17 +195,17 @@ namespace MediaBrowser.Api.Syncplay
return; return;
} }
} }
_syncplayManager.JoinGroup(currentSession, request.GroupId, joinRequest, CancellationToken.None); _syncPlayManager.JoinGroup(currentSession, request.GroupId, joinRequest, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayLeaveGroup request) public void Post(SyncPlayLeaveGroup request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
_syncplayManager.LeaveGroup(currentSession, CancellationToken.None); _syncPlayManager.LeaveGroup(currentSession, CancellationToken.None);
} }
/// <summary> /// <summary>
@ -213,7 +213,7 @@ namespace MediaBrowser.Api.Syncplay
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
/// <value>The requested list of groups.</value> /// <value>The requested list of groups.</value>
public List<GroupInfoView> Post(SyncplayListGroups request) public List<GroupInfoView> Post(SyncPlayListGroups request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var filterItemId = Guid.Empty; var filterItemId = Guid.Empty;
@ -232,81 +232,81 @@ namespace MediaBrowser.Api.Syncplay
Logger.LogWarning("ListGroups: {0} is not a valid format for FilterItemId. Ignoring filter.", request.FilterItemId); Logger.LogWarning("ListGroups: {0} is not a valid format for FilterItemId. Ignoring filter.", request.FilterItemId);
} }
} }
return _syncplayManager.ListGroups(currentSession, filterItemId); return _syncPlayManager.ListGroups(currentSession, filterItemId);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayPlayRequest request) public void Post(SyncPlayPlayRequest request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var syncplayRequest = new PlaybackRequest() var syncPlayRequest = new PlaybackRequest()
{ {
Type = PlaybackRequestType.Play Type = PlaybackRequestType.Play
}; };
_syncplayManager.HandleRequest(currentSession, syncplayRequest, CancellationToken.None); _syncPlayManager.HandleRequest(currentSession, syncPlayRequest, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayPauseRequest request) public void Post(SyncPlayPauseRequest request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var syncplayRequest = new PlaybackRequest() var syncPlayRequest = new PlaybackRequest()
{ {
Type = PlaybackRequestType.Pause Type = PlaybackRequestType.Pause
}; };
_syncplayManager.HandleRequest(currentSession, syncplayRequest, CancellationToken.None); _syncPlayManager.HandleRequest(currentSession, syncPlayRequest, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplaySeekRequest request) public void Post(SyncPlaySeekRequest request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var syncplayRequest = new PlaybackRequest() var syncPlayRequest = new PlaybackRequest()
{ {
Type = PlaybackRequestType.Seek, Type = PlaybackRequestType.Seek,
PositionTicks = request.PositionTicks PositionTicks = request.PositionTicks
}; };
_syncplayManager.HandleRequest(currentSession, syncplayRequest, CancellationToken.None); _syncPlayManager.HandleRequest(currentSession, syncPlayRequest, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayBufferingRequest request) public void Post(SyncPlayBufferingRequest request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var syncplayRequest = new PlaybackRequest() var syncPlayRequest = new PlaybackRequest()
{ {
Type = request.BufferingDone ? PlaybackRequestType.BufferingDone : PlaybackRequestType.Buffering, Type = request.BufferingDone ? PlaybackRequestType.BufferingDone : PlaybackRequestType.Buffering,
When = DateTime.Parse(request.When), When = DateTime.Parse(request.When),
PositionTicks = request.PositionTicks PositionTicks = request.PositionTicks
}; };
_syncplayManager.HandleRequest(currentSession, syncplayRequest, CancellationToken.None); _syncPlayManager.HandleRequest(currentSession, syncPlayRequest, CancellationToken.None);
} }
/// <summary> /// <summary>
/// Handles the specified request. /// Handles the specified request.
/// </summary> /// </summary>
/// <param name="request">The request.</param> /// <param name="request">The request.</param>
public void Post(SyncplayUpdatePing request) public void Post(SyncPlayUpdatePing request)
{ {
var currentSession = GetSession(_sessionContext); var currentSession = GetSession(_sessionContext);
var syncplayRequest = new PlaybackRequest() var syncPlayRequest = new PlaybackRequest()
{ {
Type = PlaybackRequestType.UpdatePing, Type = PlaybackRequestType.UpdatePing,
Ping = Convert.ToInt64(request.Ping) Ping = Convert.ToInt64(request.Ping)
}; };
_syncplayManager.HandleRequest(currentSession, syncplayRequest, CancellationToken.None); _syncPlayManager.HandleRequest(currentSession, syncPlayRequest, CancellationToken.None);
} }
} }
} }

@ -2,10 +2,10 @@ using System;
using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Services; using MediaBrowser.Model.Services;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Syncplay namespace MediaBrowser.Api.SyncPlay
{ {
[Route("/GetUtcTime", "GET", Summary = "Get UtcTime")] [Route("/GetUtcTime", "GET", Summary = "Get UtcTime")]
public class GetUtcTime : IReturnVoid public class GetUtcTime : IReturnVoid

@ -9,7 +9,7 @@ using MediaBrowser.Controller.Security;
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Events; using MediaBrowser.Model.Events;
using MediaBrowser.Model.Session; using MediaBrowser.Model.Session;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
namespace MediaBrowser.Controller.Session namespace MediaBrowser.Controller.Session
{ {
@ -142,22 +142,22 @@ namespace MediaBrowser.Controller.Session
Task SendPlayCommand(string controllingSessionId, string sessionId, PlayRequest command, CancellationToken cancellationToken); Task SendPlayCommand(string controllingSessionId, string sessionId, PlayRequest command, CancellationToken cancellationToken);
/// <summary> /// <summary>
/// Sends the SyncplayCommand. /// Sends the SyncPlayCommand.
/// </summary> /// </summary>
/// <param name="sessionId">The session id.</param> /// <param name="sessionId">The session id.</param>
/// <param name="command">The command.</param> /// <param name="command">The command.</param>
/// <param name="cancellationToken">The cancellation token.</param> /// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns> /// <returns>Task.</returns>
Task SendSyncplayCommand(string sessionId, SendCommand command, CancellationToken cancellationToken); Task SendSyncPlayCommand(string sessionId, SendCommand command, CancellationToken cancellationToken);
/// <summary> /// <summary>
/// Sends the SyncplayGroupUpdate. /// Sends the SyncPlayGroupUpdate.
/// </summary> /// </summary>
/// <param name="sessionId">The session id.</param> /// <param name="sessionId">The session id.</param>
/// <param name="command">The group update.</param> /// <param name="command">The group update.</param>
/// <param name="cancellationToken">The cancellation token.</param> /// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns> /// <returns>Task.</returns>
Task SendSyncplayGroupUpdate<T>(string sessionId, GroupUpdate<T> command, CancellationToken cancellationToken); Task SendSyncPlayGroupUpdate<T>(string sessionId, GroupUpdate<T> command, CancellationToken cancellationToken);
/// <summary> /// <summary>
/// Sends the browse command. /// Sends the browse command.

@ -3,7 +3,7 @@ using System.Collections.Generic;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
namespace MediaBrowser.Controller.Syncplay namespace MediaBrowser.Controller.SyncPlay
{ {
/// <summary> /// <summary>
/// Class GroupInfo. /// Class GroupInfo.

@ -1,6 +1,6 @@
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
namespace MediaBrowser.Controller.Syncplay namespace MediaBrowser.Controller.SyncPlay
{ {
/// <summary> /// <summary>
/// Class GroupMember. /// Class GroupMember.

@ -1,14 +1,14 @@
using System; using System;
using System.Threading; using System.Threading;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
namespace MediaBrowser.Controller.Syncplay namespace MediaBrowser.Controller.SyncPlay
{ {
/// <summary> /// <summary>
/// Interface ISyncplayController. /// Interface ISyncPlayController.
/// </summary> /// </summary>
public interface ISyncplayController public interface ISyncPlayController
{ {
/// <summary> /// <summary>
/// Gets the group id. /// Gets the group id.

@ -2,14 +2,14 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Syncplay; using MediaBrowser.Model.SyncPlay;
namespace MediaBrowser.Controller.Syncplay namespace MediaBrowser.Controller.SyncPlay
{ {
/// <summary> /// <summary>
/// Interface ISyncplayManager. /// Interface ISyncPlayManager.
/// </summary> /// </summary>
public interface ISyncplayManager public interface ISyncPlayManager
{ {
/// <summary> /// <summary>
/// Creates a new group. /// Creates a new group.
@ -56,7 +56,7 @@ namespace MediaBrowser.Controller.Syncplay
/// <param name="session">The session.</param> /// <param name="session">The session.</param>
/// <param name="group">The group.</param> /// <param name="group">The group.</param>
/// <exception cref="InvalidOperationException"></exception> /// <exception cref="InvalidOperationException"></exception>
void AddSessionToGroup(SessionInfo session, ISyncplayController group); void AddSessionToGroup(SessionInfo session, ISyncPlayController group);
/// <summary> /// <summary>
/// Unmaps a session from a group. /// Unmaps a session from a group.
@ -64,6 +64,6 @@ namespace MediaBrowser.Controller.Syncplay
/// <param name="session">The session.</param> /// <param name="session">The session.</param>
/// <param name="group">The group.</param> /// <param name="group">The group.</param>
/// <exception cref="InvalidOperationException"></exception> /// <exception cref="InvalidOperationException"></exception>
void RemoveSessionFromGroup(SessionInfo session, ISyncplayController group); void RemoveSessionFromGroup(SessionInfo session, ISyncPlayController group);
} }
} }

@ -1,9 +1,9 @@
namespace MediaBrowser.Model.Configuration namespace MediaBrowser.Model.Configuration
{ {
/// <summary> /// <summary>
/// Enum SyncplayAccess. /// Enum SyncPlayAccess.
/// </summary> /// </summary>
public enum SyncplayAccess public enum SyncPlayAccess
{ {
/// <summary> /// <summary>
/// User can create groups and join them. /// User can create groups and join them.
@ -16,7 +16,7 @@ namespace MediaBrowser.Model.Configuration
JoinGroups, JoinGroups,
/// <summary> /// <summary>
/// Syncplay is disabled for the user. /// SyncPlay is disabled for the user.
/// </summary> /// </summary>
None None
} }

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class GroupInfoView. /// Class GroupInfoView.

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class GroupUpdate. /// Class GroupUpdate.

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Enum GroupUpdateType. /// Enum GroupUpdateType.

@ -1,6 +1,6 @@
using System; using System;
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class JoinGroupRequest. /// Class JoinGroupRequest.

@ -1,6 +1,6 @@
using System; using System;
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class PlaybackRequest. /// Class PlaybackRequest.

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Enum PlaybackRequestType /// Enum PlaybackRequestType

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class SendCommand. /// Class SendCommand.

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Enum SendCommandType. /// Enum SendCommandType.

@ -1,4 +1,4 @@
namespace MediaBrowser.Model.Syncplay namespace MediaBrowser.Model.SyncPlay
{ {
/// <summary> /// <summary>
/// Class UtcTimeResponse. /// Class UtcTimeResponse.

@ -81,10 +81,10 @@ namespace MediaBrowser.Model.Users
public string PasswordResetProviderId { get; set; } public string PasswordResetProviderId { get; set; }
/// <summary> /// <summary>
/// Gets or sets a value indicating what Syncplay features the user can access. /// Gets or sets a value indicating what SyncPlay features the user can access.
/// </summary> /// </summary>
/// <value>Access level to Syncplay features.</value> /// <value>Access level to SyncPlay features.</value>
public SyncplayAccess SyncplayAccess { get; set; } public SyncPlayAccess SyncPlayAccess { get; set; }
public UserPolicy() public UserPolicy()
{ {
@ -131,7 +131,7 @@ namespace MediaBrowser.Model.Users
EnableContentDownloading = true; EnableContentDownloading = true;
EnablePublicSharing = true; EnablePublicSharing = true;
EnableRemoteAccess = true; EnableRemoteAccess = true;
SyncplayAccess = SyncplayAccess.CreateAndJoinGroups; SyncPlayAccess = SyncPlayAccess.CreateAndJoinGroups;
} }
} }
} }

Loading…
Cancel
Save