9 #include <tqstringlist.h>
12 #include <tqdbusconnection.h>
13 #include <tqdbusmessage.h>
35 virtual bool Introspect(TQString& data, TQT_DBusError& error);
56 if (path.isEmpty())
return false;
73 TQString name =
"org.freedesktop.DBus.Introspectable";
74 TQT_DBusObjectBase*
interface =
m_private;
101 return delegateMethodCall(message, findIt.data());
108 for (; it != endIt; ++it)
110 TQT_DBusObjectBase*
interface = it.data();
120 if (introspectionData.isEmpty()) cacheIntrospectionData();
122 data = introspectionData;
129 connection.send(reply);
135 TQDomElement interfaceElement;
136 TQDomElement nodeElement = doc.createElement(
"node");
137 if (!objectPath.isEmpty() && objectPath.compare(
"/") != 0)
139 nodeElement.setAttribute (
"name", objectPath );
142 if (interfaces.count()>1) {
143 interfaceElement = doc.createElement(
"interface");
145 nodeElement.appendChild(interfaceElement);
148 if (!childrenNodes.isEmpty()) {
149 for (TQStringList::Iterator it = childrenNodes.begin(); it != childrenNodes.end(); ++it ) {
150 TQDomElement nodeElement1 = doc.createElement(
"node");
151 nodeElement1.setAttribute (
"name", *it );
152 nodeElement.appendChild(nodeElement1);
156 doc.appendChild(nodeElement);
158 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";
159 introspectionData += doc.toString();
virtual bool Introspect(TQString &data, TQT_DBusError &error)
virtual void handleMethodReply(const TQT_DBusMessage &reply)
TQString introspectionData
TQStringList childrenNodes
void cacheIntrospectionData()
TQT_DBusConnection connection
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)
static const TQCString interface()
static void buildIntrospectionData(TQDomElement &interfaceElement)