tdebluez
libtdeobex/interfaces/propertiesInterface.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 <tqmap.h>
9#include <tqstring.h>
10#include <tqstringlist.h>
11
12// TQt D-Bus includes
13#include <tqdbusdata.h>
14#include <tqdbusdatalist.h>
15#include <tqdbusdatamap.h>
16#include <tqdbuserror.h>
17#include <tqdbusmessage.h>
18#include <tqdbusvariant.h>
19
20
21namespace org
22{
23namespace freedesktop
24{
25namespace DBus
26{
27
28void PropertiesInterface::buildIntrospectionData(TQDomElement& interfaceElement)
29{
30 interfaceElement.setAttribute("name", "org.freedesktop.DBus.Properties");
31
32 TQDomDocument document = interfaceElement.ownerDocument();
33 TQDomElement methodElement = document.createElement("method");
34 methodElement.setAttribute("name", "Get");
35
36 TQDomElement argumentElement = document.createElement("arg");
37 argumentElement.setAttribute("name", "interface");
38 argumentElement.setAttribute("type", "s");
39 argumentElement.setAttribute("direction", "in");
40 methodElement.appendChild(argumentElement);
41
42 argumentElement = document.createElement("arg");
43 argumentElement.setAttribute("name", "name");
44 argumentElement.setAttribute("type", "s");
45 argumentElement.setAttribute("direction", "in");
46 methodElement.appendChild(argumentElement);
47
48 argumentElement = document.createElement("arg");
49 argumentElement.setAttribute("name", "value");
50 argumentElement.setAttribute("type", "v");
51 argumentElement.setAttribute("direction", "out");
52 methodElement.appendChild(argumentElement);
53
54 interfaceElement.appendChild(methodElement);
55
56 methodElement = document.createElement("method");
57 methodElement.setAttribute("name", "Set");
58
59 argumentElement = document.createElement("arg");
60 argumentElement.setAttribute("name", "interface");
61 argumentElement.setAttribute("type", "s");
62 argumentElement.setAttribute("direction", "in");
63 methodElement.appendChild(argumentElement);
64
65 argumentElement = document.createElement("arg");
66 argumentElement.setAttribute("name", "name");
67 argumentElement.setAttribute("type", "s");
68 argumentElement.setAttribute("direction", "in");
69 methodElement.appendChild(argumentElement);
70
71 argumentElement = document.createElement("arg");
72 argumentElement.setAttribute("name", "value");
73 argumentElement.setAttribute("type", "v");
74 argumentElement.setAttribute("direction", "in");
75 methodElement.appendChild(argumentElement);
76
77 interfaceElement.appendChild(methodElement);
78
79 methodElement = document.createElement("method");
80 methodElement.setAttribute("name", "GetAll");
81
82 argumentElement = document.createElement("arg");
83 argumentElement.setAttribute("name", "interface");
84 argumentElement.setAttribute("type", "s");
85 argumentElement.setAttribute("direction", "in");
86 methodElement.appendChild(argumentElement);
87
88 argumentElement = document.createElement("arg");
89 argumentElement.setAttribute("name", "properties");
90 argumentElement.setAttribute("type", "a{sv}");
91 argumentElement.setAttribute("direction", "out");
92 methodElement.appendChild(argumentElement);
93
94 interfaceElement.appendChild(methodElement);
95
96 methodElement = document.createElement("signal");
97 methodElement.setAttribute("name", "PropertiesChanged");
98
99 argumentElement = document.createElement("arg");
100 argumentElement.setAttribute("name", "interface");
101 argumentElement.setAttribute("type", "s");
102 argumentElement.setAttribute("direction", "out");
103 methodElement.appendChild(argumentElement);
104
105 argumentElement = document.createElement("arg");
106 argumentElement.setAttribute("name", "changed_properties");
107 argumentElement.setAttribute("type", "a{sv}");
108 argumentElement.setAttribute("direction", "out");
109 methodElement.appendChild(argumentElement);
110
111 argumentElement = document.createElement("arg");
112 argumentElement.setAttribute("name", "invalidated_properties");
113 argumentElement.setAttribute("type", "as");
114 argumentElement.setAttribute("direction", "out");
115 methodElement.appendChild(argumentElement);
116
117 interfaceElement.appendChild(methodElement);
118}
119
120bool PropertiesInterface::emitPropertiesChanged(const TQString& interface, const TQMap< TQString, TQT_DBusVariant >& changed_properties, const TQStringList& invalidated_properties)
121{
122 TQString path = objectPath();
123 Q_ASSERT(!path.isEmpty());
124
125 TQT_DBusMessage message = TQT_DBusMessage::signal(path, "org.freedesktop.DBus.Properties", "PropertiesChanged");
126
127 message << TQT_DBusData::fromString(interface);
128 message << TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap< TQString >(changed_properties));
129 message << TQT_DBusData::fromList((invalidated_properties));
130
131 return handleSignalSend(message);
132}
133
134
135TQT_DBusMessage PropertiesInterface::callGet(const TQT_DBusMessage& message)
136{
137 TQT_DBusError error;
138 TQT_DBusMessage reply;
139
140 TQString _interface = message[0].toString();
141 TQString _name = message[1].toString();
142 TQT_DBusVariant _value;
143
144 if (Get(_interface, _name, _value, error))
145 {
146 reply = TQT_DBusMessage::methodReply(message);
147 reply << TQT_DBusData::fromVariant(_value);
148 }
149 else
150 {
151 if (!error.isValid())
152 {
153 tqWarning("Call to implementation of org::freedesktop::DBus::PropertiesInterface::Get returned 'false' but error object is not valid!");
154
155 error = TQT_DBusError::stdFailed("org.freedesktop.DBus.Properties.Get execution failed");
156 }
157
158 reply = TQT_DBusMessage::methodError(message, error);
159 }
160
161 return reply;
162}
163
164TQT_DBusMessage PropertiesInterface::callSet(const TQT_DBusMessage& message)
165{
166 TQT_DBusError error;
167 TQT_DBusMessage reply;
168
169 TQString _interface = message[0].toString();
170 TQString _name = message[1].toString();
171 TQT_DBusVariant _value = message[2].toVariant();
172
173 if (Set(_interface, _name, _value, error))
174 {
175 reply = TQT_DBusMessage::methodReply(message);
176 }
177 else
178 {
179 if (!error.isValid())
180 {
181 tqWarning("Call to implementation of org::freedesktop::DBus::PropertiesInterface::Set returned 'false' but error object is not valid!");
182
183 error = TQT_DBusError::stdFailed("org.freedesktop.DBus.Properties.Set execution failed");
184 }
185
186 reply = TQT_DBusMessage::methodError(message, error);
187 }
188
189 return reply;
190}
191
192TQT_DBusMessage PropertiesInterface::callGetAll(const TQT_DBusMessage& message)
193{
194 TQT_DBusError error;
195 TQT_DBusMessage reply;
196
197 TQString _interface = message[0].toString();
199
200 if (GetAll(_interface, _properties, error))
201 {
202 reply = TQT_DBusMessage::methodReply(message);
203 reply << TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap< TQString >(_properties));
204 }
205 else
206 {
207 if (!error.isValid())
208 {
209 tqWarning("Call to implementation of org::freedesktop::DBus::PropertiesInterface::GetAll returned 'false' but error object is not valid!");
210
211 error = TQT_DBusError::stdFailed("org.freedesktop.DBus.Properties.GetAll execution failed");
212 }
213
214 reply = TQT_DBusMessage::methodError(message, error);
215 }
216
217 return reply;
218}
219
220bool PropertiesInterface::handleMethodCall(const TQT_DBusMessage& message)
221{
222 if (message.interface() != "org.freedesktop.DBus.Properties") return false;
223
224 if (message.member() == "Get")
225 {
226 TQT_DBusMessage reply = callGet(message);
227 handleMethodReply(reply);
228
229 return true;
230 }
231
232 if (message.member() == "Set")
233 {
234 TQT_DBusMessage reply = callSet(message);
235 handleMethodReply(reply);
236
237 return true;
238 }
239
240 if (message.member() == "GetAll")
241 {
242 TQT_DBusMessage reply = callGetAll(message);
243 handleMethodReply(reply);
244
245 return true;
246 }
247
248 return false;
249}
250
251}; // namespace DBus
252
253}; // namespace freedesktop
254
255}; // namespace org
256
257// End of File
258
static void buildIntrospectionData(TQDomElement &interfaceElement)
virtual bool emitPropertiesChanged(const TQString &interface, const TQMap< TQString, TQT_DBusVariant > &changed_properties, const TQStringList &invalidated_properties)
virtual TQString objectPath() const =0
TQT_DBusMessage callGetAll(const TQT_DBusMessage &message)
virtual void handleMethodReply(const TQT_DBusMessage &reply)=0
virtual bool GetAll(const TQString &interface, TQMap< TQString, TQT_DBusVariant > &properties, TQT_DBusError &error)=0
virtual bool Get(const TQString &interface, const TQString &name, TQT_DBusVariant &value, TQT_DBusError &error)=0
virtual bool Set(const TQString &interface, const TQString &name, const TQT_DBusVariant &value, TQT_DBusError &error)=0
virtual bool handleSignalSend(const TQT_DBusMessage &reply)=0