diff options
| author | Tim Hobbs <jesus.tesh@gmail.com> | 2014-03-17 20:07:58 -0700 |
|---|---|---|
| committer | Tim Hobbs <jesus.tesh@gmail.com> | 2014-03-17 20:07:58 -0700 |
| commit | bea21173b5ba001d39fbbfb1f0a572d2dce887ab (patch) | |
| tree | e00d218e8aa240eb1e33e24f331dcf1815036781 /MediaBrowser.Controller/Channels | |
| parent | cf43180a2dcab023ba6a48f37920615d7e87c599 (diff) | |
| parent | 53749f077bedc84323ac13694c7f0963a65d1f06 (diff) | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'MediaBrowser.Controller/Channels')
| -rw-r--r-- | MediaBrowser.Controller/Channels/Channel.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/ChannelAudioItem.cs | 17 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/ChannelItemInfo.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/ChannelVideoItem.cs | 17 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannel.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannelItem.cs | 17 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Channels/IChannelManager.cs | 28 |
7 files changed, 106 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs new file mode 100644 index 000000000..c9a70f2bc --- /dev/null +++ b/MediaBrowser.Controller/Channels/Channel.cs @@ -0,0 +1,9 @@ +using MediaBrowser.Controller.Entities; + +namespace MediaBrowser.Controller.Channels +{ + public class Channel : BaseItem + { + public string OriginalChannelName { get; set; } + } +} diff --git a/MediaBrowser.Controller/Channels/ChannelAudioItem.cs b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs new file mode 100644 index 000000000..269a95456 --- /dev/null +++ b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs @@ -0,0 +1,17 @@ +using MediaBrowser.Controller.Entities.Audio; + +namespace MediaBrowser.Controller.Channels +{ + public class ChannelAudioItem : Audio, IChannelItem + { + public string ExternalId { get; set; } + + public ChannelItemType ChannelItemType { get; set; } + + public bool IsInfiniteStream { get; set; } + + public ChannelMediaContentType ContentType { get; set; } + + public string OriginalImageUrl { get; set; } + } +} diff --git a/MediaBrowser.Controller/Channels/ChannelItemInfo.cs b/MediaBrowser.Controller/Channels/ChannelItemInfo.cs index 496fbfbf4..f80ad8911 100644 --- a/MediaBrowser.Controller/Channels/ChannelItemInfo.cs +++ b/MediaBrowser.Controller/Channels/ChannelItemInfo.cs @@ -1,9 +1,11 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Model.Entities; +using System; using System.Collections.Generic; namespace MediaBrowser.Controller.Channels { - public class ChannelItemInfo + public class ChannelItemInfo : IHasProviderIds { public string Name { get; set; } @@ -23,18 +25,21 @@ namespace MediaBrowser.Controller.Channels public long? RunTimeTicks { get; set; } - public bool IsInfinite { get; set; } + public bool IsInfiniteStream { get; set; } public string ImageUrl { get; set; } public ChannelMediaType MediaType { get; set; } public ChannelMediaContentType ContentType { get; set; } + + public Dictionary<string, string> ProviderIds { get; set; } public ChannelItemInfo() { Genres = new List<string>(); People = new List<PersonInfo>(); + ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } } diff --git a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs new file mode 100644 index 000000000..baa4c2a17 --- /dev/null +++ b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs @@ -0,0 +1,17 @@ +using MediaBrowser.Controller.Entities; + +namespace MediaBrowser.Controller.Channels +{ + public class ChannelVideoItem : Video, IChannelItem + { + public string ExternalId { get; set; } + + public ChannelItemType ChannelItemType { get; set; } + + public bool IsInfiniteStream { get; set; } + + public ChannelMediaContentType ContentType { get; set; } + + public string OriginalImageUrl { get; set; } + } +} diff --git a/MediaBrowser.Controller/Channels/IChannel.cs b/MediaBrowser.Controller/Channels/IChannel.cs index ba1bd4083..956eb67e8 100644 --- a/MediaBrowser.Controller/Channels/IChannel.cs +++ b/MediaBrowser.Controller/Channels/IChannel.cs @@ -26,13 +26,20 @@ namespace MediaBrowser.Controller.Channels ChannelCapabilities GetCapabilities(); /// <summary> + /// Determines whether [is enabled for] [the specified user]. + /// </summary> + /// <param name="user">The user.</param> + /// <returns><c>true</c> if [is enabled for] [the specified user]; otherwise, <c>false</c>.</returns> + bool IsEnabledFor(User user); + + /// <summary> /// Searches the specified search term. /// </summary> - /// <param name="searchTerm">The search term.</param> + /// <param name="searchInfo">The search information.</param> /// <param name="user">The user.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{IEnumerable{ChannelItemInfo}}.</returns> - Task<IEnumerable<ChannelItemInfo>> Search(string searchTerm, User user, CancellationToken cancellationToken); + Task<IEnumerable<ChannelItemInfo>> Search(ChannelSearchInfo searchInfo, User user, CancellationToken cancellationToken); /// <summary> /// Gets the channel items. @@ -56,4 +63,9 @@ namespace MediaBrowser.Controller.Channels { public bool CanSearch { get; set; } } + + public class ChannelSearchInfo + { + public string SearchTerm { get; set; } + } } diff --git a/MediaBrowser.Controller/Channels/IChannelItem.cs b/MediaBrowser.Controller/Channels/IChannelItem.cs new file mode 100644 index 000000000..ffef532a9 --- /dev/null +++ b/MediaBrowser.Controller/Channels/IChannelItem.cs @@ -0,0 +1,17 @@ +using MediaBrowser.Controller.Entities; + +namespace MediaBrowser.Controller.Channels +{ + public interface IChannelItem : IHasImages + { + string ExternalId { get; set; } + + ChannelItemType ChannelItemType { get; set; } + + bool IsInfiniteStream { get; set; } + + ChannelMediaContentType ContentType { get; set; } + + string OriginalImageUrl { get; set; } + } +} diff --git a/MediaBrowser.Controller/Channels/IChannelManager.cs b/MediaBrowser.Controller/Channels/IChannelManager.cs index 561ab555b..b34e77415 100644 --- a/MediaBrowser.Controller/Channels/IChannelManager.cs +++ b/MediaBrowser.Controller/Channels/IChannelManager.cs @@ -1,12 +1,34 @@ -using System; +using MediaBrowser.Model.Channels; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Querying; using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Channels { public interface IChannelManager { + /// <summary> + /// Adds the parts. + /// </summary> + /// <param name="channels">The channels.</param> + void AddParts(IEnumerable<IChannel> channels); + + /// <summary> + /// Gets the channels. + /// </summary> + /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{QueryResult{BaseItemDto}}.</returns> + Task<QueryResult<BaseItemDto>> GetChannels(ChannelQuery query, CancellationToken cancellationToken); + + /// <summary> + /// Gets the channel items. + /// </summary> + /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{QueryResult{BaseItemDto}}.</returns> + Task<QueryResult<BaseItemDto>> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken); } } |
