[rygel/wip/track-changes] Fix missing properties



commit 7729d4878c5a2a650a84a4a582ac42f113ddb40f
Author: Jens Georg <jensg openismus com>
Date:   Tue Dec 11 21:37:21 2012 +0100

    Fix missing properties

 .../rygel-media-export-dummy-container.vala        |    8 ++++++
 .../rygel-media-export-media-cache.vala            |   25 ++++++++++++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/src/plugins/media-export/rygel-media-export-dummy-container.vala b/src/plugins/media-export/rygel-media-export-dummy-container.vala
index 4e2f29f..cb8e487 100644
--- a/src/plugins/media-export/rygel-media-export-dummy-container.vala
+++ b/src/plugins/media-export/rygel-media-export-dummy-container.vala
@@ -31,6 +31,14 @@ internal class Rygel.MediaExport.DummyContainer : TrackableDbContainer {
         } catch (Error error) { }
 
         base (cache, MediaCache.get_id (file), file.get_basename ());
+
+        uint32 ouid, cuid, tdcc;
+        this.media_db.get_track_properties (this.id,
+                                            out ouid, out cuid, out tdcc);
+        this.object_update_id = ouid;
+        this.update_id = cuid;
+        this.total_deleted_child_count = tdcc;
+
         this.parent_ref = parent;
         this.file = file;
         this.uris.add (file.get_uri ());
diff --git a/src/plugins/media-export/rygel-media-export-media-cache.vala b/src/plugins/media-export/rygel-media-export-media-cache.vala
index 8ba7c7d..651e6bf 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache.vala
@@ -163,6 +163,31 @@ public class Rygel.MediaExport.MediaCache : Object {
         return 0;
     }
 
+    public void get_track_properties (string id,
+                                      out uint32 ouid,
+                                      out uint32 cuid,
+                                      out uint32 tdcc) {
+        GLib.Value[] values = { id };
+
+        try {
+        var cursor = this.db.exec_cursor ("SELECT object_update_id, " +
+                                          "container_update_id, " +
+                                          "deleted_child_count FROM Object " +
+                                          "WHERE upnp_id = ?",
+                                          values);
+        var statement = cursor.next ();
+        ouid = (uint32) statement->column_int64 (0);
+        cuid = (uint32) statement->column_int64 (1);
+        tdcc = (uint32) statement->column_int64 (2);
+        return;
+        } catch (Error error) {
+            warning ("Failed to get update ids: %s", error.message);
+        }
+
+        ouid = 0;
+        cuid = 0;
+        tdcc = 0;
+    }
 
     public bool exists (File      file,
                         out int64 timestamp,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]