瀏覽代碼

added cancellation token to get image stream

Luke Pulverenti 12 年之前
父節點
當前提交
582edde742

+ 23 - 0
MediaBrowser.Model/ApiClient/ApiClientExtensions.cs

@@ -0,0 +1,23 @@
+using System.IO;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Model.ApiClient
+{
+    /// <summary>
+    /// Class ApiClientExtensions
+    /// </summary>
+    public static class ApiClientExtensions
+    {
+        /// <summary>
+        /// Gets the image stream async.
+        /// </summary>
+        /// <param name="apiClient">The API client.</param>
+        /// <param name="url">The URL.</param>
+        /// <returns>Task{Stream}.</returns>
+        public static Task<Stream> GetImageStreamAsync(this IApiClient apiClient, string url)
+        {
+            return apiClient.GetImageStreamAsync(url, CancellationToken.None);
+        }
+    }
+}

+ 3 - 1
MediaBrowser.Model/ApiClient/IApiClient.cs

@@ -14,6 +14,7 @@ using MediaBrowser.Model.Users;
 using System;
 using System.Collections.Generic;
 using System.IO;
+using System.Threading;
 using System.Threading.Tasks;
 
 namespace MediaBrowser.Model.ApiClient
@@ -113,9 +114,10 @@ namespace MediaBrowser.Model.ApiClient
         /// Gets an image stream based on a url
         /// </summary>
         /// <param name="url">The URL.</param>
+        /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task{Stream}.</returns>
         /// <exception cref="ArgumentNullException">url</exception>
-        Task<Stream> GetImageStreamAsync(string url);
+        Task<Stream> GetImageStreamAsync(string url, CancellationToken cancellationToken);
 
         /// <summary>
         /// Gets a BaseItem

+ 1 - 0
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -41,6 +41,7 @@
     </Compile>
     <Compile Include="ApiClient\HttpResponseEventArgs.cs" />
     <Compile Include="ApiClient\IApiClient.cs" />
+    <Compile Include="ApiClient\ApiClientExtensions.cs" />
     <Compile Include="Configuration\BaseApplicationConfiguration.cs" />
     <Compile Include="Configuration\ManualLoginCategory.cs" />
     <Compile Include="Configuration\ServerConfiguration.cs" />