9 #include <tqstringlist.h>
12 #include <tqdbusconnection.h>
13 #include <tqdbusmessage.h>
47 virtual bool Introspect(TQString& data, TQT_DBusError& error);
68 if (path.isEmpty())
return false;
85 TQString name =
"org.freedesktop.DBus.Introspectable";
86 TQT_DBusObjectBase*
interface =
m_private;
89 name =
"org.bluez.obex.AgentManager1";
90 interface = createInterface(name);
91 Q_ASSERT(interface != 0);
94 name =
"org.bluez.obex.Client1";
95 interface = createInterface(name);
96 Q_ASSERT(interface != 0);
99 name =
"org.bluez.obex.FileTransfer1";
100 interface = createInterface(name);
101 Q_ASSERT(interface != 0);
104 name =
"org.bluez.obex.ObjectPush1";
105 interface = createInterface(name);
106 Q_ASSERT(interface != 0);
109 name =
"org.bluez.obex.Session1";
110 interface = createInterface(name);
111 Q_ASSERT(interface != 0);
114 name =
"org.bluez.obex.Transfer1";
115 interface = createInterface(name);
116 Q_ASSERT(interface != 0);
119 name =
"org.bluez.obex.Synchronization1";
120 interface = createInterface(name);
121 Q_ASSERT(interface != 0);
124 name =
"org.bluez.obex.PhonebookAccess1";
125 interface = createInterface(name);
126 Q_ASSERT(interface != 0);
129 name =
"org.freedesktop.DBus.Properties";
130 interface = createInterface(name);
131 Q_ASSERT(interface != 0);
158 return delegateMethodCall(message, findIt.data());
165 for (; it != endIt; ++it)
167 TQT_DBusObjectBase*
interface = it.data();
168 if (interface !=
this)
177 if (introspectionData.isEmpty()) cacheIntrospectionData();
179 data = introspectionData;
186 connection.send(reply);
192 TQDomElement interfaceElement;
193 TQDomElement nodeElement = doc.createElement(
"node");
194 if (!objectPath.isEmpty() && objectPath.compare(
"/") != 0)
196 nodeElement.setAttribute (
"name", objectPath );
199 if (interfaces.count()>1) {
200 interfaceElement = doc.createElement(
"interface");
202 nodeElement.appendChild(interfaceElement);
205 interfaceElement = doc.createElement(
"interface");
207 nodeElement.appendChild(interfaceElement);
209 interfaceElement = doc.createElement(
"interface");
211 nodeElement.appendChild(interfaceElement);
213 interfaceElement = doc.createElement(
"interface");
215 nodeElement.appendChild(interfaceElement);
217 interfaceElement = doc.createElement(
"interface");
219 nodeElement.appendChild(interfaceElement);
221 interfaceElement = doc.createElement(
"interface");
223 nodeElement.appendChild(interfaceElement);
225 interfaceElement = doc.createElement(
"interface");
227 nodeElement.appendChild(interfaceElement);
229 interfaceElement = doc.createElement(
"interface");
231 nodeElement.appendChild(interfaceElement);
233 interfaceElement = doc.createElement(
"interface");
235 nodeElement.appendChild(interfaceElement);
237 interfaceElement = doc.createElement(
"interface");
239 nodeElement.appendChild(interfaceElement);
241 if (!childrenNodes.isEmpty()) {
242 for (TQStringList::Iterator it = childrenNodes.begin(); it != childrenNodes.end(); ++it ) {
243 TQDomElement nodeElement1 = doc.createElement(
"node");
244 nodeElement1.setAttribute (
"name", *it );
245 nodeElement.appendChild(nodeElement1);
249 doc.appendChild(nodeElement);
251 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";
252 introspectionData += doc.toString();
virtual void handleMethodReply(const TQT_DBusMessage &reply)
TQT_DBusConnection connection
TQString introspectionData
TQMap< TQString, TQT_DBusObjectBase * > interfaces
void cacheIntrospectionData()
virtual bool Introspect(TQString &data, TQT_DBusError &error)
TQStringList childrenNodes
bool registerObject(const TQT_DBusConnection &connection, const TQString &path)
void addChildNode(const TQString &child)
virtual bool handleMethodCall(const TQT_DBusMessage &message)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)
static void buildIntrospectionData(TQDomElement &interfaceElement)