10 #include <tqstringlist.h>
13 #include <tqdbusdata.h>
14 #include <tqdbusdatalist.h>
15 #include <tqdbusdatamap.h>
16 #include <tqdbuserror.h>
17 #include <tqdbusmessage.h>
18 #include <tqdbusobjectpath.h>
19 #include <tqdbusvariant.h>
31 interfaceElement.setAttribute(
"name",
"org.bluez.obex.PhonebookAccess1");
33 TQDomDocument document = interfaceElement.ownerDocument();
34 TQDomElement methodElement = document.createElement(
"method");
35 methodElement.setAttribute(
"name",
"Select");
37 TQDomElement argumentElement = document.createElement(
"arg");
38 argumentElement.setAttribute(
"name",
"location");
39 argumentElement.setAttribute(
"type",
"s");
40 argumentElement.setAttribute(
"direction",
"in");
41 methodElement.appendChild(argumentElement);
43 argumentElement = document.createElement(
"arg");
44 argumentElement.setAttribute(
"name",
"phonebook");
45 argumentElement.setAttribute(
"type",
"s");
46 argumentElement.setAttribute(
"direction",
"in");
47 methodElement.appendChild(argumentElement);
49 interfaceElement.appendChild(methodElement);
51 methodElement = document.createElement(
"method");
52 methodElement.setAttribute(
"name",
"PullAll");
54 argumentElement = document.createElement(
"arg");
55 argumentElement.setAttribute(
"name",
"path");
56 argumentElement.setAttribute(
"type",
"o");
57 argumentElement.setAttribute(
"direction",
"out");
58 methodElement.appendChild(argumentElement);
60 argumentElement = document.createElement(
"arg");
61 argumentElement.setAttribute(
"name",
"properties");
62 argumentElement.setAttribute(
"type",
"a{sv}");
63 argumentElement.setAttribute(
"direction",
"out");
64 methodElement.appendChild(argumentElement);
66 argumentElement = document.createElement(
"arg");
67 argumentElement.setAttribute(
"name",
"targetfile");
68 argumentElement.setAttribute(
"type",
"s");
69 argumentElement.setAttribute(
"direction",
"in");
70 methodElement.appendChild(argumentElement);
72 argumentElement = document.createElement(
"arg");
73 argumentElement.setAttribute(
"name",
"filters");
74 argumentElement.setAttribute(
"type",
"as");
75 argumentElement.setAttribute(
"direction",
"in");
76 methodElement.appendChild(argumentElement);
78 interfaceElement.appendChild(methodElement);
80 methodElement = document.createElement(
"method");
81 methodElement.setAttribute(
"name",
"List");
83 argumentElement = document.createElement(
"arg");
84 argumentElement.setAttribute(
"name",
"vcard");
85 argumentElement.setAttribute(
"type",
"a{ss}");
86 argumentElement.setAttribute(
"direction",
"out");
87 methodElement.appendChild(argumentElement);
89 argumentElement = document.createElement(
"arg");
90 argumentElement.setAttribute(
"name",
"filters");
91 argumentElement.setAttribute(
"type",
"as");
92 argumentElement.setAttribute(
"direction",
"in");
93 methodElement.appendChild(argumentElement);
95 interfaceElement.appendChild(methodElement);
97 methodElement = document.createElement(
"method");
98 methodElement.setAttribute(
"name",
"Pull");
100 argumentElement = document.createElement(
"arg");
101 argumentElement.setAttribute(
"name",
"transfer");
102 argumentElement.setAttribute(
"type",
"o");
103 argumentElement.setAttribute(
"direction",
"out");
104 methodElement.appendChild(argumentElement);
106 argumentElement = document.createElement(
"arg");
107 argumentElement.setAttribute(
"name",
"vcards");
108 argumentElement.setAttribute(
"type",
"a{sv}");
109 argumentElement.setAttribute(
"direction",
"out");
110 methodElement.appendChild(argumentElement);
112 argumentElement = document.createElement(
"arg");
113 argumentElement.setAttribute(
"name",
"vcard");
114 argumentElement.setAttribute(
"type",
"s");
115 argumentElement.setAttribute(
"direction",
"in");
116 methodElement.appendChild(argumentElement);
118 argumentElement = document.createElement(
"arg");
119 argumentElement.setAttribute(
"name",
"targetfile");
120 argumentElement.setAttribute(
"type",
"s");
121 argumentElement.setAttribute(
"direction",
"in");
122 methodElement.appendChild(argumentElement);
124 argumentElement = document.createElement(
"arg");
125 argumentElement.setAttribute(
"name",
"filters");
126 argumentElement.setAttribute(
"type",
"as");
127 argumentElement.setAttribute(
"direction",
"in");
128 methodElement.appendChild(argumentElement);
130 interfaceElement.appendChild(methodElement);
136 TQT_DBusMessage reply;
138 TQString _location = message[0].toString();
139 TQString _phonebook = message[1].toString();
141 if (
Select(_location, _phonebook, error))
143 reply = TQT_DBusMessage::methodReply(message);
147 if (!error.isValid())
149 tqWarning(
"Call to implementation of org::bluez::obex::PhonebookAccess1Interface::Select returned 'false' but error object is not valid!");
151 error = TQT_DBusError::stdFailed(
"org.bluez.obex.PhonebookAccess1.Select execution failed");
154 reply = TQT_DBusMessage::methodError(message, error);
163 TQT_DBusMessage reply;
165 TQT_DBusObjectPath _path;
167 TQString _targetfile = message[0].toString();
168 TQStringList _filters = message[1].toList().toTQStringList();
170 if (
PullAll(_path, _properties, _targetfile, _filters, error))
172 reply = TQT_DBusMessage::methodReply(message);
173 reply << TQT_DBusData::fromObjectPath(_path);
174 reply << TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap< TQString >(_properties));
178 if (!error.isValid())
180 tqWarning(
"Call to implementation of org::bluez::obex::PhonebookAccess1Interface::PullAll returned 'false' but error object is not valid!");
182 error = TQT_DBusError::stdFailed(
"org.bluez.obex.PhonebookAccess1.PullAll execution failed");
185 reply = TQT_DBusMessage::methodError(message, error);
194 TQT_DBusMessage reply;
197 TQStringList _filters = message[0].toList().toTQStringList();
199 if (
List(_vcard, _filters, error))
201 reply = TQT_DBusMessage::methodReply(message);
202 reply << TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap< TQString >(_vcard));
206 if (!error.isValid())
208 tqWarning(
"Call to implementation of org::bluez::obex::PhonebookAccess1Interface::List returned 'false' but error object is not valid!");
210 error = TQT_DBusError::stdFailed(
"org.bluez.obex.PhonebookAccess1.List execution failed");
213 reply = TQT_DBusMessage::methodError(message, error);
222 TQT_DBusMessage reply;
224 TQT_DBusObjectPath _transfer;
226 TQString _vcard = message[0].toString();
227 TQString _targetfile = message[1].toString();
228 TQStringList _filters = message[2].toList().toTQStringList();
230 if (
Pull(_transfer, _vcards, _vcard, _targetfile, _filters, error))
232 reply = TQT_DBusMessage::methodReply(message);
233 reply << TQT_DBusData::fromObjectPath(_transfer);
234 reply << TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap< TQString >(_vcards));
238 if (!error.isValid())
240 tqWarning(
"Call to implementation of org::bluez::obex::PhonebookAccess1Interface::Pull returned 'false' but error object is not valid!");
242 error = TQT_DBusError::stdFailed(
"org.bluez.obex.PhonebookAccess1.Pull execution failed");
245 reply = TQT_DBusMessage::methodError(message, error);
253 if (message.interface() !=
"org.bluez.obex.PhonebookAccess1")
return false;
255 if (message.member() ==
"Select")
263 if (message.member() ==
"PullAll")
271 if (message.member() ==
"List")
273 TQT_DBusMessage reply =
callList(message);
279 if (message.member() ==
"Pull")
281 TQT_DBusMessage reply =
callPull(message);
virtual bool List(TQMap< TQString, TQString > &vcard, const TQStringList &filters, TQT_DBusError &error)=0
TQT_DBusMessage callList(const TQT_DBusMessage &message)
virtual void handleMethodReply(const TQT_DBusMessage &reply)=0
TQT_DBusMessage callPull(const TQT_DBusMessage &message)
virtual bool Pull(TQT_DBusObjectPath &transfer, TQMap< TQString, TQT_DBusVariant > &vcards, const TQString &vcard, const TQString &targetfile, const TQStringList &filters, TQT_DBusError &error)=0
virtual bool Select(const TQString &location, const TQString &phonebook, TQT_DBusError &error)=0
TQT_DBusMessage callSelect(const TQT_DBusMessage &message)
virtual bool handleMethodCall(const TQT_DBusMessage &message)
TQT_DBusMessage callPullAll(const TQT_DBusMessage &message)
virtual bool PullAll(TQT_DBusObjectPath &path, TQMap< TQString, TQT_DBusVariant > &properties, const TQString &targetfile, const TQStringList &filters, TQT_DBusError &error)=0
static void buildIntrospectionData(TQDomElement &interfaceElement)