aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Channels
diff options
context:
space:
mode:
authorTim Hobbs <jesus.tesh@gmail.com>2014-03-17 20:07:58 -0700
committerTim Hobbs <jesus.tesh@gmail.com>2014-03-17 20:07:58 -0700
commitbea21173b5ba001d39fbbfb1f0a572d2dce887ab (patch)
treee00d218e8aa240eb1e33e24f331dcf1815036781 /MediaBrowser.Controller/Channels
parentcf43180a2dcab023ba6a48f37920615d7e87c599 (diff)
parent53749f077bedc84323ac13694c7f0963a65d1f06 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'MediaBrowser.Controller/Channels')
-rw-r--r--MediaBrowser.Controller/Channels/Channel.cs9
-rw-r--r--MediaBrowser.Controller/Channels/ChannelAudioItem.cs17
-rw-r--r--MediaBrowser.Controller/Channels/ChannelItemInfo.cs9
-rw-r--r--MediaBrowser.Controller/Channels/ChannelVideoItem.cs17
-rw-r--r--MediaBrowser.Controller/Channels/IChannel.cs16
-rw-r--r--MediaBrowser.Controller/Channels/IChannelItem.cs17
-rw-r--r--MediaBrowser.Controller/Channels/IChannelManager.cs28
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);
}
}