@@ -365,6 +365,29 @@ bool LauncherBackend::handleMessage(const QDBusMessage& message, const QDBusConn
365365
366366QString LauncherBackend::introspect (const QString &path) const
367367{
368− Q_UNUSED(path)
369− return "";
368+ /* This case we should just list the nodes */
369+ if (path == "/com/canonical/unity/launcher/" || path == "/com/canonical/unity/launcher") {
370+ QString nodes;
371+
372+ Q_FOREACH(const QString &appId, m_storedApps) {
373+ nodes.append("<node name=\"");
374+ nodes.append(appId);
375+ nodes.append("\"/>\n");
376+ }
377+
378+ return nodes;
379+ }
380+
381+ /* Should not happen, but let's handle it */
382+ if (!path.startsWith("/com/canonical/unity/launcher")) {
383+ return "";
384+ }
385+
386+ /* Now we should be looking at a node */
387+ QString nodeiface =
388+ "<interface name=\"com.canonical.unity.Launcher.Item\">"
389+ "<property name=\"count\" type=\"i\" access=\"readwrite\" />"
390+ "<property name=\"countVisible\" type=\"b\" access=\"readwrite\" />"
391+ "</interface>";
392+ return nodeiface;
370393}