tdebluez
libtdeobex/interfaces/propertiesInterface.cpp
Go to the documentation of this file.
1 // File autogenerated
2 
3 // declaration include
4 #include "propertiesInterface.h"
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 
21 namespace org
22 {
23 namespace freedesktop
24 {
25 namespace DBus
26 {
27 
28 void 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 
120 bool 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 
135 TQT_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 
164 TQT_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 
192 TQT_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 
220 bool 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