using System; using System.Collections.Generic; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Syncplay; namespace MediaBrowser.Controller.Syncplay { /// /// Interface ISyncplayManager. /// public interface ISyncplayManager { /// /// Creates a new group. /// /// The user that's creating the group. void NewGroup(SessionInfo user); /// /// Adds the user to a group. /// /// The session. /// The group id. void JoinGroup(SessionInfo user, string groupId); /// /// Removes the user from a group. /// /// The session. void LeaveGroup(SessionInfo user); /// /// Gets list of available groups for a user. /// /// The user. /// The list of available groups. List ListGroups(SessionInfo user); /// /// Handle a request by a user in a group. /// /// The session. /// The request. void HandleRequest(SessionInfo user, SyncplayRequestInfo request); /// /// Maps a user to a group. /// /// The user. /// The group. /// void MapUserToGroup(SessionInfo user, ISyncplayController group); /// /// Unmaps a user from a group. /// /// The user. /// The group. /// void UnmapUserFromGroup(SessionInfo user, ISyncplayController group); } }