aboutsummaryrefslogtreecommitdiff
path: root/src/DatabaseGlue.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/DatabaseGlue.cxx')
-rw-r--r--src/DatabaseGlue.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/DatabaseGlue.cxx b/src/DatabaseGlue.cxx
index 68ab11ab..a0246253 100644
--- a/src/DatabaseGlue.cxx
+++ b/src/DatabaseGlue.cxx
@@ -87,10 +87,19 @@ GetDatabase()
return db;
}
+bool
+db_is_simple(void)
+{
+ assert(db == NULL || db_is_open);
+
+ return dynamic_cast<SimpleDatabase *>(db) != nullptr;
+}
+
struct directory *
db_get_root(void)
{
assert(db != NULL);
+ assert(db_is_simple());
return ((SimpleDatabase *)db)->GetRoot();
}
@@ -128,6 +137,7 @@ db_save(GError **error_r)
{
assert(db != NULL);
assert(db_is_open);
+ assert(db_is_simple());
return ((SimpleDatabase *)db)->Save(error_r);
}
@@ -153,6 +163,7 @@ db_get_mtime(void)
{
assert(db != NULL);
assert(db_is_open);
+ assert(db_is_simple());
return ((SimpleDatabase *)db)->GetLastModified();
}