From be74a67492894f2e3d680868ffe3e48d9f1f20bd Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 10 Apr 2006 10:56:50 +0000 Subject: * qt/examples/listnames.cpp: * qt/examples/Makefile.am: Three ways to list the names on the bus. --- qt/examples/Makefile.am | 3 ++- qt/examples/listnames.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 qt/examples/listnames.cpp (limited to 'qt') diff --git a/qt/examples/Makefile.am b/qt/examples/Makefile.am index 9528e39b..7906f28b 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 00000000..27703f5a --- /dev/null +++ b/qt/examples/listnames.cpp @@ -0,0 +1,61 @@ +/* -*- C++ -*- + * + * Copyright (C) 2006 Trolltech AS. All rights reserved. + * Author: Thiago Macieira + * + * 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 +#include +#include +#include + +void method1() +{ + QDBusReply 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; +} -- cgit