Common ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
schema-catalog-impl.hxx
Go to the documentation of this file.
1 // file : odb/schema-catalog-impl.hxx
2 // copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
3 // license : GNU GPL v2; see accompanying LICENSE file
4 
5 #ifndef ODB_SCHEMA_CATALOG_IMPL_HXX
6 #define ODB_SCHEMA_CATALOG_IMPL_HXX
7 
8 #include <odb/pre.hxx>
9 
10 #include <cstddef>
11 
12 #include <odb/forward.hxx> // schema_version
13 
14 #include <odb/details/export.hxx>
15 
16 namespace odb
17 {
18  struct schema_catalog_impl;
19 
20  // Translation unit initializer.
21  //
22  struct LIBODB_EXPORT schema_catalog_init
23  {
24  static schema_catalog_impl* catalog;
25  static std::size_t count;
26 
29  };
30 
31  static const schema_catalog_init schema_catalog_init_;
32 
33  // Catalog entry registration.
34  //
35  struct LIBODB_EXPORT schema_catalog_create_entry
36  {
39  const char* name,
40  bool (*create_function) (database&, unsigned short pass, bool drop));
41  };
42 
43  struct LIBODB_EXPORT schema_catalog_migrate_entry
44  {
47  const char* name,
49  bool (*migrate_function) (database&, unsigned short pass, bool pre));
50  };
51 }
52 
53 #include <odb/post.hxx>
54 
55 #endif // ODB_SCHEMA_CATALOG_IMPL_HXX
Definition: schema-catalog-impl.hxx:43
Definition: schema-catalog-impl.hxx:22
static std::size_t count
Definition: schema-catalog-impl.hxx:25
unsigned long long schema_version
Definition: forward.hxx:30
Definition: database.hxx:38
database_id
Definition: forward.hxx:74
static schema_catalog_impl * catalog
Definition: schema-catalog-impl.hxx:24
Definition: schema-catalog-impl.hxx:35