// 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_P_H #define QDBUSMESSAGE_P_H // // W A R N I N G // ------------- // // This file is not part of the Qt API. It exists for the convenience // of the QLibrary class. This header file may change from // version to version without notice, or even be removed. // // We mean it. // #include #include #include #include #include struct DBusMessage; #ifndef QT_NO_DBUS QT_BEGIN_NAMESPACE class QDBusConnectionPrivate; class QDBusMessagePrivate { public: QDBusMessagePrivate(); ~QDBusMessagePrivate(); QList arguments; // the following parameters are "const": they are not changed after the constructors // the parametersValidated member below controls whether they've been validated already // (service is also used to store the destination of reply-type messages) QString service, path, interface, name, message, signature; mutable QDBusMessage *localReply; QAtomicInt ref; QDBusMessage::MessageType type; uint32_t serial; // if type == MethodCall; the incoming serial; if type == Reply or Error, the serial we're replying to mutable uint delayedReply : 1; mutable uint parametersValidated : 1; uint localMessage : 1; uint autoStartService : 1; uint interactiveAuthorizationAllowed : 1; uint isReplyRequired : 1; void createResponseLink(const QDBusMessagePrivate *call); static void setParametersValidated(QDBusMessage &msg, bool enable) { msg.d_ptr->parametersValidated = enable; } static DBusMessage *toDBusMessage(const QDBusMessage &message, QDBusConnection::ConnectionCapabilities capabilities, QDBusError *error); static QDBusMessage fromDBusMessage(DBusMessage *dmsg, QDBusConnection::ConnectionCapabilities capabilities); static bool isLocal(const QDBusMessage &msg); static QDBusMessage makeLocal(const QDBusConnectionPrivate &conn, const QDBusMessage &asSent); static QDBusMessage makeLocalReply(const QDBusConnectionPrivate &conn, const QDBusMessage &asSent); }; QT_END_NAMESPACE #endif // QT_NO_DBUS #endif