You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
5 years ago
|
using System;
|
||
|
using MediaBrowser.Controller.Session;
|
||
|
using MediaBrowser.Model.Syncplay;
|
||
|
|
||
|
namespace MediaBrowser.Controller.Syncplay
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Interface ISyncplayController.
|
||
|
/// </summary>
|
||
|
public interface ISyncplayController
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Gets the group id.
|
||
|
/// </summary>
|
||
|
/// <value>The group id.</value>
|
||
|
Guid GetGroupId();
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets the playing item id.
|
||
|
/// </summary>
|
||
|
/// <value>The playing item id.</value>
|
||
|
Guid GetPlayingItemId();
|
||
|
|
||
|
/// <summary>
|
||
|
/// Checks if the group is empty.
|
||
|
/// </summary>
|
||
|
/// <value>If the group is empty.</value>
|
||
|
bool IsGroupEmpty();
|
||
|
|
||
|
/// <summary>
|
||
|
/// Initializes the group with the user's info.
|
||
|
/// </summary>
|
||
|
/// <param name="user">The session.</param>
|
||
|
void InitGroup(SessionInfo user);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Adds the user to the group.
|
||
|
/// </summary>
|
||
|
/// <param name="user">The session.</param>
|
||
|
void UserJoin(SessionInfo user);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Removes the user from the group.
|
||
|
/// </summary>
|
||
|
/// <param name="user">The session.</param>
|
||
|
void UserLeave(SessionInfo user);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Handles the requested action by the user.
|
||
|
/// </summary>
|
||
|
/// <param name="user">The session.</param>
|
||
|
/// <param name="request">The requested action.</param>
|
||
|
void HandleRequest(SessionInfo user, SyncplayRequestInfo request);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets the info about the group for the clients.
|
||
|
/// </summary>
|
||
|
/// <value>The group info for the clients.</value>
|
||
|
GroupInfoView GetInfo();
|
||
|
}
|
||
|
}
|