using System; using Jellyfin.Data.Entities; using MediaBrowser.Model.Devices; using MediaBrowser.Model.Events; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Session; namespace MediaBrowser.Controller.Devices { public interface IDeviceManager { /// /// Saves the capabilities. /// /// The reported identifier. /// The capabilities. /// Task. void SaveCapabilities(string reportedId, ClientCapabilities capabilities); /// /// Gets the capabilities. /// /// The reported identifier. /// ClientCapabilities. ClientCapabilities GetCapabilities(string reportedId); /// /// Gets the device information. /// /// The identifier. /// DeviceInfo. DeviceInfo GetDevice(string id); /// /// Gets the devices. /// /// The query. /// IEnumerable<DeviceInfo>. QueryResult GetDevices(DeviceQuery query); /// /// Determines whether this instance [can access device] the specified user identifier. /// bool CanAccessDevice(User user, string deviceId); void UpdateDeviceOptions(string deviceId, DeviceOptions options); DeviceOptions GetDeviceOptions(string deviceId); event EventHandler>> DeviceOptionsUpdated; } }