CompleteDB Embedded: Direct C++ API  2.4.2
Config.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_CONFIG_HPP
2 #define COMPLETEDB_CONFIG_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
8 
9 namespace completedb {
10 
16 class Config
17 : public virtual Object
18 , public LastError
19 {
20 
21  friend class Database;
22 
23 public: // override Object iface
24 
28  inline bool cast(const Object& from) { return completedb_Config_cast(&m, from.get(), from.getClassType()); }
32  inline bool isConnected() const { return completedb_Config_isConnected(m); }
36  inline bool isDisconnected() const { return completedb_Config_isDisconnected(m); }
45 
46 public: // override LastError iface
47 
55  inline const char* getLastError() const { return completedb_Config_getLastError(m); }
56 
57 public: // iface
58 
61  inline bool load() { return completedb_Config_load(m); }
62  inline bool save() { return completedb_Config_save(m); }
64  inline uint64_t getExtentSizeMB() { return completedb_Config_getExtentSizeMB(m); }
65  inline uint64_t getFileMaxSizeGB() { return completedb_Config_getFileMaxSizeGB(m); }
66  inline void setAddressSpaceMaxSizeGB(const uint64_t addressSpaceMaxSizeGB) { completedb_Config_setAddressSpaceMaxSizeGB(m, addressSpaceMaxSizeGB); }
67  inline void setExtentSizeMB(const uint64_t extentSizeMB) { completedb_Config_setExtentSizeMB(m, extentSizeMB); }
68  inline void setFileMaxSizeGB(const uint64_t fileMaxSizeGB) { completedb_Config_setFileMaxSizeGB(m, fileMaxSizeGB); }
69  inline void setGlobalAccess(const bool globalAccess) { completedb_Config_setGlobalAccess(m, globalAccess); }
70  inline void setNumaOptimization(const bool numaOptimization) { completedb_Config_setNumaOptimization(m, numaOptimization); }
71 
72 public: // factory lvalue
73 
74  Config& operator=(const Config& src) { completedb_Config_assign(&m, src.m, src.getClassType()); return *this; }
76 
77 public: // factory
78 
79  virtual ~Config() { completedb_Config_free(&m); }
81 
82 private: // factory
83 
84  Config(void* src) : Object(src) {}
85 
86 };
87 
88 } // namespace
89 
90 #endif /* COMPLETEDB_CONFIG_HPP */