jellyfin/MediaBrowser.Controller/Session/ISessionController.cs
2023-02-15 23:41:28 +01:00

36 lines
1.3 KiB
C#

#pragma warning disable CS1591
using System;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Session;
namespace MediaBrowser.Controller.Session
{
public interface ISessionController
{
/// <summary>
/// Gets a value indicating whether this instance is session active.
/// </summary>
/// <value><c>true</c> if this instance is session active; otherwise, <c>false</c>.</value>
bool IsSessionActive { get; }
/// <summary>
/// Gets a value indicating whether [supports media remote control].
/// </summary>
/// <value><c>true</c> if [supports media remote control]; otherwise, <c>false</c>.</value>
bool SupportsMediaControl { get; }
/// <summary>
/// Sends the message.
/// </summary>
/// <typeparam name="T">The type of data.</typeparam>
/// <param name="name">Name of message type.</param>
/// <param name="messageId">Message ID.</param>
/// <param name="data">Data to send.</param>
/// <param name="cancellationToken">CancellationToken for operation.</param>
/// <returns>A task.</returns>
Task SendMessage<T>(SessionMessageType name, Guid messageId, T data, CancellationToken cancellationToken);
}
}