aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-05 00:36:45 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-05 00:36:45 -0400
commitac69327f1fa866c20630d9d0e0c663472b726c79 (patch)
tree3d7dfd7627d13201cc74bcd1f0302b67bf6c16b2 /MediaBrowser.Controller/Providers
parent8aadbf35136874ac7a279f8bc0f3a4a02a131313 (diff)
check in open subtitles stub
Diffstat (limited to 'MediaBrowser.Controller/Providers')
-rw-r--r--MediaBrowser.Controller/Providers/ISubtitleProvider.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Providers/ISubtitleProvider.cs b/MediaBrowser.Controller/Providers/ISubtitleProvider.cs
new file mode 100644
index 0000000000..a3aaaf298e
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/ISubtitleProvider.cs
@@ -0,0 +1,55 @@
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Providers
+{
+ public interface ISubtitleProvider
+ {
+ /// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
+ /// Gets the supported media types.
+ /// </summary>
+ /// <value>The supported media types.</value>
+ IEnumerable<SubtitleMediaType> SupportedMediaTypes { get; }
+
+ /// <summary>
+ /// Gets the subtitles.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{SubtitleResponse}.</returns>
+ Task<SubtitleResponse> GetSubtitles(SubtitleRequest request, CancellationToken cancellationToken);
+ }
+
+ public enum SubtitleMediaType
+ {
+ Episode = 0,
+ Movie = 1
+ }
+
+ public class SubtitleResponse
+ {
+ public string Format { get; set; }
+ public bool HasContent { get; set; }
+ public Stream Stream { get; set; }
+ }
+
+ public class SubtitleRequest
+ {
+ public string Language { get; set; }
+
+ public SubtitleMediaType ContentType { get; set; }
+
+ public string MediaPath { get; set; }
+ public string SeriesName { get; set; }
+ public int? IndexNumber { get; set; }
+ public int? ParentIndexNumber { get; set; }
+ }
+}