kDB: Knowledge DataBase
Loading...
Searching...
No Matches
BinaryMarshalsRegistry.h
1#include <kDB/Repository/Connection.h>
2
3#include <kDB/Forward.h>
4
5namespace kDB::Repository::DatabaseInterface::PostgreSQL
6{
8 {
9 friend class Connection::Private;
10 BinaryMarshalsRegistry() = delete;
11 ~BinaryMarshalsRegistry() = delete;
12 public:
13 static void add(AbstractBinaryMarshal* _marshal);
14 private:
15 static cres_qresult<knowCore::Value> toValue(const QString& _oid, const QByteArray& _source,
16 const kDB::Repository::Connection& _connection);
17 static cres_qresult<QByteArray> toByteArray(const knowCore::Value& _source, QString& _oidName,
18 const kDB::Repository::Connection& _connection);
19 private:
20 struct Private;
21 Private* d;
22 };
23} // namespace kDB::Repository::DatabaseInterface::PostgreSQL
24
25#define KDB_REGISTER_SQL_MARSHAL(_KLASS_) \
26 struct _KLASS_##Registrer \
27 { \
28 _KLASS_##Registrer() \
29 { \
30 kDB::Repository::DatabaseInterface::PostgreSQL::BinaryMarshalsRegistry::add(new _KLASS_()); \
31 } \
32 }; \
33 _KLASS_##Registrer _KLASS_##Registrer_instance;
Definition AbstractBinaryMarshal.h:16
Definition Connection.h:26
Definition Value.h:21
Definition Connection_p.h:22