return new AudioItem (id, parent, title);
case MusicItem.UPNP_CLASS:
return new MusicItem (id, parent, title);
+ case PlaylistItem.UPNP_CLASS:
+ return new PlaylistItem (id, parent, title);
default:
throw new ContentDirectoryError.BAD_METADATA
("Creation of item of class '%s' " +
--- /dev/null
+/*
+ * Copyright (C) 2012 Intel Corporation.
+ *
+ * Author: Krzesimir Nowak <krnowak@openismus.com>
+ *
+ * This file is part of Rygel.
+ *
+ * Rygel is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Rygel is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * Represents a playlist item.
+ *
+ * These objects correspond to DLNA's DIDL_S items.
+ */
+public class Rygel.PlaylistItem : MediaItem {
+ public new const string UPNP_CLASS = "object.item.playlistItem";
+
+ public PlaylistItem (string id,
+ MediaContainer parent,
+ string title,
+ string upnp_class = PlaylistItem.UPNP_CLASS) {
+ base (id, parent, title, upnp_class);
+ }
+
+ public override bool streamable () {
+ return false;
+ }
+}
base (id, parent, title);
}
}
+
+public class Rygel.PlaylistItem : Rygel.MediaItem {
+ public const string UPNP_CLASS = "object.item.playlistItem";
+
+ public PlaylistItem (string id, MediaContainer parent, string title) {
+ base (id, parent, title);
+ }
+}
+
public class Rygel.ContentDirectory : GLib.Object {
public Cancellable cancellable;
public MediaContainer root_container;