[rygel] media-export: Infer SystemUpdateID
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] media-export: Infer SystemUpdateID
- Date: Wed, 12 Dec 2012 18:25:46 +0000 (UTC)
commit d163a27a2fbdcad87215cd2cb485d878f3f0bd9b
Author: Jens Georg <jensg openismus com>
Date: Tue Dec 11 20:42:43 2012 +0100
media-export: Infer SystemUpdateID
.../rygel-media-export-media-cache.vala | 8 ++++++++
.../rygel-media-export-sql-factory.vala | 8 +++++++-
.../rygel-media-export-trackable-db-container.vala | 5 +++++
3 files changed, 20 insertions(+), 1 deletions(-)
---
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 62737b4..8ba7c7d 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache.vala
@@ -155,6 +155,14 @@ public class Rygel.MediaExport.MediaCache : Object {
return this.query_value (SQLString.CHILD_COUNT, values);
}
+ public uint32 get_update_id () {
+ try {
+ return this.query_value (SQLString.MAX_UPDATE_ID);
+ } catch (Error error) { }
+
+ return 0;
+ }
+
public bool exists (File file,
out int64 timestamp,
diff --git a/src/plugins/media-export/rygel-media-export-sql-factory.vala b/src/plugins/media-export/rygel-media-export-sql-factory.vala
index 4b3f94a..272cc3e 100644
--- a/src/plugins/media-export/rygel-media-export-sql-factory.vala
+++ b/src/plugins/media-export/rygel-media-export-sql-factory.vala
@@ -72,7 +72,8 @@ internal enum Rygel.MediaExport.SQLString {
SCHEMA,
EXISTS_CACHE,
STATISTICS,
- RESET_TOKEN
+ RESET_TOKEN,
+ MAX_UPDATE_ID
}
internal class Rygel.MediaExport.SQLFactory : Object {
@@ -268,6 +269,9 @@ internal class Rygel.MediaExport.SQLFactory : Object {
private const string RESET_TOKEN_STRING =
"SELECT reset_token FROM schema_info";
+ private const string MAX_UPDATE_ID_STRING =
+ "SELECT MAX(MAX(object_update_id), MAX(container_update_id)) FROM Object";
+
public unowned string make (SQLString query) {
switch (query) {
case SQLString.SAVE_METADATA:
@@ -314,6 +318,8 @@ internal class Rygel.MediaExport.SQLFactory : Object {
return STATISTICS_STRING;
case SQLString.RESET_TOKEN:
return RESET_TOKEN_STRING;
+ case SQLString.MAX_UPDATE_ID:
+ return MAX_UPDATE_ID_STRING;
default:
assert_not_reached ();
}
diff --git a/src/plugins/media-export/rygel-media-export-trackable-db-container.vala b/src/plugins/media-export/rygel-media-export-trackable-db-container.vala
index dd6ee28..f110ae2 100644
--- a/src/plugins/media-export/rygel-media-export-trackable-db-container.vala
+++ b/src/plugins/media-export/rygel-media-export-trackable-db-container.vala
@@ -57,4 +57,9 @@ public class Rygel.MediaExport.TrackableDbContainer : TrackableContainer,
public virtual void set_service_reset_token (string token) {
this.media_db.save_reset_token (token);
}
+
+ public virtual uint32 get_system_update_id () {
+ var id = this.media_db.get_update_id ();
+ return id;
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]