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 <QFlags>
5#include <QSharedPointer>
6#include <knowCore/ReturnValue.h>
7#include <knowCore/MetaType.h>
8
9#include <kDB/Forward.h>
10namespace kDB::Repository
11{
13 {
14 public:
15 enum class Mode
16 {
17 ToVariant = 0x1,
18 ToByteArray = 0x2
19 };
20 Q_DECLARE_FLAGS(Modes, Mode)
21 protected:
22 template<typename _T_>
23 static knowCore::Uri datatype() { return knowCore::MetaTypeInformation<_T_>::uri(); }
24 AbstractBinaryMarshal(const QString& _oid, const knowCore::Uri& _datatype, const Modes& _modes);
25 public:
26 virtual ~AbstractBinaryMarshal();
27 QString oid() const;
28 knowCore::Uri datatype() const;
29 Modes modes() const;
33 virtual knowCore::ReturnValue<knowCore::Value> toValue(const QByteArray& _source, const kDB::Repository::Connection& _connection) const;
38 virtual knowCore::ReturnValue<QByteArray> toByteArray(const knowCore::Value& _source, QString& _oidName, const kDB::Repository::Connection& _connection) const;
39 private:
40 struct Private;
41 Private* const d;
42 };
43}
44
45
46Q_DECLARE_OPERATORS_FOR_FLAGS(kDB::Repository::AbstractBinaryMarshal::Modes)
47
48#endif
Definition AbstractBinaryMarshal.h:13
virtual knowCore::ReturnValue< QByteArray > toByteArray(const knowCore::Value &_source, QString &_oidName, const kDB::Repository::Connection &_connection) const
Definition AbstractBinaryMarshal.cpp:41
virtual knowCore::ReturnValue< knowCore::Value > toValue(const QByteArray &_source, const kDB::Repository::Connection &_connection) const
Definition AbstractBinaryMarshal.cpp:49
Definition Connection.h:25
Definition MetaType.h:66
Definition Uri.h:15
Definition Value.h:21
Definition AbstractBinaryMarshal.cpp:8