aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/ApiClient
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-11 16:38:13 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-11 16:38:13 -0400
commitf3539686bd7ff6c748a0a9441086538081fa8903 (patch)
tree84b6a6e89fddb206d3b8cc503423876e45100fa9 /MediaBrowser.Model/ApiClient
parent2486cffa7171629d09857981b8987727642f6f02 (diff)
add device upload options
Diffstat (limited to 'MediaBrowser.Model/ApiClient')
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs35
-rw-r--r--MediaBrowser.Model/ApiClient/IDevice.cs44
2 files changed, 77 insertions, 2 deletions
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index 9f22de3acc..1d2145b3a6 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Model.Channels;
using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Events;
@@ -794,16 +795,22 @@ namespace MediaBrowser.Model.ApiClient
string ClientName { get; set; }
/// <summary>
+ /// Gets the device.
+ /// </summary>
+ /// <value>The device.</value>
+ IDevice Device { get; }
+
+ /// <summary>
/// Gets or sets the name of the device.
/// </summary>
/// <value>The name of the device.</value>
- string DeviceName { get; set; }
+ string DeviceName { get; }
/// <summary>
/// Gets or sets the device id.
/// </summary>
/// <value>The device id.</value>
- string DeviceId { get; set; }
+ string DeviceId { get; }
/// <summary>
/// Gets or sets the current user id.
@@ -1319,5 +1326,29 @@ namespace MediaBrowser.Model.ApiClient
/// <returns>Task.</returns>
Task SendContextMessageAsync(string itemType, string itemId, string itemName, string context,
CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the content upload history.
+ /// </summary>
+ /// <param name="deviceId">The device identifier.</param>
+ /// <returns>Task&lt;ContentUploadHistory&gt;.</returns>
+ Task<ContentUploadHistory> GetContentUploadHistory(string deviceId);
+
+ /// <summary>
+ /// Uploads the file.
+ /// </summary>
+ /// <param name="stream">The stream.</param>
+ /// <param name="file">The file.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ Task UploadFile(Stream stream,
+ LocalFileInfo file,
+ CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the devices options options.
+ /// </summary>
+ /// <returns>Task&lt;DevicesOptions&gt;.</returns>
+ Task<DevicesOptions> GetDevicesOptions();
}
} \ No newline at end of file
diff --git a/MediaBrowser.Model/ApiClient/IDevice.cs b/MediaBrowser.Model/ApiClient/IDevice.cs
new file mode 100644
index 0000000000..0c0f55f9bb
--- /dev/null
+++ b/MediaBrowser.Model/ApiClient/IDevice.cs
@@ -0,0 +1,44 @@
+using MediaBrowser.Model.Devices;
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Model.ApiClient
+{
+ public interface IDevice
+ {
+ /// <summary>
+ /// Occurs when [resume from sleep].
+ /// </summary>
+ event EventHandler<EventArgs> ResumeFromSleep;
+ /// <summary>
+ /// Gets the name of the device.
+ /// </summary>
+ /// <value>The name of the device.</value>
+ string DeviceName { get; }
+ /// <summary>
+ /// Gets the device identifier.
+ /// </summary>
+ /// <value>The device identifier.</value>
+ string DeviceId { get; }
+ /// <summary>
+ /// Gets the local images.
+ /// </summary>
+ /// <returns>IEnumerable&lt;LocalFileInfo&gt;.</returns>
+ IEnumerable<LocalFileInfo> GetLocalPhotos();
+ /// <summary>
+ /// Gets the local videos.
+ /// </summary>
+ /// <returns>IEnumerable&lt;LocalFileInfo&gt;.</returns>
+ IEnumerable<LocalFileInfo> GetLocalVideos();
+ /// <summary>
+ /// Uploads the file.
+ /// </summary>
+ /// <param name="file">The file.</param>
+ /// <param name="apiClient">The API client.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ Task UploadFile(LocalFileInfo file, IApiClient apiClient, CancellationToken cancellationToken);
+ }
+}