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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
// Copyright (C) 2016 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
#ifndef QDBUSMESSAGE_H
#define QDBUSMESSAGE_H
#include <QtDBus/qtdbusglobal.h>
#include <QtDBus/qdbuserror.h>
#include <QtCore/qlist.h>
#include <QtCore/qvariant.h>
#if !defined(QT_NO_DBUS) && !defined(QT_BOOTSTRAPPED)
#if defined(Q_OS_WIN) && defined(interface)
# undef interface
#endif
QT_BEGIN_NAMESPACE
class QDBusMessagePrivate;
class Q_DBUS_EXPORT QDBusMessage
{
public:
enum MessageType {
InvalidMessage,
MethodCallMessage,
ReplyMessage,
ErrorMessage,
SignalMessage
};
QDBusMessage();
QDBusMessage(const QDBusMessage &other);
QDBusMessage &operator=(QDBusMessage &&other) noexcept { swap(other); return *this; }
QDBusMessage &operator=(const QDBusMessage &other);
~QDBusMessage();
void swap(QDBusMessage &other) noexcept { qt_ptr_swap(d_ptr, other.d_ptr); }
static QDBusMessage createSignal(const QString &path, const QString &interface,
const QString &name);
static QDBusMessage createTargetedSignal(const QString &service, const QString &path,
const QString &interface, const QString &name);
static QDBusMessage createMethodCall(const QString &destination, const QString &path,
const QString &interface, const QString &method);
static QDBusMessage createError(const QString &name, const QString &msg);
static inline QDBusMessage createError(const QDBusError &err)
{ return createError(err.name(), err.message()); }
static inline QDBusMessage createError(QDBusError::ErrorType type, const QString &msg)
{ return createError(QDBusError::errorString(type), msg); }
QDBusMessage createReply(const QList<QVariant> &arguments = QList<QVariant>()) const;
QDBusMessage createReply(const QVariant &argument) const;
QDBusMessage createErrorReply(const QString &name, const QString &msg) const;
inline QDBusMessage createErrorReply(const QDBusError &err) const
{ return createErrorReply(err.name(), err.message()); }
QDBusMessage createErrorReply(QDBusError::ErrorType type, const QString &msg) const;
// there are no setters; if this changes, see qdbusmessage_p.h
QString service() const;
QString path() const;
QString interface() const;
QString member() const;
QString errorName() const;
QString errorMessage() const;
MessageType type() const;
QString signature() const;
bool isReplyRequired() const;
void setDelayedReply(bool enable) const;
bool isDelayedReply() const;
void setAutoStartService(bool enable);
bool autoStartService() const;
void setInteractiveAuthorizationAllowed(bool enable);
bool isInteractiveAuthorizationAllowed() const;
void setArguments(const QList<QVariant> &arguments);
QList<QVariant> arguments() const;
QDBusMessage &operator<<(const QVariant &arg);
private:
friend class QDBusMessagePrivate;
QDBusMessagePrivate *d_ptr;
};
Q_DECLARE_SHARED(QDBusMessage)
#ifndef QT_NO_DEBUG_STREAM
Q_DBUS_EXPORT QDebug operator<<(QDebug, const QDBusMessage &);
#endif
QT_END_NAMESPACE
QT_DECL_METATYPE_EXTERN(QDBusMessage, Q_DBUS_EXPORT)
#else
class Q_DBUS_EXPORT QDBusMessage {}; // dummy class for moc
#endif // QT_NO_DBUS
#endif
|