1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QQMLGRPCCMETADATA_P_H
5#define QQMLGRPCCMETADATA_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGrpcQuick/qtgrpcquickexports.h>
19
20#include <QtQmlIntegration/qqmlintegration.h>
21
22#include <QtCore/qbytearray.h>
23#include <QtCore/qhash.h>
24#include <QtCore/qobject.h>
25#include <QtCore/qvariantmap.h>
26
27QT_BEGIN_NAMESPACE
28
29class Q_GRPCQUICK_EXPORT QQmlGrpcMetadata : public QObject
30{
31 Q_OBJECT
32 QML_NAMED_ELEMENT(GrpcMetadata)
33 QML_ADDED_IN_VERSION(6, 7)
34
35 Q_PROPERTY(QVariantMap data READ data WRITE setData NOTIFY dataChanged REQUIRED)
36public:
37 explicit QQmlGrpcMetadata(QObject *parent = nullptr);
38 ~QQmlGrpcMetadata() override;
39
40 const QHash<QByteArray, QByteArray> &metadata() const & noexcept { return m_metadata; }
41 void metadata() && = delete;
42
43 const QVariantMap &data() const { return m_variantdata; }
44 void setData(const QVariantMap &data);
45
46Q_SIGNALS:
47 void dataChanged();
48
49private:
50 QVariantMap m_variantdata;
51 QHash<QByteArray, QByteArray> m_metadata;
52
53 Q_DISABLE_COPY_MOVE(QQmlGrpcMetadata)
54};
55
56QT_END_NAMESPACE
57
58#endif // QQMLGRPCCMETADATA_P_H
59

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qtgrpc/src/grpcquick/qqmlgrpcmetadata_p.h