diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-09 18:14:44 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-09 18:14:44 -0400 |
| commit | d49494476770b3c0a091841bd3bbd44862fb8137 (patch) | |
| tree | f0bf4bffa8b4d8a91de9e9096941aa34082a8e91 /MediaBrowser.Controller/Channels | |
| parent | 1ead63b0d1a532cf828a4ed7c5310eef9c255740 (diff) | |
calculate item by name counts on the fly
Diffstat (limited to 'MediaBrowser.Controller/Channels')
| -rw-r--r-- | MediaBrowser.Controller/Channels/ChannelItemInfo.cs | 67 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannel.cs | 57 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannelManager.cs | 12 |
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 + { + } +} |
