Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
5** Contact: https://www.qt.io/licensing/
6**
7** This file is part of the QtWebChannel module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial License Usage
11** Licensees holding valid commercial Qt licenses may use this file in
12** accordance with the commercial license agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and The Qt Company. For licensing terms
15** and conditions see https://www.qt.io/terms-conditions. For further
16** information use the contact form at https://www.qt.io/contact-us.
17**
18** GNU Lesser General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU Lesser
20** General Public License version 3 as published by the Free Software
21** Foundation and appearing in the file LICENSE.LGPL3 included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU Lesser General Public License version 3 requirements
24** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
25**
26** GNU General Public License Usage
27** Alternatively, this file may be used under the terms of the GNU
28** General Public License version 2.0 or (at your option) the GNU General
29** Public license version 3 or any later version approved by the KDE Free
30** Qt Foundation. The licenses are as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
32** included in the packaging of this file. Please review the following
33** information to ensure the GNU General Public License requirements will
34** be met: https://www.gnu.org/licenses/gpl-2.0.html and
35** https://www.gnu.org/licenses/gpl-3.0.html.
36**
37** $QT_END_LICENSE$
38**
39****************************************************************************/
40
41#ifndef QWEBCHANNEL_H
42#define QWEBCHANNEL_H
43
44#include <QtCore/QObject>
45#include <QtCore/QJsonValue>
46
47#include <QtWebChannel/qwebchannelglobal.h>
48
49QT_BEGIN_NAMESPACE
50
51class QWebChannelPrivate;
52class QWebChannelAbstractTransport;
53
54class Q_WEBCHANNEL_EXPORT QWebChannel : public QObject
55{
56 Q_OBJECT
57 Q_DISABLE_COPY(QWebChannel)
58 Q_PROPERTY(bool blockUpdates READ blockUpdates WRITE setBlockUpdates NOTIFY blockUpdatesChanged)
59public:
60 explicit QWebChannel(QObject *parent = Q_NULLPTR);
61 ~QWebChannel();
62
63 void registerObjects(const QHash<QString, QObject*> &objects);
64 QHash<QString, QObject*> registeredObjects() const;
65 Q_INVOKABLE void registerObject(const QString &id, QObject *object);
66 Q_INVOKABLE void deregisterObject(QObject *object);
67
68 bool blockUpdates() const;
69
70 void setBlockUpdates(bool block);
71
72Q_SIGNALS:
73 void blockUpdatesChanged(bool block);
74
75public Q_SLOTS:
76 void connectTo(QWebChannelAbstractTransport *transport);
77 void disconnectFrom(QWebChannelAbstractTransport *transport);
78
79private:
80 Q_DECLARE_PRIVATE(QWebChannel)
81 QWebChannel(QWebChannelPrivate &dd, QObject *parent = Q_NULLPTR);
82 Q_PRIVATE_SLOT(d_func(), void _q_transportDestroyed(QObject*))
83
84 friend class QMetaObjectPublisher;
85 friend class QQmlWebChannel;
86 friend class TestWebChannel;
87};
88
89QT_END_NAMESPACE
90
91#endif // QWEBCHANNEL_H
92
93

Warning: That file was not part of the compilation database. It may have many parsing errors.

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtwebchannel/src/webchannel/qwebchannel.h