dbus/qt/examples Makefile.am,1.1,1.2 listnames.cpp,NONE,1.1

Thiago J. Macieira thiago at kemper.freedesktop.org
Mon Apr 10 03:56:52 PDT 2006


Update of /cvs/dbus/dbus/qt/examples
In directory kemper:/tmp/cvs-serv31388/qt/examples

Modified Files:
	Makefile.am 
Added Files:
	listnames.cpp 
Log Message:
	* qt/examples/listnames.cpp:
	* qt/examples/Makefile.am: Three ways to list the names on the
	  bus.


Index: Makefile.am
===================================================================
RCS file: /cvs/dbus/dbus/qt/examples/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile.am	28 Mar 2006 19:16:35 -0000	1.1
+++ Makefile.am	10 Apr 2006 10:56:50 -0000	1.2
@@ -17,9 +17,10 @@
 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

--- NEW FILE: listnames.cpp ---
/* -*- C++ -*-
 *
 * Copyright (C) 2006 Trolltech AS. All rights reserved.
 *    Author: Thiago Macieira <thiago.macieira at 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;
}



More information about the dbus-commit mailing list