kDB: Knowledge DataBase
Loading...
Searching...
No Matches
AbstractBinaryMarshal.h
1#ifndef _KDB_REPOSITORY_ABSTRACT_BINARY_MARSHAL_H_
2#define _KDB_REPOSITORY_ABSTRACT_BINARY_MARSHAL_H_
3
4#include <clog_qt>
5#include <cres_qt>
6
7#include <QFlags>
8#include <QSharedPointer>
9
10#include <knowCore/MetaType.h>
11
12#include <kDB/Forward.h>
13namespace kDB::Repository
14{
16 {
17 public:
18 enum class Mode
19 {
20 ToVariant = 0x1,
21 ToByteArray = 0x2
22 };
23 Q_DECLARE_FLAGS(Modes, Mode)
24 protected:
25 template<typename _T_>
26 static knowCore::Uri datatype()
27 {
29 }
30 AbstractBinaryMarshal(const QString& _oid, const knowCore::Uri& _datatype, const Modes& _modes);
31 public:
32 virtual ~AbstractBinaryMarshal();
33 QString oid() const;
34 knowCore::Uri datatype() const;
35 Modes modes() const;
39 virtual cres_qresult<knowCore::Value>
40 toValue(const QByteArray& _source, const kDB::Repository::Connection& _connection) const;
45 virtual cres_qresult<QByteArray>
46 toByteArray(const knowCore::Value& _source, QString& _oidName,
47 const kDB::Repository::Connection& _connection) const;
48 private:
49 struct Private;
50 Private* const d;
51 };
52} // namespace kDB::Repository
53
54Q_DECLARE_OPERATORS_FOR_FLAGS(kDB::Repository::AbstractBinaryMarshal::Modes)
55
56#endif
Definition AbstractBinaryMarshal.h:16
virtual cres_qresult< knowCore::Value > toValue(const QByteArray &_source, const kDB::Repository::Connection &_connection) const
Definition AbstractBinaryMarshal.cpp:42
virtual cres_qresult< QByteArray > toByteArray(const knowCore::Value &_source, QString &_oidName, const kDB::Repository::Connection &_connection) const
Definition AbstractBinaryMarshal.cpp:32
Definition Connection.h:26
Definition MetaType.h:66
Definition Uri.h:15
Definition Value.h:21
Definition AbstractBinaryMarshal.cpp:8