aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-01 22:34:45 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-01 22:34:45 -0400
commitf0464dfa17d146f34849e45097085b891e51ebc8 (patch)
treec9f2f27ade62ea749728a3d41a5d8b67540dd994 /MediaBrowser.Controller
parent148261a48c1d6058cfa5833f5278e7b0ccdba2fc (diff)
improve poster sizing
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj3
-rw-r--r--MediaBrowser.Controller/Playlists/IPlaylistManager.cs47
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs20
-rw-r--r--MediaBrowser.Controller/Playlists/PlaylistCreationOptions.cs16
4 files changed, 86 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index aee118f9a..b4b7b3650 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -217,6 +217,9 @@
<Compile Include="Notifications\UserNotification.cs" />
<Compile Include="Persistence\IFileOrganizationRepository.cs" />
<Compile Include="Persistence\MediaStreamQuery.cs" />
+ <Compile Include="Playlists\IPlaylistManager.cs" />
+ <Compile Include="Playlists\Playlist.cs" />
+ <Compile Include="Playlists\PlaylistCreationOptions.cs" />
<Compile Include="Providers\DirectoryService.cs" />
<Compile Include="Providers\ICustomMetadataProvider.cs" />
<Compile Include="Providers\IExternalId.cs" />
diff --git a/MediaBrowser.Controller/Playlists/IPlaylistManager.cs b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
new file mode 100644
index 000000000..2923c11c5
--- /dev/null
+++ b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
@@ -0,0 +1,47 @@
+using MediaBrowser.Controller.Entities;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Playlists
+{
+ public interface IPlaylistManager
+ {
+ /// <summary>
+ /// Gets the playlists.
+ /// </summary>
+ /// <param name="userId">The user identifier.</param>
+ /// <returns>IEnumerable&lt;Playlist&gt;.</returns>
+ IEnumerable<Playlist> GetPlaylists(string userId);
+
+ /// <summary>
+ /// Creates the playlist.
+ /// </summary>
+ /// <param name="options">The options.</param>
+ /// <returns>Task&lt;Playlist&gt;.</returns>
+ Task<Playlist> CreatePlaylist(PlaylistCreationOptions options);
+
+ /// <summary>
+ /// Adds to playlist.
+ /// </summary>
+ /// <param name="playlistId">The playlist identifier.</param>
+ /// <param name="itemIds">The item ids.</param>
+ /// <returns>Task.</returns>
+ Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds);
+
+ /// <summary>
+ /// Removes from playlist.
+ /// </summary>
+ /// <param name="playlistId">The playlist identifier.</param>
+ /// <param name="indeces">The indeces.</param>
+ /// <returns>Task.</returns>
+ Task RemoveFromPlaylist(string playlistId, IEnumerable<int> indeces);
+
+ /// <summary>
+ /// Gets the playlists folder.
+ /// </summary>
+ /// <param name="userId">The user identifier.</param>
+ /// <returns>Folder.</returns>
+ Folder GetPlaylistsFolder(string userId);
+
+ }
+}
diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs
new file mode 100644
index 000000000..e20387eba
--- /dev/null
+++ b/MediaBrowser.Controller/Playlists/Playlist.cs
@@ -0,0 +1,20 @@
+using MediaBrowser.Controller.Entities;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Playlists
+{
+ public class Playlist : Folder
+ {
+ public List<string> ItemIds { get; set; }
+
+ public Playlist()
+ {
+ ItemIds = new List<string>();
+ }
+
+ public override IEnumerable<BaseItem> GetChildren(User user, bool includeLinkedChildren)
+ {
+ return base.GetChildren(user, includeLinkedChildren);
+ }
+ }
+}
diff --git a/MediaBrowser.Controller/Playlists/PlaylistCreationOptions.cs b/MediaBrowser.Controller/Playlists/PlaylistCreationOptions.cs
new file mode 100644
index 000000000..a62cbe12e
--- /dev/null
+++ b/MediaBrowser.Controller/Playlists/PlaylistCreationOptions.cs
@@ -0,0 +1,16 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Playlists
+{
+ public class PlaylistCreationOptions
+ {
+ public string Name { get; set; }
+
+ public List<string> ItemIdList { get; set; }
+
+ public PlaylistCreationOptions()
+ {
+ ItemIdList = new List<string>();
+ }
+ }
+}