knowL: Knowledge Libraries
Loading...
Searching...
No Matches
MetaTypeDefinitionString_p.h
1#include "MetaTypeImplementation.h"
2#include "Uris/askcore_datatype.h"
3#include "Uris/xsd.h"
4
5KNOWCORE_DEFINE_METATYPE_START_IMPLEMENTATION(QString)
6cres_qresult<QByteArray> md5(const QString& _value) const override
7{
8 QCryptographicHash hash(QCryptographicHash::Md5);
9 hash.addData(_value.toUtf8());
10 return cres_success(hash.result());
11}
12cres_qresult<QJsonValue> toJsonValue(const QString& _value,
13 const SerialisationContexts&) const override
14{
15 return cres_success(QJsonValue(_value));
16}
17cres_qresult<void> fromJsonValue(QString* _value, const QJsonValue& _json_value,
18 const DeserialisationContexts&) const override
19{
20 if(_json_value.isString())
21 {
22 *_value = _json_value.toString();
23 return cres_success();
24 }
25 else
26 {
27 return expectedError("string", _json_value);
28 }
29}
30cres_qresult<QCborValue> toCborValue(const QString& _value,
31 const SerialisationContexts&) const override
32{
33 return cres_success(QCborValue(_value));
34}
35cres_qresult<void> fromCborValue(QString* _value, const QCborValue& _cbor_value,
36 const DeserialisationContexts&) const override
37{
38 if(_cbor_value.isString())
39 {
40 *_value = _cbor_value.toString();
41 return cres_success();
42 }
43 else
44 {
45 return expectedError("string", _cbor_value);
46 }
47}
48cres_qresult<QString> printable(const QString& _value) const override
49{
50 return cres_success(_value);
51}
52cres_qresult<QString> toRdfLiteral(const QString& _value,
53 const SerialisationContexts&) const override
54{
55 return cres_success(_value);
56}
57cres_qresult<void> fromRdfLiteral(QString* _value, const QString& _serialised,
58 const DeserialisationContexts&) const override
59{
60 *_value = _serialised;
61 return cres_success();
62}
63KNOWCORE_DEFINE_METATYPE_FINISH_IMPLEMENTATION(QString)
64
65KNOWCORE_DEFINE_METATYPE_START_IMPLEMENTATION(QByteArray)
66cres_qresult<QByteArray> md5(const QByteArray& _value) const override
67{
68 QCryptographicHash hash(QCryptographicHash::Md5);
69 hash.addData(_value);
70 return cres_success(hash.result());
71}
72cres_qresult<QJsonValue> toJsonValue(const QByteArray& _value,
73 const SerialisationContexts&) const override
74{
75 return cres_success(QJsonValue(QString::fromLatin1(_value.toBase64())));
76}
77cres_qresult<void> fromJsonValue(QByteArray* _value, const QJsonValue& _json_value,
78 const DeserialisationContexts&) const override
79{
80 if(_json_value.isString())
81 {
82 QString b64 = _json_value.toString();
83 *_value = QByteArray::fromBase64(b64.toLatin1());
84 return cres_success();
85 }
86 else
87 {
88 return expectedError("string", _json_value);
89 }
90}
91cres_qresult<QCborValue> toCborValue(const QByteArray& _value,
92 const SerialisationContexts&) const override
93{
94 return cres_success(QCborValue(_value));
95}
96cres_qresult<void> fromCborValue(QByteArray* _value, const QCborValue& _cbor_value,
97 const DeserialisationContexts&) const override
98{
99 if(_cbor_value.isByteArray())
100 {
101 *_value = _cbor_value.toByteArray();
102 return cres_success();
103 }
104 else
105 {
106 return expectedError("bytearray", _cbor_value);
107 }
108}
109cres_qresult<QString> printable(const QByteArray& _value) const override
110{
111 return cres_success(clog_qt::to_qstring(_value));
112}
113cres_qresult<QString> toRdfLiteral(const QByteArray& _value,
114 const SerialisationContexts&) const override
115{
116 return cres_success(QString::fromLatin1(_value.toBase64()));
117}
118cres_qresult<void> fromRdfLiteral(QByteArray* _value, const QString& _serialised,
119 const DeserialisationContexts&) const override
120{
121 *_value = QByteArray::fromBase64(_serialised.toLatin1());
122 return cres_success();
123}
124KNOWCORE_DEFINE_METATYPE_FINISH_IMPLEMENTATION(QByteArray)