aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/ApiClient
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/ApiClient')
-rw-r--r--MediaBrowser.Model/ApiClient/ApiClientExtensions.cs9
-rw-r--r--MediaBrowser.Model/ApiClient/ConnectionOptions.cs6
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs77
-rw-r--r--MediaBrowser.Model/ApiClient/IConnectionManager.cs26
-rw-r--r--MediaBrowser.Model/ApiClient/IDevice.cs2
5 files changed, 56 insertions, 64 deletions
diff --git a/MediaBrowser.Model/ApiClient/ApiClientExtensions.cs b/MediaBrowser.Model/ApiClient/ApiClientExtensions.cs
index b5bf29990..4ae4fe822 100644
--- a/MediaBrowser.Model/ApiClient/ApiClientExtensions.cs
+++ b/MediaBrowser.Model/ApiClient/ApiClientExtensions.cs
@@ -35,7 +35,14 @@ namespace MediaBrowser.Model.ApiClient
public static Task<SyncDialogOptions> GetSyncOptions(this IApiClient apiClient, SyncJob job)
{
- return apiClient.GetSyncOptions(job.RequestedItemIds, job.UserId, job.ParentId, job.Category);
+ return apiClient.GetSyncOptions(new SyncJobRequest
+ {
+ Category = job.Category,
+ ItemIds = job.RequestedItemIds,
+ ParentId = job.ParentId,
+ TargetId = job.TargetId,
+ UserId = job.UserId
+ });
}
}
}
diff --git a/MediaBrowser.Model/ApiClient/ConnectionOptions.cs b/MediaBrowser.Model/ApiClient/ConnectionOptions.cs
index 445eaa04e..e12676311 100644
--- a/MediaBrowser.Model/ApiClient/ConnectionOptions.cs
+++ b/MediaBrowser.Model/ApiClient/ConnectionOptions.cs
@@ -13,11 +13,17 @@ namespace MediaBrowser.Model.ApiClient
/// </summary>
/// <value><c>true</c> if [report capabilities]; otherwise, <c>false</c>.</value>
public bool ReportCapabilities { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether [update date last accessed].
+ /// </summary>
+ /// <value><c>true</c> if [update date last accessed]; otherwise, <c>false</c>.</value>
+ public bool UpdateDateLastAccessed { get; set; }
public ConnectionOptions()
{
EnableWebSocket = true;
ReportCapabilities = true;
+ UpdateDateLastAccessed = true;
}
}
}
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index ca49c6c5a..ef99e444f 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -251,12 +251,12 @@ namespace MediaBrowser.Model.ApiClient
Task<ItemsResult> GetAdditionalParts(string itemId, string userId);
/// <summary>
- /// Gets the live media information.
+ /// Gets the playback information.
/// </summary>
/// <param name="itemId">The item identifier.</param>
/// <param name="userId">The user identifier.</param>
/// <returns>Task&lt;LiveMediaInfoResult&gt;.</returns>
- Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId, string userId);
+ Task<LiveMediaInfoResult> GetPlaybackInfo(string itemId, string userId);
/// <summary>
/// Gets the users async.
@@ -344,14 +344,14 @@ namespace MediaBrowser.Model.ApiClient
/// </summary>
/// <param name="query">The query.</param>
/// <returns>Task{ItemsResult}.</returns>
- Task<ItemsResult> GetInstantMixFromArtistAsync(SimilarItemsByNameQuery query);
+ Task<ItemsResult> GetInstantMixFromArtistAsync(SimilarItemsQuery query);
/// <summary>
/// Gets the instant mix from music genre async.
/// </summary>
/// <param name="query">The query.</param>
/// <returns>Task{ItemsResult}.</returns>
- Task<ItemsResult> GetInstantMixFromMusicGenreAsync(SimilarItemsByNameQuery query);
+ Task<ItemsResult> GetInstantMixFromMusicGenreAsync(SimilarItemsQuery query);
/// <summary>
/// Gets the similar movies async.
@@ -418,15 +418,6 @@ namespace MediaBrowser.Model.ApiClient
Task<ItemsResult> GetAlbumArtistsAsync(ArtistsQuery query);
/// <summary>
- /// Gets a studio
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="userId">The user id.</param>
- /// <returns>Task{BaseItemDto}.</returns>
- /// <exception cref="ArgumentNullException">userId</exception>
- Task<BaseItemDto> GetStudioAsync(string name, string userId);
-
- /// <summary>
/// Gets the next up async.
/// </summary>
/// <param name="query">The query.</param>
@@ -495,15 +486,6 @@ namespace MediaBrowser.Model.ApiClient
Task<BaseItemDto> GetGameGenreAsync(string name, string userId);
/// <summary>
- /// Gets the artist async.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="userId">The user id.</param>
- /// <returns>Task{BaseItemDto}.</returns>
- /// <exception cref="ArgumentNullException">name</exception>
- Task<BaseItemDto> GetArtistAsync(string name, string userId);
-
- /// <summary>
/// Restarts the server.
/// </summary>
/// <returns>Task.</returns>
@@ -1014,14 +996,6 @@ namespace MediaBrowser.Model.ApiClient
/// <summary>
/// Gets an image url that can be used to download an image from the api
/// </summary>
- /// <param name="year">The year.</param>
- /// <param name="options">The options.</param>
- /// <returns>System.String.</returns>
- string GetYearImageUrl(int year, ImageOptions options);
-
- /// <summary>
- /// Gets an image url that can be used to download an image from the api
- /// </summary>
/// <param name="name">The name.</param>
/// <param name="options">The options.</param>
/// <returns>System.String.</returns>
@@ -1045,24 +1019,6 @@ namespace MediaBrowser.Model.ApiClient
string GetGameGenreImageUrl(string name, ImageOptions options);
/// <summary>
- /// Gets an image url that can be used to download an image from the api
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="options">The options.</param>
- /// <returns>System.String.</returns>
- /// <exception cref="ArgumentNullException">name</exception>
- string GetStudioImageUrl(string name, ImageOptions options);
-
- /// <summary>
- /// Gets the artist image URL.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="options">The options.</param>
- /// <returns>System.String.</returns>
- /// <exception cref="ArgumentNullException">name</exception>
- string GetArtistImageUrl(string name, ImageOptions options);
-
- /// <summary>
/// This is a helper to get a list of backdrop url's from a given ApiBaseItemWrapper. If the actual item does not have any backdrops it will return backdrops from the first parent that does.
/// </summary>
/// <param name="item">A given item.</param>
@@ -1362,7 +1318,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task SendContextMessageAsync(string itemType, string itemId, string itemName, string context,
- CancellationToken cancellationToken);
+ CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Gets the content upload history.
@@ -1380,7 +1336,7 @@ namespace MediaBrowser.Model.ApiClient
/// <returns>Task.</returns>
Task UploadFile(Stream stream,
LocalFileInfo file,
- CancellationToken cancellationToken);
+ CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Gets the devices options options.
@@ -1436,7 +1392,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="id">The identifier.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;Stream&gt;.</returns>
- Task<Stream> GetSyncJobItemFile(string id, CancellationToken cancellationToken);
+ Task<Stream> GetSyncJobItemFile(string id, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Gets the synchronize job item additional file.
@@ -1519,11 +1475,20 @@ namespace MediaBrowser.Model.ApiClient
/// <summary>
/// Gets the synchronize options.
/// </summary>
- /// <param name="userId">The user identifier.</param>
- /// <param name="itemIds">The item ids.</param>
- /// <param name="parentId">The parent identifier.</param>
- /// <param name="category">The category.</param>
+ /// <param name="jobInfo">The job information.</param>
/// <returns>Task&lt;SyncOptions&gt;.</returns>
- Task<SyncDialogOptions> GetSyncOptions(IEnumerable<string> itemIds, string userId, string parentId = null, SyncCategory? category = null);
+ Task<SyncDialogOptions> GetSyncOptions(SyncJobRequest jobInfo);
+ /// <summary>
+ /// Gets the synchronize options.
+ /// </summary>
+ /// <param name="jobInfo">The job information.</param>
+ /// <returns>Task&lt;SyncDialogOptions&gt;.</returns>
+ Task<SyncDialogOptions> GetSyncOptions(SyncJob jobInfo);
+ /// <summary>
+ /// Gets the movie recommendations.
+ /// </summary>
+ /// <param name="query">The query.</param>
+ /// <returns>Task&lt;List&lt;RecommendationDto&gt;&gt;.</returns>
+ Task<List<RecommendationDto>> GetMovieRecommendations(MovieRecommendationQuery query);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Model/ApiClient/IConnectionManager.cs b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
index 341df2728..6ff48a044 100644
--- a/MediaBrowser.Model/ApiClient/IConnectionManager.cs
+++ b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Model.Connect;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Session;
using System;
using System.Collections.Generic;
using System.Threading;
@@ -48,6 +49,12 @@ namespace MediaBrowser.Model.ApiClient
bool SaveLocalCredentials { get; set; }
/// <summary>
+ /// Gets the client capabilities.
+ /// </summary>
+ /// <value>The client capabilities.</value>
+ ClientCapabilities ClientCapabilities { get; }
+
+ /// <summary>
/// Gets the API client.
/// </summary>
/// <param name="item">The item.</param>
@@ -66,7 +73,7 @@ namespace MediaBrowser.Model.ApiClient
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;ConnectionResult&gt;.</returns>
- Task<ConnectionResult> Connect(CancellationToken cancellationToken);
+ Task<ConnectionResult> Connect(CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Connects the specified API client.
@@ -74,7 +81,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="apiClient">The API client.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;ConnectionResult&gt;.</returns>
- Task<ConnectionResult> Connect(IApiClient apiClient, CancellationToken cancellationToken);
+ Task<ConnectionResult> Connect(IApiClient apiClient, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Connects the specified server.
@@ -82,7 +89,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="server">The server.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;ConnectionResult&gt;.</returns>
- Task<ConnectionResult> Connect(ServerInfo server, CancellationToken cancellationToken);
+ Task<ConnectionResult> Connect(ServerInfo server, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Connects the specified server.
@@ -91,7 +98,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="options">The options.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;ConnectionResult&gt;.</returns>
- Task<ConnectionResult> Connect(ServerInfo server, ConnectionOptions options, CancellationToken cancellationToken);
+ Task<ConnectionResult> Connect(ServerInfo server, ConnectionOptions options, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Connects the specified server.
@@ -99,7 +106,7 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="address">The address.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;ConnectionResult&gt;.</returns>
- Task<ConnectionResult> Connect(string address, CancellationToken cancellationToken);
+ Task<ConnectionResult> Connect(string address, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Logouts this instance.
@@ -139,10 +146,17 @@ namespace MediaBrowser.Model.ApiClient
Task ExchangePin(PinCreationResult pin);
/// <summary>
+ /// Gets the server information.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task&lt;ServerInfo&gt;.</returns>
+ Task<ServerInfo> GetServerInfo(string id);
+
+ /// <summary>
/// Gets the available servers.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
- Task<List<ServerInfo>> GetAvailableServers(CancellationToken cancellationToken);
+ Task<List<ServerInfo>> GetAvailableServers(CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Authenticates an offline user with their password
diff --git a/MediaBrowser.Model/ApiClient/IDevice.cs b/MediaBrowser.Model/ApiClient/IDevice.cs
index 84927c20a..7b67122fb 100644
--- a/MediaBrowser.Model/ApiClient/IDevice.cs
+++ b/MediaBrowser.Model/ApiClient/IDevice.cs
@@ -39,6 +39,6 @@ namespace MediaBrowser.Model.ApiClient
/// <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);
+ Task UploadFile(LocalFileInfo file, IApiClient apiClient, CancellationToken cancellationToken = default(CancellationToken));
}
}