11 #include <tqdbuserror.h>
12 #include <tqdbusmessage.h>
24 interfaceElement.setAttribute(
"name",
"org.freedesktop.DBus.Introspectable");
26 TQDomDocument document = interfaceElement.ownerDocument();
27 TQDomElement methodElement = document.createElement(
"method");
28 methodElement.setAttribute(
"name",
"Introspect");
30 TQDomElement argumentElement = document.createElement(
"arg");
31 argumentElement.setAttribute(
"name",
"xml");
32 argumentElement.setAttribute(
"type",
"s");
33 argumentElement.setAttribute(
"direction",
"out");
34 methodElement.appendChild(argumentElement);
36 interfaceElement.appendChild(methodElement);
42 TQT_DBusMessage reply;
48 reply = TQT_DBusMessage::methodReply(message);
49 reply << TQT_DBusData::fromString(_xml);
55 tqWarning(
"Call to implementation of org::freedesktop::DBus::IntrospectableInterface::Introspect returned 'false' but error object is not valid!");
57 error = TQT_DBusError::stdFailed(
"org.freedesktop.DBus.Introspectable.Introspect execution failed");
60 reply = TQT_DBusMessage::methodError(message, error);
68 if (message.interface() !=
"org.freedesktop.DBus.Introspectable")
return false;
70 if (message.member() ==
"Introspect")
TQT_DBusMessage callIntrospect(const TQT_DBusMessage &message)
virtual bool handleMethodCall(const TQT_DBusMessage &message)
static void buildIntrospectionData(TQDomElement &interfaceElement)
virtual void handleMethodReply(const TQT_DBusMessage &reply)=0
virtual bool Introspect(TQString &xml, TQT_DBusError &error)=0