aboutsummaryrefslogtreecommitdiff
path: root/odb/schema-catalog-impl.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-01 11:56:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-01 11:56:33 +0200
commitbb2358220adfe274b54d9b155205b60ddfe625c6 (patch)
treef8822c33ff25a0a9058ce92ce3a8716343a399f0 /odb/schema-catalog-impl.hxx
parent1233c11bf05cc3a039afa548faf06f3610f24269 (diff)
Add support for embedded database schemas
New options: --schema-format, --default-schema. New example: schema/embedded.
Diffstat (limited to 'odb/schema-catalog-impl.hxx')
-rw-r--r--odb/schema-catalog-impl.hxx44
1 files changed, 44 insertions, 0 deletions
diff --git a/odb/schema-catalog-impl.hxx b/odb/schema-catalog-impl.hxx
new file mode 100644
index 0000000..782536a
--- /dev/null
+++ b/odb/schema-catalog-impl.hxx
@@ -0,0 +1,44 @@
+// file : odb/schema-catalog-impl.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#ifndef ODB_SCHEMA_CATALOG_IMPL_HXX
+#define ODB_SCHEMA_CATALOG_IMPL_HXX
+
+#include <odb/pre.hxx>
+
+#include <cstddef>
+
+#include <odb/forward.hxx>
+
+#include <odb/details/export.hxx>
+
+namespace odb
+{
+ struct schema_catalog_impl;
+
+ // Translation unit initializer.
+ //
+ struct LIBODB_EXPORT schema_catalog_init
+ {
+ static schema_catalog_impl* catalog;
+ static std::size_t count;
+
+ schema_catalog_init ();
+ ~schema_catalog_init ();
+ };
+
+ static const schema_catalog_init schema_catalog_init_;
+
+ // Catalog entry registration.
+ //
+ struct LIBODB_EXPORT schema_catalog_entry
+ {
+ schema_catalog_entry (const char* name, void (*entry) (database&));
+ };
+}
+
+#include <odb/post.hxx>
+
+#endif // ODB_SCHEMA_CATALOG_IMPL_HXX