CompleteDB Embedded: Direct C++ API  2.4.2
Database.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_DATABASE_HPP
2 #define COMPLETEDB_DATABASE_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
10 #include "completedb/Config.hpp"
11 #include "completedb/Record.hpp"
13 #include "completedb/Table.hpp"
14 
15 namespace completedb {
16 
22 class Database
23 : public virtual Object
24 , public LastError
25 , public DatabaseInfo
26 , public TableDdl
27 {
28 
29 public: // override Object iface
30 
34  inline bool cast(const Object& from) { return completedb_Database_cast(&m, from.get(), from.getClassType()); }
38  inline bool isConnected() const { return completedb_Database_isConnected(m); }
42  inline bool isDisconnected() const { return completedb_Database_isDisconnected(m); }
51 
52 public: // override LastError iface
53 
61  inline const char* getLastError() const { return completedb_Database_getLastError(m); }
62 
63 public: // override IdentityInfo iface
64 
68  inline const char* getName() const { return completedb_Database_getName(m); }
69 
70 public: // override DatabaseInfo iface
71 
76 
77 public: // override TableDdl iface
78 
82  inline CreateTable createTable(const char* name) { return completedb_Database_createTable(m, name); }
83 
84 public: // iface
85 
89  inline bool commit() { return completedb_Database_commit(m); }
94  inline bool connect(const char* databaseName) { return completedb_Database_connect(m, databaseName); }
98  inline bool containsColumn(const char* tableName, const char* columnName) { return completedb_Database_containsColumn(m, tableName, columnName); }
102  inline bool containsColumn(const IdentityInfo& tableName, const IdentityInfo& columnName) { return completedb_Database_containsColumn(m, tableName.getName(), columnName.getName()); }
106  inline bool containsTable(const char* name) { return completedb_Database_containsTable(m, name); }
110  inline bool containsTable(const IdentityInfo& name) { return completedb_Database_containsTable(m, name.getName()); }
114  inline bool disconnect() { return completedb_Database_disconnect(m); }
118  inline bool rollback() { return completedb_Database_rollback(m); }
126  inline Record getTableRecord(const char* tableName) { return completedb_Database_getTableRecord(m, tableName); }
130  inline Record getTableRecord(const IdentityInfo& tableName) { return completedb_Database_getTableRecord(m, tableName.getName()); }
134  inline Table getTable(const char* name) { return completedb_Database_getTable(m, name); }
138  inline Table getTable(const IdentityInfo& name) { return completedb_Database_getTable(m, name.getName()); }
139 
140 public: // factory lvalue
141 
142  Database& operator=(const Database& src) { completedb_Database_assign(&m, src.m, src.getClassType()); return *this; }
144 
145 public: // factory
146 
149 
150 private: // factory
151 
152  Database(void* src) : Object(src) {}
153 
154 };
155 
156 } // namespace
157 
158 #endif /* COMPLETEDB_DATABASE_HPP */