CompleteDB Embedded: Direct C++ API  2.4.2
TableMutator.hpp
Go to the documentation of this file.
1 #ifndef COMPLETEDB_TABLEMUTATOR_HPP
2 #define COMPLETEDB_TABLEMUTATOR_HPP
3 
4 #include "CompleteDb.h"
6 #include "completedb/Object.hpp"
10 
11 namespace completedb {
12 
19 : public virtual Object
20 , public EntityMutator
21 {
22 
23 public: // override Object iface
24 
28  virtual bool cast(const Object& from) { return completedb_TableMutator_cast(&m, from.get(), from.getClassType()); }
32  virtual bool isConnected() const { return completedb_TableMutator_isConnected(m); }
36  virtual bool isDisconnected() const { return completedb_TableMutator_isDisconnected(m); }
45 
46 public: // override EntityMutator iface
47 
51  virtual void setDescription(const char* description) { completedb_TableMutator_setDescription(m, description); }
52 
53 public: // override IdentityMutator iface
54 
58  virtual void setName(const char* name) { completedb_TableMutator_setName(m, name); }
59 
60 public: // iface
61 
65  virtual ColumnMetadata addColumn(const char* name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_TableMutator_addColumn(m, name, columnType); }
69  virtual ColumnMetadata addColumn(const IdentityInfo& name, const ColumnType::Enum columnType = ColumnType::Int64) { return completedb_TableMutator_addColumn(m, name.getName(), columnType); }
74 
75 public: // factory lvalue
76 
77  TableMutator& operator=(const TableMutator& src) { completedb_TableMutator_assign(&m, src.m, src.getClassType()); return *this; }
79 
80 public: // factory
81 
84 
85 private: // factory
86 
87  TableMutator(void* src) : Object(src) {}
88 
89 };
90 
91 } // namespace
92 
93 #endif /* COMPLETEDB_TABLEMUTATOR_HPP */