aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Devices/IDeviceManager.cs71
-rw-r--r--MediaBrowser.Controller/Devices/IDeviceRepository.cs66
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj2
-rw-r--r--MediaBrowser.Controller/Session/ISessionManager.cs2
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs4
5 files changed, 143 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Devices/IDeviceManager.cs b/MediaBrowser.Controller/Devices/IDeviceManager.cs
new file mode 100644
index 0000000000..b82c39effc
--- /dev/null
+++ b/MediaBrowser.Controller/Devices/IDeviceManager.cs
@@ -0,0 +1,71 @@
+using MediaBrowser.Model.Devices;
+using MediaBrowser.Model.Session;
+using System.Collections.Generic;
+using System.IO;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Devices
+{
+ public interface IDeviceManager
+ {
+ /// <summary>
+ /// Registers the device.
+ /// </summary>
+ /// <param name="reportedId">The reported identifier.</param>
+ /// <param name="name">The name.</param>
+ /// <param name="usedByUserId">The used by user identifier.</param>
+ /// <returns>Task.</returns>
+ Task RegisterDevice(string reportedId, string name, string usedByUserId);
+
+ /// <summary>
+ /// Saves the capabilities.
+ /// </summary>
+ /// <param name="reportedId">The reported identifier.</param>
+ /// <param name="capabilities">The capabilities.</param>
+ /// <returns>Task.</returns>
+ Task SaveCapabilities(string reportedId, ClientCapabilities capabilities);
+
+ /// <summary>
+ /// Gets the capabilities.
+ /// </summary>
+ /// <param name="reportedId">The reported identifier.</param>
+ /// <returns>ClientCapabilities.</returns>
+ ClientCapabilities GetCapabilities(string reportedId);
+
+ /// <summary>
+ /// Gets the device information.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>DeviceInfo.</returns>
+ DeviceInfo GetDevice(string id);
+
+ /// <summary>
+ /// Gets the devices.
+ /// </summary>
+ /// <returns>IEnumerable&lt;DeviceInfo&gt;.</returns>
+ IEnumerable<DeviceInfo> GetDevices();
+
+ /// <summary>
+ /// Deletes the device.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task DeleteDevice(string id);
+
+ /// <summary>
+ /// Gets the upload history.
+ /// </summary>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <returns>ContentUploadHistory.</returns>
+ ContentUploadHistory GetCameraUploadHistory(string deviceId);
+
+ /// <summary>
+ /// Accepts the upload.
+ /// </summary>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <param name="stream">The stream.</param>
+ /// <param name="file">The file.</param>
+ /// <returns>Task.</returns>
+ Task AcceptCameraUpload(string deviceId, Stream stream, LocalFileInfo file);
+ }
+}
diff --git a/MediaBrowser.Controller/Devices/IDeviceRepository.cs b/MediaBrowser.Controller/Devices/IDeviceRepository.cs
new file mode 100644
index 0000000000..736504da30
--- /dev/null
+++ b/MediaBrowser.Controller/Devices/IDeviceRepository.cs
@@ -0,0 +1,66 @@
+using MediaBrowser.Model.Devices;
+using MediaBrowser.Model.Session;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Devices
+{
+ public interface IDeviceRepository
+ {
+ /// <summary>
+ /// Registers the device.
+ /// </summary>
+ /// <param name="device">The device.</param>
+ /// <returns>Task.</returns>
+ Task SaveDevice(DeviceInfo device);
+
+ /// <summary>
+ /// Saves the capabilities.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <param name="capabilities">The capabilities.</param>
+ /// <returns>Task.</returns>
+ Task SaveCapabilities(string id, ClientCapabilities capabilities);
+
+ /// <summary>
+ /// Gets the capabilities.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>ClientCapabilities.</returns>
+ ClientCapabilities GetCapabilities(string id);
+
+ /// <summary>
+ /// Gets the device information.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>DeviceInfo.</returns>
+ DeviceInfo GetDevice(string id);
+
+ /// <summary>
+ /// Gets the devices.
+ /// </summary>
+ /// <returns>IEnumerable&lt;DeviceInfo&gt;.</returns>
+ IEnumerable<DeviceInfo> GetDevices();
+
+ /// <summary>
+ /// Deletes the device.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task DeleteDevice(string id);
+
+ /// <summary>
+ /// Gets the upload history.
+ /// </summary>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <returns>ContentUploadHistory.</returns>
+ ContentUploadHistory GetCameraUploadHistory(string deviceId);
+
+ /// <summary>
+ /// Saves the camera upload history.
+ /// </summary>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <param name="file">The file.</param>
+ void AddCameraUpload(string deviceId, LocalFileInfo file);
+ }
+}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index d966d4df56..a49d00e875 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -102,6 +102,8 @@
<Compile Include="Connect\ConnectUser.cs" />
<Compile Include="Connect\IConnectManager.cs" />
<Compile Include="Connect\UserLinkResult.cs" />
+ <Compile Include="Devices\IDeviceManager.cs" />
+ <Compile Include="Devices\IDeviceRepository.cs" />
<Compile Include="Dlna\ControlRequest.cs" />
<Compile Include="Dlna\ControlResponse.cs" />
<Compile Include="Dlna\DlnaIconResponse.cs" />
diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs
index f715ce7703..c048e3fab7 100644
--- a/MediaBrowser.Controller/Session/ISessionManager.cs
+++ b/MediaBrowser.Controller/Session/ISessionManager.cs
@@ -232,7 +232,7 @@ namespace MediaBrowser.Controller.Session
/// </summary>
/// <param name="sessionId">The session identifier.</param>
/// <param name="capabilities">The capabilities.</param>
- void ReportCapabilities(string sessionId, SessionCapabilities capabilities);
+ void ReportCapabilities(string sessionId, ClientCapabilities capabilities);
/// <summary>
/// Reports the transcoding information.
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
index 1d5ab7d3e7..1e744a0872 100644
--- a/MediaBrowser.Controller/Sync/ISyncManager.cs
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -1,4 +1,6 @@
-using MediaBrowser.Controller.Entities;
+using System.IO;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Sync;
using System.Collections.Generic;