using System; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Syncplay; namespace MediaBrowser.Controller.Syncplay { /// /// Interface ISyncplayController. /// public interface ISyncplayController { /// /// Gets the group id. /// /// The group id. Guid GetGroupId(); /// /// Gets the playing item id. /// /// The playing item id. Guid GetPlayingItemId(); /// /// Checks if the group is empty. /// /// If the group is empty. bool IsGroupEmpty(); /// /// Initializes the group with the session's info. /// /// The session. void InitGroup(SessionInfo session); /// /// Adds the session to the group. /// /// The session. void SessionJoin(SessionInfo session); /// /// Removes the session from the group. /// /// The session. void SessionLeave(SessionInfo session); /// /// Handles the requested action by the session. /// /// The session. /// The requested action. void HandleRequest(SessionInfo session, SyncplayRequestInfo request); /// /// Gets the info about the group for the clients. /// /// The group info for the clients. GroupInfoView GetInfo(); } }