8 #include <tqstringlist.h>
11 #include <tqdbusdata.h>
12 #include <tqdbusdatalist.h>
13 #include <tqdbusdatamap.h>
14 #include <tqdbuserror.h>
15 #include <tqdbusmessage.h>
16 #include <tqdbusobjectpath.h>
17 #include <tqdbusproxy.h>
28 : TQObject(parent, name),
29 m_baseProxy(new TQT_DBusProxy())
31 m_baseProxy->setInterface(
"org.freedesktop.DBus.ObjectManager");
32 m_baseProxy->setPath(path);
33 m_baseProxy->setService(service);
35 TQObject::connect(m_baseProxy, TQ_SIGNAL(dbusSignal(
const TQT_DBusMessage&)),
36 this, TQ_SLOT(slotHandleDBusSignal(
const TQT_DBusMessage&)));
39 ObjectManagerProxy::~ObjectManagerProxy()
44 void ObjectManagerProxy::setConnection(
const TQT_DBusConnection& connection)
46 m_baseProxy->setConnection(connection);
51 TQValueList<TQT_DBusData> parameters;
54 TQT_DBusMessage reply = m_baseProxy->sendWithReply(
"GetManagedObjects", parameters, &error);
56 if (reply.type() != TQT_DBusMessage::ReplyMessage)
return false;
58 if (reply.count() != 1)
return false;
62 objects = reply.front().toObjectPathKeyMap(&ok);
63 if (!ok)
return false;
68 void ObjectManagerProxy::slotHandleDBusSignal(
const TQT_DBusMessage& message)
70 if (message.member() ==
"InterfacesAdded")
72 TQT_DBusObjectPath _object = message[0].toObjectPath();
75 emit InterfacesAdded(_object, _interfaces);
77 else if (message.member() ==
"InterfacesRemoved")
79 TQT_DBusObjectPath _object = message[0].toObjectPath();
80 TQStringList _interfaces = message[1].toList().toTQStringList();
82 emit InterfacesRemoved(_object, _interfaces);
92 #include "objectmanagerProxy.moc"
ObjectManagerProxy(const TQString &service, const TQString &path, TQObject *parent=0, const char *name=0)