summaryrefslogtreecommitdiffstats
path: root/src/core5/serialization/qbinaryjson.h
blob: a72c727c0efebfe527066b6d7a6c229d78230699 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant reason:header-decls-only

#ifndef QBINARYJSON_H
#define QBINARYJSON_H

#include <QtCore5Compat/qcore5global.h>
#include <QtCore/qjsondocument.h>

#if 0
// This is needed for generating the QBinaryJson forward header
#pragma qt_class(QBinaryJson)
#endif

QT_BEGIN_NAMESPACE

namespace QBinaryJson {

enum DataValidation {
    Validate,
    BypassValidation
};

Q_CORE5COMPAT_EXPORT QJsonDocument fromRawData(const char *data, int size, DataValidation validation = Validate);
Q_CORE5COMPAT_EXPORT const char *toRawData(const QJsonDocument &document, int *size);

Q_CORE5COMPAT_EXPORT QJsonDocument fromBinaryData(const QByteArray &data, DataValidation validation = Validate);
Q_CORE5COMPAT_EXPORT QByteArray toBinaryData(const QJsonDocument &document);

} // QBinaryJson

QT_END_NAMESPACE

#endif // QBINARYJSON_H