tdebluez
libtdebluez/interfaces/objectmanagerInterface.cpp
Go to the documentation of this file.
1// File autogenerated
2
3// declaration include
5
6// TQt includes
7#include <tqdom.h>
8#include <tqstring.h>
9#include <tqstringlist.h>
10
11// TQt D-Bus includes
12#include <tqdbusdata.h>
13#include <tqdbusdatalist.h>
14#include <tqdbusdatamap.h>
15#include <tqdbuserror.h>
16#include <tqdbusmessage.h>
17#include <tqdbusobjectpath.h>
18
19
20namespace org
21{
22namespace freedesktop
23{
24namespace DBus
25{
26
27void ObjectManagerInterface::buildIntrospectionData(TQDomElement& interfaceElement)
28{
29 interfaceElement.setAttribute("name", "org.freedesktop.DBus.ObjectManager");
30
31 TQDomDocument document = interfaceElement.ownerDocument();
32 TQDomElement methodElement = document.createElement("method");
33 methodElement.setAttribute("name", "GetManagedObjects");
34
35 TQDomElement argumentElement = document.createElement("arg");
36 argumentElement.setAttribute("name", "objects");
37 argumentElement.setAttribute("type", "a{oa{sa{sv}}}");
38 argumentElement.setAttribute("direction", "out");
39 methodElement.appendChild(argumentElement);
40
41 interfaceElement.appendChild(methodElement);
42
43 methodElement = document.createElement("signal");
44 methodElement.setAttribute("name", "InterfacesAdded");
45
46 argumentElement = document.createElement("arg");
47 argumentElement.setAttribute("name", "object");
48 argumentElement.setAttribute("type", "o");
49 argumentElement.setAttribute("direction", "out");
50 methodElement.appendChild(argumentElement);
51
52 argumentElement = document.createElement("arg");
53 argumentElement.setAttribute("name", "interfaces");
54 argumentElement.setAttribute("type", "a{sa{sv}}");
55 argumentElement.setAttribute("direction", "out");
56 methodElement.appendChild(argumentElement);
57
58 interfaceElement.appendChild(methodElement);
59
60 methodElement = document.createElement("signal");
61 methodElement.setAttribute("name", "InterfacesRemoved");
62
63 argumentElement = document.createElement("arg");
64 argumentElement.setAttribute("name", "object");
65 argumentElement.setAttribute("type", "o");
66 argumentElement.setAttribute("direction", "out");
67 methodElement.appendChild(argumentElement);
68
69 argumentElement = document.createElement("arg");
70 argumentElement.setAttribute("name", "interfaces");
71 argumentElement.setAttribute("type", "as");
72 argumentElement.setAttribute("direction", "out");
73 methodElement.appendChild(argumentElement);
74
75 interfaceElement.appendChild(methodElement);
76}
77
78bool ObjectManagerInterface::emitInterfacesAdded(const TQT_DBusObjectPath& object, const TQT_DBusDataMap< TQString >& interfaces)
79{
80 TQString path = objectPath();
81 Q_ASSERT(!path.isEmpty());
82
83 TQT_DBusMessage message = TQT_DBusMessage::signal(path, "org.freedesktop.DBus.ObjectManager", "InterfacesAdded");
84
85 message << TQT_DBusData::fromObjectPath(object);
86 message << TQT_DBusData::fromStringKeyMap(interfaces);
87
88 return handleSignalSend(message);
89}
90
91bool ObjectManagerInterface::emitInterfacesRemoved(const TQT_DBusObjectPath& object, const TQStringList& interfaces)
92{
93 TQString path = objectPath();
94 Q_ASSERT(!path.isEmpty());
95
96 TQT_DBusMessage message = TQT_DBusMessage::signal(path, "org.freedesktop.DBus.ObjectManager", "InterfacesRemoved");
97
98 message << TQT_DBusData::fromObjectPath(object);
99 message << TQT_DBusData::fromList((interfaces));
100
101 return handleSignalSend(message);
102}
103
104
105TQT_DBusMessage ObjectManagerInterface::callGetManagedObjects(const TQT_DBusMessage& message)
106{
107 TQT_DBusError error;
108 TQT_DBusMessage reply;
109
111
112 if (GetManagedObjects(_objects, error))
113 {
114 reply = TQT_DBusMessage::methodReply(message);
115 reply << TQT_DBusData::fromObjectPathKeyMap(_objects);
116 }
117 else
118 {
119 if (!error.isValid())
120 {
121 tqWarning("Call to implementation of org::freedesktop::DBus::ObjectManagerInterface::GetManagedObjects returned 'false' but error object is not valid!");
122
123 error = TQT_DBusError::stdFailed("org.freedesktop.DBus.ObjectManager.GetManagedObjects execution failed");
124 }
125
126 reply = TQT_DBusMessage::methodError(message, error);
127 }
128
129 return reply;
130}
131
132bool ObjectManagerInterface::handleMethodCall(const TQT_DBusMessage& message)
133{
134 if (message.interface() != "org.freedesktop.DBus.ObjectManager") return false;
135
136 if (message.member() == "GetManagedObjects")
137 {
138 TQT_DBusMessage reply = callGetManagedObjects(message);
139 handleMethodReply(reply);
140
141 return true;
142 }
143
144 return false;
145}
146
147}; // namespace DBus
148
149}; // namespace freedesktop
150
151}; // namespace org
152
153// End of File
154
virtual void handleMethodReply(const TQT_DBusMessage &reply)=0
virtual bool handleSignalSend(const TQT_DBusMessage &reply)=0
virtual bool emitInterfacesAdded(const TQT_DBusObjectPath &object, const TQT_DBusDataMap< TQString > &interfaces)
virtual bool emitInterfacesRemoved(const TQT_DBusObjectPath &object, const TQStringList &interfaces)
virtual bool GetManagedObjects(TQT_DBusDataMap< TQT_DBusObjectPath > &objects, TQT_DBusError &error)=0