9 #include <tqstringlist.h>
12 #include <tqdbusconnection.h>
13 #include <tqdbusmessage.h>
22 namespace trinitydesktop
39 virtual bool Introspect(TQString& data, TQT_DBusError& error);
60 if (path.isEmpty())
return false;
77 TQString name =
"org.freedesktop.DBus.Introspectable";
78 TQT_DBusObjectBase*
interface =
m_private;
81 name =
"org.bluez.Agent1";
82 interface = createInterface(name);
83 Q_ASSERT(interface != 0);
110 return delegateMethodCall(message, findIt.data());
117 for (; it != endIt; ++it)
119 TQT_DBusObjectBase*
interface = it.data();
120 if (interface !=
this)
129 if (introspectionData.isEmpty()) cacheIntrospectionData();
131 data = introspectionData;
138 connection.send(reply);
144 TQDomElement interfaceElement;
145 TQDomElement nodeElement = doc.createElement(
"node");
146 if (!objectPath.isEmpty() && objectPath.compare(
"/") != 0)
148 nodeElement.setAttribute (
"name", objectPath );
151 if (interfaces.count()>1) {
152 interfaceElement = doc.createElement(
"interface");
154 nodeElement.appendChild(interfaceElement);
157 interfaceElement = doc.createElement(
"interface");
159 nodeElement.appendChild(interfaceElement);
161 if (!childrenNodes.isEmpty()) {
162 for (TQStringList::Iterator it = childrenNodes.begin(); it != childrenNodes.end(); ++it ) {
163 TQDomElement nodeElement1 = doc.createElement(
"node");
164 nodeElement1.setAttribute (
"name", *it );
165 nodeElement.appendChild(nodeElement1);
169 doc.appendChild(nodeElement);
171 introspectionData =
"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n";
172 introspectionData += doc.toString();
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
void cacheIntrospectionData()
virtual bool Introspect(TQString &data, TQT_DBusError &error)
TQString introspectionData
virtual void handleMethodReply(const TQT_DBusMessage &reply)
TQT_DBusConnection connection
TQStringList childrenNodes
TQMap< TQString, TQT_DBusObjectBase * > interfaces
virtual bool handleMethodCall(const TQT_DBusMessage &message)
bool registerObject(const TQT_DBusConnection &connection, const TQString &path)
void addChildNode(const TQString &child)