Start utilizing the MediaContainer class in media providers.
authorZeeshan Ali (Khattak) <zeeshanak@src.gnome.org>
Fri, 29 Aug 2008 21:10:23 +0000 (21:10 +0000)
committerZeeshan Ali (Khattak) <zeeshanak@src.gnome.org>
Fri, 29 Aug 2008 21:10:23 +0000 (21:10 +0000)
svn path=/trunk/; revision=264

ChangeLog
src/media-providers/tracker/gupnp-media-tracker.vala
src/media-server/gupnp-media-manager.vala

index 2e5e61a..cba58cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        Add MediaObject and MediaContainer to vapi file and build.
 
+       * src/media-providers/tracker/gupnp-media-tracker.vala:
+       * src/media-server/gupnp-media-manager.vala:
+
+       Start utilizing the MediaContainer class in media providers.
+
 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
 
        * src/media-providers/tracker/gupnp-media-tracker.vala:
index 659c932..53c25ae 100644 (file)
@@ -25,9 +25,7 @@
 using GUPnP;
 using DBus;
 
-private class Tracker.Container {
-    public string id;
-    public string parent_id;
+private class Tracker.Container : MediaContainer {
     public string title;
     public string tracker_category;
 
@@ -213,40 +211,10 @@ public class GUPnP.MediaTracker : MediaProvider {
 
     private void add_container_from_db (DIDLLiteWriter    didl_writer,
                                         Tracker.Container container) {
-        uint child_count;
+        /* Update the child count */
+        container.child_count = get_container_children_count (container);
 
-        child_count = get_container_children_count (container);
-
-        this.add_container (didl_writer,
-                            container.id,
-                            container.parent_id,
-                            container.title,
-                            child_count);
-    }
-
-    private void add_container (DIDLLiteWriter didl_writer,
-                                string         id,
-                                string         parent_id,
-                                string         title,
-                                uint           child_count) {
-        didl_writer.start_container (id,
-                                     parent_id,
-                                     (int) child_count,
-                                     false,
-                                     false);
-
-        didl_writer.add_string ("class",
-                                DIDLLiteWriter.NAMESPACE_UPNP,
-                                null,
-                                "object.container.storageFolder");
-
-        didl_writer.add_string ("title",
-                                DIDLLiteWriter.NAMESPACE_DC,
-                                null,
-                                title);
-
-        /* End of Container */
-        didl_writer.end_container ();
+        container.serialize (didl_writer);
     }
 
     private uint get_container_children_count (Tracker.Container container) {
@@ -641,11 +609,11 @@ public class GUPnP.MediaTracker : MediaProvider {
     }
 
     private void add_root_container (DIDLLiteWriter didl_writer) {
-        add_container (didl_writer,
-                       this.root_id,
-                       this.root_parent_id,
-                       this.title,
-                       this.containers.length ());
+        var container = new MediaContainer (this.root_id,
+                                            this.root_parent_id,
+                                            this.title,
+                                            this.containers.length ());
+        container.serialize (didl_writer);
     }
 
     private Tracker.Container? get_item_parent (string uri) {
index e6ac2a3..5ce75ea 100644 (file)
@@ -160,40 +160,15 @@ public class GUPnP.MediaManager : MediaProvider {
 
     private void add_root_container_metadata (DIDLLiteWriter didl_writer,
                                               out uint       update_id) {
-        add_container (didl_writer,
-                       this.root_id,
-                       "-1",         /* FIXME */
-                       this.title,
-                       this.providers.size ());
+        var container = new MediaContainer (this.root_id,
+                                            "-1",
+                                            this.title,
+                                            this.providers.size ());
+        container.serialize (didl_writer);
 
         update_id = this.system_update_id;
     }
 
-    private void add_container (DIDLLiteWriter didl_writer,
-                                string         id,
-                                string         parent_id,
-                                string         title,
-                                uint           child_count) {
-        didl_writer.start_container (id,
-                                     parent_id,
-                                     (int) child_count,
-                                     false,
-                                     false);
-
-        didl_writer.add_string ("class",
-                                DIDLLiteWriter.NAMESPACE_UPNP,
-                                null,
-                                "object.container.storageFolder");
-
-        didl_writer.add_string ("title",
-                                DIDLLiteWriter.NAMESPACE_DC,
-                                null,
-                                title);
-
-        /* End of Container */
-        didl_writer.end_container ();
-    }
-
     string get_root_id_from_id (string id) {
         string[] tokens;