summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniele E. Domenichelli <daniele.domenichelli@gmail.com>2012-06-21 20:41:27 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-22 09:47:59 +0200
commit652d82991d1d5591d9a7f6c4b95b38091600fa45 (patch)
tree50b665bc2940ba059cd9aa495dad99412d9a4866 /src
parentb57e2162ef632d7fb8e595fad86a2f26f1737e72 (diff)
qtdbus: Export org.freedesktop.DBus.Peer interface when introspected
The ofD.Peer interface is automatically implemented when an object is registered on DBus, but the ofD.Introspectable.Introspect method does not show it. You can test it by running $ qdbus --literal <some service> <some object> \ > org.freedesktop.DBus.Peer.Ping $ qdbus --literal <some service> <some object> \ > org.freedesktop.DBus.Peer.GetMachineId Change-Id: I7062ba0cdae486d443011ee19cf3874aabf90205 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/dbus/qdbusinternalfilters.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp
index e498531c51..44481ac81c 100644
--- a/src/dbus/qdbusinternalfilters.cpp
+++ b/src/dbus/qdbusinternalfilters.cpp
@@ -92,6 +92,14 @@ static const char propertiesInterfaceXml[] =
" </method>\n"
" </interface>\n";
+static const char peerInterfaceXml[] =
+ " <interface name=\"org.freedesktop.DBus.Peer\">\n"
+ " <method name=\"Ping\"/>\n"
+ " <method name=\"GetMachineId\">\n"
+ " <arg name=\"machine_uuid\" type=\"s\" direction=\"out\"/>\n"
+ " </method>\n"
+ " </interface>\n";
+
static QString generateSubObjectXml(QObject *object)
{
QString retval;
@@ -165,6 +173,7 @@ QString qDBusIntrospectObject(const QDBusConnectionPrivate::ObjectTreeNode &node
}
xml_data += QLatin1String( introspectableInterfaceXml );
+ xml_data += QLatin1String( peerInterfaceXml );
if (node.flags & QDBusConnection::ExportChildObjects) {
xml_data += generateSubObjectXml(node.obj);