1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
|
OBEX client API description
***************************
Copyright (C) 2007-2010 Marcel Holtmann <marcel@holtmann.org>
Client hierarchy
================
Service org.openobex.client
Interface org.openobex.Client
Object path /
Methods object CreateSession(string destination, dict args)
Create a new OBEX session for the given remote address.
The last parameter is a dictionary to hold optional or
type-specific parameters. Typical parameters that can
be set in this dictionary include the following:
string "Target" : type of session to be created
string "Source" : local address to be used
byte "Channel"
The currently supported targets are the following:
"FTP"
"MAP"
"OPP"
"PBAP"
"SYNC"
void RemoveSession(object session)
Unregister session and abort pending transfers.
Session hierarchy
=================
Service org.openobex.client
Interface org.openobex.Session
Object path [variable prefix]/{session0,session1,...}
Methods dict GetProperties()
Returns all properties for the session.
string GetCapabilities()
Get remote device capabilities.
Properties string Source [readonly]
string Destination [readonly]
byte Channel [readonly]
Object Push hierarchy
=====================
Service org.openobex.client
Interface org.openobex.ObjectPush
Object path [variable prefix]/{session0,session1,...}
Methods void SendFile(string sourcefile)
Send one local file to the remote device.
void PullBusinessCard(string targetfile)
Request the business card from a remote device and
store it in the local file.
void ExchangeBusinessCards(string clientfile, string targetfile)
Push the client's business card to the remote device
and then retrieve the remote business card and store
it in a local file.
File Transfer hierarchy
=======================
Service org.openobex.client
Interface org.openobex.FileTransfer
Object path [variable prefix]/{session0,session1,...}
Methods void ChangeFolder(string folder)
Change the current folder of the remote device.
void CreateFolder(string folder)
Create a new folder in the remote device.
array{dict} ListFolder()
Returns a dictionary containing information about
the current folder content.
The following keys are defined:
string Name : Object name in UTF-8 format
string Type : Either "folder" or "file"
uint64 Size : Object size or number of items in
folder
string Permission : Group, owner and other
permission
uint64 Modified : Last change
uint64 Accessed : Last access
uint64 Created : Creation date
void GetFile(string targetfile, string sourcefile)
Copy the source file (from remote device) to the
target file (on local filesystem).
A new Transfer object is created to represent this
transaction.
void PutFile(string sourcefile, string targetfile)
Copy the source file (from local filesystem) to the
target file (on remote device).
A new Transfer object is created to represent this
transaction.
void CopyFile(string sourcefile, string targetfile)
Copy a file within the remote device from source file
to target file.
void MoveFile(string sourcefile, string targetfile)
Move a file within the remote device from source file
to the target file.
void Delete(string file)
Deletes the specified file/folder.
Phonebook Access hierarchy
=======================
Service org.openobex.client
Interface org.openobex.PhonebookAccess
Object path [variable prefix]/{session0,session1,...}
Methods void Select(string location, string phonebook)
Select the phonebook object for other operations. Should
be call before all the other operations.
location : Where the phonebook is stored, possible
inputs :
"INT" ( "INTERNAL" which is default )
"SIM" ( "SIM1" )
"SIM2"
...
phonebook : Possible inputs :
"pb" : phonebook for the saved contacts
"ich": incoming call history
"och": outgoing call history
"mch": missing call history
"cch": combination of ich och mch
string PullAll()
Return the entire phonebook object from the PSE server
in plain string with vcard format.
array{string vcard, string name} List()
Return an array of vcard-listing data which contains the
vcard : name paired string, for example "1.vcf" :
"John".
string Pull(string vcard)
Retrieve the vcard in the current phonebook object
for example : Pull("0.vcf")
array{string vcard, string name}
Search(string field, string value)
Return an array of vcard-listing data which contains the
vcard : name paired string match the search condition.
field : the field in the vcard to search with
{ "name" (default) | "number" | "sound" }
value : the string value to search for
uint16 GetSize()
Return the number of the non-null entries in the
selected phonebook object.
void SetFormat(string format)
Indicate the format of the vcard that should be return
by related methods.
format : { "vcard21" (default) | "vcard30" }
void SetOrder(string order)
Indicate the sorting method of the vcard-listing data
returned by List and Search methods.
order : { "indexed" (default) | "alphanumeric" |
"phonetic" }
void SetFilter(array{string})
Indicate fields that should be contained in vcards
return by related methods.
Give an empty array will clear the filter and return
all fields available in vcards. And this is the default
behavior.
Possible filter fields : "VERSION", "FN", ..., "ALL",
"bit[0-63]"
array{string} ListFilterFields()
Return All Available fields that can be used in
SefFilter method.
array{string} GetFilter()
Return the current filter setting
Synchronization hierarchy
=======================
Service org.openobex.client
Interface org.openobex.Synchronization
Object path [variable prefix]/{session0,session1,...}
Methods void SetLocation(string location)
Set the phonebook object store location for other
operations. Should be called before all the other
operations.
location: Where the phonebook is stored, possible
values:
"INT" ( "INTERNAL" which is default )
"SIM1"
"SIM2"
......
string GetPhonebook()
Retrieve an entire Phonebook Object store from remote
device
void PutPhonebook(string obj)
Send an entire Phonebook Object store to remote device
Message Access hierarchy
=========================
Service org.openobex.client
Interface org.openobex.MessageAccess
Object path [variable prefix]/{session0,session1,...}
Methods void SetFolder(string name)
Set working directory for current session, *name* may
be the directory name or '..[/dir]'.
Transfer hierarchy
==================
Service org.openobex.client
Interface org.openobex.Transfer
Object path [variable prefix]/{transfer0,transfer1,...}
Methods dict GetProperties()
Returns all properties for the transfer. See the
properties section for available properties.
void Cancel()
Cancels this transfer.
Properties string Name [readonly]
Name of the transferred object.
uint64 Size [readonly]
Size of the transferred object. If the size is
unknown, then this property will not be present.
string Filename [readonly, optional]
Complete name of the file being received or sent.
uint64 Progress [readonly, optional]
Number of bytes transferred. For queued transfers, this
value will not be present.
Signals PropertyChanged(string name, variant value)
This signal indicates a changed value of the given
property.
void Complete()
Informs that the transfer has completed successfully.
void Error(string code, string message)
Informs that the transfer has been terminated because
of some error.
|