summaryrefslogtreecommitdiff
path: root/gvdb
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2010-07-18 20:46:24 -0400
committerRyan Lortie <desrt@desrt.ca>2010-07-18 20:46:24 -0400
commite4073ddfe2a03f4c9e0eb9f08fd997a2087b6f75 (patch)
tree26a507de5a29d81ce51e51eda9a7264b19aabecf /gvdb
parent46bed217bae3ffb796d9acde4c830ee3bc587852 (diff)
parentdf40747190a0fff4582c84b101f74e5da91f8f72 (diff)
downloaddconf-e4073ddfe2a03f4c9e0eb9f08fd997a2087b6f75.tar.gz
Merge remote branch 'gvdb/master'
Diffstat (limited to 'gvdb')
-rw-r--r--gvdb/gvdb-reader.c17
-rw-r--r--gvdb/gvdb-reader.h3
2 files changed, 20 insertions, 0 deletions
diff --git a/gvdb/gvdb-reader.c b/gvdb/gvdb-reader.c
index a043060..01ef756 100644
--- a/gvdb/gvdb-reader.c
+++ b/gvdb/gvdb-reader.c
@@ -534,6 +534,23 @@ gvdb_table_unref (GvdbTable *file)
}
}
+/**
+ * gvdb_table_is_valid:
+ * @table: a #GvdbTable
+ * @returns: %TRUE if @table is still valid
+ *
+ * Checks if the table is still valid.
+ *
+ * An on-disk GVDB can be marked as invalid. This happens when the file
+ * has been replaced. The appropriate action is typically to reopen the
+ * file.
+ **/
+gboolean
+gvdb_table_is_valid (GvdbTable *table)
+{
+ return !!table->data;
+}
+
void
gvdb_table_walk (GvdbTable *table,
const gchar *key,
diff --git a/gvdb/gvdb-reader.h b/gvdb/gvdb-reader.h
index a29c16e..c960646 100644
--- a/gvdb/gvdb-reader.h
+++ b/gvdb/gvdb-reader.h
@@ -49,6 +49,9 @@ G_GNUC_INTERNAL
gboolean gvdb_table_has_value (GvdbTable *table,
const gchar *key);
+G_GNUC_INTERNAL
+gboolean gvdb_table_is_valid (GvdbTable *table);
+
typedef void (*GvdbWalkValueFunc) (const gchar *name,
gsize name_len,
GVariant *value,