summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/dbus/qdbusconnectioninterface.cpp15
-rw-r--r--src/dbus/qdbusconnectioninterface.h2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/dbus/qdbusconnectioninterface.cpp b/src/dbus/qdbusconnectioninterface.cpp
index 0e886dcc04a..f7dbbb01563 100644
--- a/src/dbus/qdbusconnectioninterface.cpp
+++ b/src/dbus/qdbusconnectioninterface.cpp
@@ -207,6 +207,21 @@ QDBusReply<uint> QDBusConnectionInterface::serviceUid(const QString &serviceName
}
/*!
+ \since 6.10
+
+ Returns the connection credentials for the process currently holding
+ the bus service \a serviceName.
+
+ See <https://dbus.freedesktop.org/doc/dbus-specification.html>
+ section: 'Method: org.freedesktop.DBus.GetConnectionCredentials' for more information.
+*/
+QDBusReply<QVariantMap> QDBusConnectionInterface::serviceCredentials(const QString &serviceName) const
+{
+ return internalConstCall(QDBus::AutoDetect, "GetConnectionCredentials"_L1,
+ QList<QVariant>() << serviceName);
+}
+
+/*!
Requests that the bus start the service given by the name \a name.
*/
QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)
diff --git a/src/dbus/qdbusconnectioninterface.h b/src/dbus/qdbusconnectioninterface.h
index e664e4e0e73..e728539a385 100644
--- a/src/dbus/qdbusconnectioninterface.h
+++ b/src/dbus/qdbusconnectioninterface.h
@@ -66,6 +66,8 @@ public Q_SLOTS:
QDBusReply<uint> servicePid(const QString &serviceName) const;
QDBusReply<uint> serviceUid(const QString &serviceName) const;
+ QDBusReply<QVariantMap> serviceCredentials(const QString &serviceName) const;
+
QDBusReply<void> startService(const QString &name);
Q_SIGNALS: