aboutsummaryrefslogtreecommitdiff
path: root/src/DatabaseGlue.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-08-08 08:19:30 +0200
committerMax Kellermann <max@duempel.org>2012-08-08 09:28:13 +0200
commitaa55d759f555782dc9cf2f9f6d489502310490a6 (patch)
tree1e9a8c602cb2b1c5dcecc91909fa74084337cafd /src/DatabaseGlue.cxx
parent2043579f71b4f5204272ed8615cffe1c3c4d8473 (diff)
DatabaseGlue: add function db_is_simple()
Preparing for non-"simple" database plugins.
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();
}