diff options
author | Thiago Macieira <thiago.macieira@trolltech.com> | 2006-04-10 10:56:50 +0000 |
---|---|---|
committer | John Palmieri <johnp@remedyz.boston.redhat.com> | 2006-06-28 08:15:14 -0400 |
commit | a0ee648dbe1e2fe96a38c075285c43ee54e244c8 (patch) | |
tree | f1e77de825d83330714111d8690e2323fe8d58bf /qt | |
parent | 553a35623c284d0a90c35a5c2eac7a76f88c0f88 (diff) |
* qt/examples/listnames.cpp: * qt/examples/Makefile.am: Three ways to list the names on the bus.
Diffstat (limited to 'qt')
-rw-r--r-- | qt/examples/Makefile.am | 3 | ||||
-rw-r--r-- | qt/examples/listnames.cpp | 61 |
2 files changed, 63 insertions, 1 deletions
diff --git a/qt/examples/Makefile.am b/qt/examples/Makefile.am index 9528e39..7906f28 100644 --- a/qt/examples/Makefile.am +++ b/qt/examples/Makefile.am @@ -17,9 +17,10 @@ CHAT=chat endif -noinst_PROGRAMS = hello dbus ping pong complexping complexpong $(CHAT) +noinst_PROGRAMS = hello listnames dbus ping pong complexping complexpong $(CHAT) hello_SOURCES = hello.cpp dbus_SOURCES = dbus.cpp +listnames_SOURCES = listnames.cpp ping_SOURCES = ping.cpp pong_SOURCES = pong.cpp pong.h diff --git a/qt/examples/listnames.cpp b/qt/examples/listnames.cpp new file mode 100644 index 0000000..27703f5 --- /dev/null +++ b/qt/examples/listnames.cpp @@ -0,0 +1,61 @@ +/* -*- C++ -*- + * + * Copyright (C) 2006 Trolltech AS. All rights reserved. + * Author: Thiago Macieira <thiago.macieira@trolltech.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include <dbus/qdbus.h> +#include <QtCore/QCoreApplication> +#include <QtCore/QDebug> +#include <QtCore/QStringList> + +void method1() +{ + QDBusReply<QStringList> reply = QDBus::sessionBus().busService()->listNames(); + if (reply.isError()) { + qDebug() << "Error:" << reply.error().message(); + exit(1); + } + foreach (QString name, reply.value()) + qDebug() << name; +} + +void method2() +{ + QDBusInterface *dbus_iface; + QDBusConnection &bus = QDBus::sessionBus(); + dbus_iface = bus.findInterface("org.freedesktop.DBus", "/org/freedesktop/DBus", + "org.freedesktop.DBus"); + qDebug() << dbus_iface->call("ListNames").first(); +} + +void method3() +{ + qDebug() << QDBus::sessionBus().busService()->listNames().value(); +} + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + method1(); + method2(); + method3(); + + return 0; +} |