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 knowCore::ReturnValue<knowCore::Value> toValue(const QString& _oid, const QByteArray& _source, const kDB::Repository::Connection& _connection);
16 static knowCore::ReturnValue<QByteArray> toByteArray(const knowCore::Value& _source, QString& _oidName, const kDB::Repository::Connection& _connection);
17 private:
18 struct Private;
19 Private* d;
20 };
21}
22
23
24#define KDB_REGISTER_SQL_MARSHAL(_KLASS_) \
25 struct _KLASS_ ## Registrer \
26 { \
27 _KLASS_ ## Registrer() \
28 { \
29 kDB::Repository::DatabaseInterface::PostgreSQL::BinaryMarshalsRegistry::add(new _KLASS_()); \
30 } \
31 }; \
32 _KLASS_ ## Registrer _KLASS_ ## Registrer_instance;
Definition AbstractBinaryMarshal.h:13
Definition Connection.h:25
Definition Value.h:21
Definition Connection_p.h:20