using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Plugins;
using MediaBrowser.Model.Session;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Model.Updates;
using System;
namespace MediaBrowser.Model.ApiClient
{
///
/// Interface IServerEvents
///
public interface IServerEvents
{
///
/// Occurs when [user deleted].
///
event EventHandler> UserDeleted;
///
/// Occurs when [scheduled task ended].
///
event EventHandler> ScheduledTaskEnded;
///
/// Occurs when [package installing].
///
event EventHandler> PackageInstalling;
///
/// Occurs when [package installation failed].
///
event EventHandler> PackageInstallationFailed;
///
/// Occurs when [package installation completed].
///
event EventHandler> PackageInstallationCompleted;
///
/// Occurs when [package installation cancelled].
///
event EventHandler> PackageInstallationCancelled;
///
/// Occurs when [user updated].
///
event EventHandler> UserUpdated;
///
/// Occurs when [plugin uninstalled].
///
event EventHandler> PluginUninstalled;
///
/// Occurs when [library changed].
///
event EventHandler> LibraryChanged;
///
/// Occurs when [browse command].
///
event EventHandler> BrowseCommand;
///
/// Occurs when [play command].
///
event EventHandler> PlayCommand;
///
/// Occurs when [playstate command].
///
event EventHandler> PlaystateCommand;
///
/// Occurs when [message command].
///
event EventHandler> MessageCommand;
///
/// Occurs when [system command].
///
event EventHandler GeneralCommand;
///
/// Occurs when [notification added].
///
event EventHandler NotificationAdded;
///
/// Occurs when [notification updated].
///
event EventHandler NotificationUpdated;
///
/// Occurs when [notifications marked read].
///
event EventHandler NotificationsMarkedRead;
///
/// Occurs when [server restarting].
///
event EventHandler ServerRestarting;
///
/// Occurs when [server shutting down].
///
event EventHandler ServerShuttingDown;
///
/// Occurs when [send text command].
///
event EventHandler> SendStringCommand;
///
/// Occurs when [set volume command].
///
event EventHandler> SetVolumeCommand;
///
/// Occurs when [set audio stream index command].
///
event EventHandler> SetAudioStreamIndexCommand;
///
/// Occurs when [set video stream index command].
///
event EventHandler> SetSubtitleStreamIndexCommand;
///
/// Occurs when [sessions updated].
///
event EventHandler SessionsUpdated;
///
/// Occurs when [restart required].
///
event EventHandler RestartRequired;
///
/// Occurs when [user data changed].
///
event EventHandler> UserDataChanged;
///
/// Occurs when [connected].
///
event EventHandler Connected;
///
/// Gets a value indicating whether this instance is connected.
///
/// true if this instance is connected; otherwise, false.
bool IsConnected { get; }
}
}