#nullable disable #pragma warning disable CS1591 using System; using System.Threading.Tasks; using Jellyfin.Data.Entities; using Jellyfin.Data.Entities.Security; using Jellyfin.Data.Events; using MediaBrowser.Model.Devices; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Devices { public interface IDeviceManager { event EventHandler>> DeviceOptionsUpdated; /// /// Saves the capabilities. /// /// The device id. /// The capabilities. void SaveCapabilities(string deviceId, ClientCapabilities capabilities); /// /// Gets the capabilities. /// /// The device id. /// ClientCapabilities. ClientCapabilities GetCapabilities(string deviceId); /// /// Gets the device information. /// /// The identifier. /// DeviceInfo. Task GetDevice(string id); /// /// Gets the devices. /// /// The user's id, or null. /// A value indicating whether the device supports sync, or null. /// IEnumerable<DeviceInfo>. Task> GetDevicesForUser(Guid? userId, bool? supportsSync); /// /// Determines whether this instance [can access device] the specified user identifier. /// bool CanAccessDevice(User user, string deviceId); Task UpdateDeviceOptions(string deviceId, DeviceOptions options); Task GetDeviceOptions(string deviceId); } }