using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Session;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Devices
{
public interface IDeviceRepository
{
///
/// Registers the device.
///
/// The device.
/// Task.
Task SaveDevice(DeviceInfo device);
///
/// Saves the capabilities.
///
/// The identifier.
/// The capabilities.
/// Task.
Task SaveCapabilities(string id, ClientCapabilities capabilities);
///
/// Gets the capabilities.
///
/// The identifier.
/// ClientCapabilities.
ClientCapabilities GetCapabilities(string id);
///
/// Gets the device information.
///
/// The identifier.
/// DeviceInfo.
DeviceInfo GetDevice(string id);
///
/// Gets the devices.
///
/// IEnumerable<DeviceInfo>.
IEnumerable GetDevices();
///
/// Deletes the device.
///
/// The identifier.
/// Task.
Task DeleteDevice(string id);
///
/// Gets the upload history.
///
/// The device identifier.
/// ContentUploadHistory.
ContentUploadHistory GetCameraUploadHistory(string deviceId);
///
/// Saves the camera upload history.
///
/// The device identifier.
/// The file.
void AddCameraUpload(string deviceId, LocalFileInfo file);
}
}