aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/ApiClient
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/ApiClient')
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs12
-rw-r--r--MediaBrowser.Model/ApiClient/IConnectionManager.cs6
-rw-r--r--MediaBrowser.Model/ApiClient/ServerCredentials.cs21
-rw-r--r--MediaBrowser.Model/ApiClient/ServerInfo.cs8
4 files changed, 37 insertions, 10 deletions
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index 14cdbdc9a..9675de38b 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -248,10 +248,9 @@ namespace MediaBrowser.Model.ApiClient
/// <summary>
/// Gets the playback information.
/// </summary>
- /// <param name="itemId">The item identifier.</param>
- /// <param name="userId">The user identifier.</param>
+ /// <param name="request">The request.</param>
/// <returns>Task&lt;LiveMediaInfoResult&gt;.</returns>
- Task<LiveMediaInfoResult> GetPlaybackInfo(string itemId, string userId);
+ Task<PlaybackInfoResponse> GetPlaybackInfo(PlaybackInfoRequest request);
/// <summary>
/// Gets the users async.
@@ -1486,5 +1485,12 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="query">The query.</param>
/// <returns>Task&lt;List&lt;RecommendationDto&gt;&gt;.</returns>
Task<List<RecommendationDto>> GetMovieRecommendations(MovieRecommendationQuery query);
+ /// <summary>
+ /// Opens the live stream.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task&lt;LiveStreamResponse&gt;.</returns>
+ Task<LiveStreamResponse> OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Model/ApiClient/IConnectionManager.cs b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
index 84a815dfc..f8837f15d 100644
--- a/MediaBrowser.Model/ApiClient/IConnectionManager.cs
+++ b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
@@ -172,5 +172,11 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="rememberCredentials">if set to <c>true</c> [remember credentials].</param>
/// <returns>Task.</returns>
Task AuthenticateOffline(UserDto user, string password, bool rememberCredentials);
+
+ /// <summary>
+ /// Gets the offline users.
+ /// </summary>
+ /// <returns>Task&lt;List&lt;UserDto&gt;&gt;.</returns>
+ Task<List<UserDto>> GetOfflineUsers();
}
}
diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
index d911f8121..6ba2a80c8 100644
--- a/MediaBrowser.Model/ApiClient/ServerCredentials.cs
+++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
@@ -1,7 +1,6 @@
using MediaBrowser.Model.Extensions;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace MediaBrowser.Model.ApiClient
{
@@ -24,7 +23,12 @@ namespace MediaBrowser.Model.ApiClient
throw new ArgumentNullException("server");
}
- var list = Servers.ToList();
+ // Clone the existing list of servers
+ var list = new List<ServerInfo>();
+ foreach (ServerInfo serverInfo in Servers)
+ {
+ list.Add(serverInfo);
+ }
var index = FindIndex(list, server.Id);
@@ -32,8 +36,11 @@ namespace MediaBrowser.Model.ApiClient
{
var existing = list[index];
- // Merge the data
- existing.DateLastAccessed = new[] { existing.DateLastAccessed, server.DateLastAccessed }.Max();
+ // Take the most recent DateLastAccessed
+ if (server.DateLastAccessed > existing.DateLastAccessed)
+ {
+ existing.DateLastAccessed = server.DateLastAccessed;
+ }
existing.UserLinkType = server.UserLinkType;
@@ -64,7 +71,11 @@ namespace MediaBrowser.Model.ApiClient
}
if (server.WakeOnLanInfos != null && server.WakeOnLanInfos.Count > 0)
{
- existing.WakeOnLanInfos = server.WakeOnLanInfos.ToList();
+ existing.WakeOnLanInfos = new List<WakeOnLanInfo>();
+ foreach (WakeOnLanInfo info in server.WakeOnLanInfos)
+ {
+ existing.WakeOnLanInfos.Add(info);
+ }
}
if (server.LastConnectionMode.HasValue)
{
diff --git a/MediaBrowser.Model/ApiClient/ServerInfo.cs b/MediaBrowser.Model/ApiClient/ServerInfo.cs
index cc062f2f6..e1fa581d7 100644
--- a/MediaBrowser.Model/ApiClient/ServerInfo.cs
+++ b/MediaBrowser.Model/ApiClient/ServerInfo.cs
@@ -3,7 +3,6 @@ using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.System;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace MediaBrowser.Model.ApiClient
{
@@ -83,7 +82,12 @@ namespace MediaBrowser.Model.ApiClient
throw new ArgumentNullException("user");
}
- var list = Users.ToList();
+ // Clone the existing list of users
+ var list = new List<ServerUserInfo>();
+ foreach (ServerUserInfo serverUserInfo in Users)
+ {
+ list.Add(serverUserInfo);
+ }
var index = FindIndex(list, user.Id);