diff options
author | Thiago Macieira <thiago@kde.org> | 2006-04-10 10:56:50 +0000 |
---|---|---|
committer | Thiago Macieira <thiago@kde.org> | 2006-04-10 10:56:50 +0000 |
commit | be74a67492894f2e3d680868ffe3e48d9f1f20bd (patch) | |
tree | 841749ace6e81750f9811ce9772dc17f006808ef /qt/examples/listnames.cpp | |
parent | 3ed273a6ed5ba4803e87d2dbb50eafae5a51aeac (diff) |
* qt/examples/listnames.cpp:
* qt/examples/Makefile.am: Three ways to list the names on the
bus.
Diffstat (limited to 'qt/examples/listnames.cpp')
-rw-r--r-- | qt/examples/listnames.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
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 <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; +} |