aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Channels
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-09 18:14:44 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-09 18:14:44 -0400
commitd49494476770b3c0a091841bd3bbd44862fb8137 (patch)
treef0bf4bffa8b4d8a91de9e9096941aa34082a8e91 /MediaBrowser.Controller/Channels
parent1ead63b0d1a532cf828a4ed7c5310eef9c255740 (diff)
calculate item by name counts on the fly
Diffstat (limited to 'MediaBrowser.Controller/Channels')
-rw-r--r--MediaBrowser.Controller/Channels/ChannelItemInfo.cs67
-rw-r--r--MediaBrowser.Controller/Channels/IChannel.cs57
-rw-r--r--MediaBrowser.Controller/Channels/IChannelManager.cs12
3 files changed, 136 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Channels/ChannelItemInfo.cs b/MediaBrowser.Controller/Channels/ChannelItemInfo.cs
new file mode 100644
index 000000000..496fbfbf4
--- /dev/null
+++ b/MediaBrowser.Controller/Channels/ChannelItemInfo.cs
@@ -0,0 +1,67 @@
+using MediaBrowser.Controller.Entities;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Channels
+{
+ public class ChannelItemInfo
+ {
+ public string Name { get; set; }
+
+ public string Id { get; set; }
+
+ public ChannelItemType Type { get; set; }
+
+ public string OfficialRating { get; set; }
+
+ public string Overview { get; set; }
+
+ public List<string> Genres { get; set; }
+
+ public List<PersonInfo> People { get; set; }
+
+ public float? CommunityRating { get; set; }
+
+ public long? RunTimeTicks { get; set; }
+
+ public bool IsInfinite { get; set; }
+
+ public string ImageUrl { get; set; }
+
+ public ChannelMediaType MediaType { get; set; }
+
+ public ChannelMediaContentType ContentType { get; set; }
+
+ public ChannelItemInfo()
+ {
+ Genres = new List<string>();
+ People = new List<PersonInfo>();
+ }
+ }
+
+ public enum ChannelItemType
+ {
+ Media = 0,
+
+ Category = 1
+ }
+
+ public enum ChannelMediaType
+ {
+ Audio = 0,
+
+ Video = 1
+ }
+
+ public enum ChannelMediaContentType
+ {
+ Clip = 0,
+
+ Podcast = 1,
+
+ Trailer = 2,
+
+ Movie = 3,
+
+ Episode = 4
+ }
+}
diff --git a/MediaBrowser.Controller/Channels/IChannel.cs b/MediaBrowser.Controller/Channels/IChannel.cs
new file mode 100644
index 000000000..edb2347c0
--- /dev/null
+++ b/MediaBrowser.Controller/Channels/IChannel.cs
@@ -0,0 +1,57 @@
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Channels
+{
+ public interface IChannel
+ {
+ /// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
+ /// Gets the home page URL.
+ /// </summary>
+ /// <value>The home page URL.</value>
+ string HomePageUrl { get; }
+
+ /// <summary>
+ /// Gets the capabilities.
+ /// </summary>
+ /// <returns>ChannelCapabilities.</returns>
+ ChannelCapabilities GetCapabilities();
+
+ /// <summary>
+ /// Searches the specified search term.
+ /// </summary>
+ /// <param name="searchTerm">The search term.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{ChannelItemInfo}}.</returns>
+ Task<IEnumerable<ChannelItemInfo>> Search(string searchTerm, CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the channel items.
+ /// </summary>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{ChannelItem}}.</returns>
+ Task<IEnumerable<ChannelItemInfo>> GetChannelItems(CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the channel items.
+ /// </summary>
+ /// <param name="categoryId">The category identifier.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{ChannelItem}}.</returns>
+ Task<IEnumerable<ChannelItemInfo>> GetChannelItems(string categoryId, CancellationToken cancellationToken);
+ }
+
+ public class ChannelCapabilities
+ {
+ public bool CanSearch { get; set; }
+
+ public bool CanBeIndexed { get; set; }
+ }
+}
diff --git a/MediaBrowser.Controller/Channels/IChannelManager.cs b/MediaBrowser.Controller/Channels/IChannelManager.cs
new file mode 100644
index 000000000..561ab555b
--- /dev/null
+++ b/MediaBrowser.Controller/Channels/IChannelManager.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Channels
+{
+ public interface IChannelManager
+ {
+ }
+}