comparison libervia/backend/bridge/bridge_constructor/bridge_template.ini @ 4071:4b842c1fb686

refactoring: renamed `sat` package to `libervia.backend`
author Goffi <goffi@goffi.org>
date Fri, 02 Jun 2023 11:49:51 +0200
parents sat/bridge/bridge_constructor/bridge_template.ini@2594e1951cf7
children 02f0adc745c6
comparison
equal deleted inserted replaced
4070:d10748475025 4071:4b842c1fb686
1 [DEFAULT]
2 doc_profile=profile: Name of the profile.
3 doc_profile_key=profile_key: Profile key which can be either a magic (eg: @DEFAULT@) or the name of an existing profile.
4 doc_security_limit=security_limit: -1 means no security, 0 is the maximum security then the higher the less secure
5
6 ;signals
7
8 [connected]
9 type=signal
10 category=core
11 sig_in=ss
12 doc=Connection is done
13 doc_param_0=jid_s: the JID that we were assigned by the server, as the resource might differ from the JID we asked for.
14 doc_param_1=%(doc_profile)s
15
16 [disconnected]
17 type=signal
18 category=core
19 sig_in=s
20 doc=Connection is finished or lost
21 doc_param_0=%(doc_profile)s
22
23 [contact_new]
24 type=signal
25 category=core
26 sig_in=sa{ss}ass
27 doc=New contact received in roster
28 doc_param_0=contact_jid: JID which has just been added
29 doc_param_1=attributes: Dictionary of attributes where keys are:
30 - name: name of the contact
31 - to: "True" if the contact give its presence information to us
32 - from: "True" if contact is registred to our presence information
33 - ask: "True" is subscription is pending
34 doc_param_2=groups: Roster's groups where the contact is
35 doc_param_3=%(doc_profile)s
36
37 [message_new]
38 type=signal
39 category=core
40 sig_in=sdssa{ss}a{ss}sss
41 doc=A message has been received
42 doc_param_0=uid: unique ID of the message (id specific to SàT, this it *NOT* an XMPP id)
43 doc_param_1=timestamp: when the message was sent (or declared sent for delayed messages)
44 doc_param_2=from_jid: JID where the message is comming from
45 doc_param_3=to_jid: JID where the message must be sent
46 doc_param_4=message: message itself, can be in several languages (key is language code or '' for default)
47 doc_param_5=subject: subject of the message, can be in several languages (key is language code or '' for default)
48 doc_param_6=mess_type: Type of the message (cf RFC 6121 §5.2.2) + C.MESS_TYPE_INFO (system info)
49 doc_param_7=extra: extra message information, can have data added by plugins and/or:
50 - thread: id of the thread
51 - thread_parent: id of the parent of the current thread
52 - received_timestamp: date of receiption for delayed messages
53 - delay_sender: entity which has originally sent or which has delayed the message
54 - info_type: subtype for info messages
55 doc_param_8=%(doc_profile)s
56
57 [message_encryption_started]
58 type=signal
59 category=core
60 sig_in=sss
61 doc=A message encryption session has been started
62 doc_param_0=to_jid: JID of the recipient (bare jid if it's encrypted for all devices)
63 doc_param_1=encryption_data: (JSON_OBJ) data of the encryption algorithm used, encoded as a json object.
64 it always has the following keys:
65 - name: human readable name of the algorithm
66 - namespace: namespace of the encryption plugin
67 following keys are present if suitable:
68 - directed_devices: list or resource where session is encrypted
69 doc_param_2=%(doc_profile_key)s
70
71 [message_encryption_stopped]
72 type=signal
73 category=core
74 sig_in=sa{ss}s
75 doc=A message encryption session has been stopped
76 doc_param_0=to_jid: JID of the recipient (full jid if it's only stopped for one device)
77 doc_param_1=encryption_data: data of the encryption algorithm stopped, has a least following keys:
78 - name: human readable name of the algorithm
79 - namespace: namespace of the encryption plugin
80 doc_param_2=%(doc_profile_key)s
81
82 [presence_update]
83 type=signal
84 category=core
85 sig_in=ssia{ss}s
86 doc=Somebody changed his presence information.
87 doc_param_0=entity_jid: JID from which we have presence informatios
88 doc_param_1=show: availability status (see RFC 6121 §4.7.2.1)
89 doc_param_2=priority: Priority level of the ressource (see RFC 6121 §4.7.2.3)
90 doc_param_3=statuses: Natural language description of the availability status (see RFC 6121 §4.7.2.2)
91 doc_param_4=%(doc_profile)s
92
93 [subscribe]
94 type=signal
95 category=core
96 sig_in=sss
97 doc=Somebody wants to be added in roster
98 doc_param_0=sub_type: Subscription states (see RFC 6121 §3)
99 doc_param_1=entity_jid: JID from which the subscription is coming
100 doc_param_2=%(doc_profile)s
101
102 [param_update]
103 type=signal
104 category=core
105 sig_in=ssss
106 doc=A parameter has been changed
107 doc_param_0=name: Name of the updated parameter
108 doc_param_1=value: New value of the parameter
109 doc_param_2=category: Category of the updated parameter
110 doc_param_3=%(doc_profile)s
111
112 [contact_deleted]
113 type=signal
114 category=core
115 sig_in=ss
116 doc=A contact has been supressed from roster
117 doc_param_0=entity_jid: JID of the contact removed from roster
118 doc_param_1=%(doc_profile)s
119
120 [action_new]
121 type=signal
122 category=core
123 sig_in=ssis
124 doc=A frontend action is requested
125 doc_param_0=action_data: a serialised dict where key can be:
126 - xmlui: a XMLUI describing the action
127 - progress: a progress id
128 - meta_*: meta information on the action, used to make automation more easy,
129 some are defined below
130 - meta_from_jid: origin of the request
131 - meta_type: type of the request, can be one of:
132 - C.META_TYPE_FILE: a file transfer request validation
133 - C.META_TYPE_OVERWRITE: a file overwriting confirmation
134 - meta_progress_id: progress id linked to this action
135 doc_param_1=id: action id
136 This id can be used later by frontends to announce to other ones that the action is managed and can now be ignored.
137 doc_param_2=%(doc_security_limit)s
138 doc_param_3=%(doc_profile)s
139
140 [entity_data_updated]
141 type=signal
142 category=core
143 sig_in=ssss
144 doc=An entity's data has been updated
145 doc_param_0=jid: entity's bare jid
146 doc_param_1=name: Name of the updated value
147 doc_param_2=value: New value
148 doc_param_3=%(doc_profile)s
149
150 [progress_started]
151 type=signal
152 category=core
153 sig_in=sa{ss}s
154 doc=A progressing operation has just started
155 doc_param_0=id: id of the progression operation
156 doc_param_1=metadata: dict of progress metadata, key can be:
157 - name: name of the progression, full path for a file
158 - direction: "in" for incoming data, "out" else
159 - type: type of the progression:
160 C.META_TYPE_FILE: file transfer
161 doc_param_2=%(doc_profile)s
162
163 [progress_finished]
164 type=signal
165 category=core
166 sig_in=sa{ss}s
167 doc=A progressing operation is finished
168 doc_param_0=id: id of the progression operation
169 doc_param_1=metadata: dict of progress status metadata, key can be:
170 - hash: value of the computed hash
171 - hash_algo: alrorithm used to compute hash
172 - hash_verified: C.BOOL_TRUE if hash is verified and OK
173 C.BOOL_FALSE if hash was not received ([progress_error] will be used if there is a mismatch)
174 - url: url linked to the progression (e.g. download url after a file upload)
175 doc_param_2=%(doc_profile)s
176
177 [progress_error]
178 type=signal
179 category=core
180 sig_in=sss
181 doc=There was an error during progressing operation
182 doc_param_0=id: id of the progression operation
183 doc_param_1=error: error message
184 doc_param_2=%(doc_profile)s
185
186 [_debug]
187 type=signal
188 category=core
189 sig_in=sa{ss}s
190 doc=Debug method, useful for developers
191 doc_param_0=action: action to do
192 doc_param_1=params: action parameters
193 doc_param_2=%(doc_profile)s
194
195 ;methods
196
197 [ready_get]
198 async=
199 type=method
200 category=core
201 sig_in=
202 sig_out=
203 doc=Return when backend is initialised
204
205 [version_get]
206 type=method
207 category=core
208 sig_in=
209 sig_out=s
210 doc=Get "Salut à Toi" full version
211
212 [features_get]
213 type=method
214 category=core
215 sig_in=s
216 sig_out=a{sa{ss}}
217 doc=Get available features and plugins
218 features can changes for differents profiles, e.g. because of differents server capabilities
219 doc_param_0=%(doc_profile_key)s
220 doc_return=dictionary of available features:
221 plugin import name is used as key, data is an other dict managed by the plugin
222 async=
223
224 [profile_name_get]
225 type=method
226 category=core
227 sig_in=s
228 sig_out=s
229 param_0_default="@DEFAULT@"
230 doc=Get real profile name from profile key
231 doc_param_0=%(doc_profile_key)s
232 doc_return=Real profile name
233
234 [profiles_list_get]
235 type=method
236 category=core
237 sig_in=bb
238 sig_out=as
239 param_0_default=True
240 param_1_default=False
241 doc_param_0=clients: get clients profiles
242 doc_param_1=components: get components profiles
243 doc=Get list of profiles
244
245 [profile_set_default]
246 type=method
247 category=core
248 sig_in=s
249 sig_out=
250 doc_param_0=%(doc_profile)s
251 doc=Set default profile
252
253 [entity_data_get]
254 type=method
255 category=core
256 sig_in=sass
257 sig_out=a{ss}
258 doc=Get data in cache for an entity
259 doc_param_0=jid: entity's bare jid
260 doc_param_1=keys: list of keys to get
261 doc_param_2=%(doc_profile)s
262 doc_return=dictionary of asked key,
263 if key doesn't exist, the resulting dictionary will not have the key
264
265 [entities_data_get]
266 type=method
267 category=core
268 sig_in=asass
269 sig_out=a{sa{ss}}
270 doc=Get data in cache for several entities at once
271 doc_param_0=jids: list of entities bare jid, or empty list to have all jids in cache
272 doc_param_1=keys: list of keys to get
273 doc_param_2=%(doc_profile)s
274 doc_return=dictionary with jids as keys and dictionary of asked key as values
275 values are serialised
276 if key doesn't exist for a jid, the resulting dictionary will not have it
277
278 [profile_create]
279 async=
280 type=method
281 category=core
282 sig_in=sss
283 sig_out=
284 param_1_default=''
285 param_2_default=''
286 doc=Create a new profile
287 doc_param_0=%(doc_profile)s
288 doc_param_1=password: password of the profile
289 doc_param_2=component: set to component entry point if it is a component, else use empty string
290 doc_return=callback is called when profile actually exists in database and memory
291 errback is called with error constant as parameter:
292 - ConflictError: the profile name already exists
293 - CancelError: profile creation canceled
294 - NotFound: component entry point is not available
295
296 [profile_delete_async]
297 async=
298 type=method
299 category=core
300 sig_in=s
301 sig_out=
302 doc=Delete a profile
303 doc_param_0=%(doc_profile)s
304 doc_return=callback is called when profile has been deleted from database and memory
305 errback is called with error constant as parameter:
306 - ProfileUnknownError: the profile name is unknown
307 - ConnectedProfileError: a connected profile would not be deleted
308
309 [connect]
310 async=
311 type=method
312 category=core
313 sig_in=ssa{ss}
314 sig_out=b
315 param_0_default="@DEFAULT@"
316 param_1_default=''
317 param_2_default={}
318 doc=Connect a profile
319 doc_param_0=%(doc_profile_key)s
320 doc_param_1=password: the SàT profile password
321 doc_param_2=options: connection options
322 doc_return=a deferred boolean or failure:
323 - boolean if the profile authentication succeed:
324 - True if the XMPP connection was already established
325 - False if the XMPP connection has been initiated (it may still fail)
326 - failure if the profile authentication failed
327
328 [profile_start_session]
329 async=
330 type=method
331 category=core
332 sig_in=ss
333 sig_out=b
334 param_0_default=''
335 param_1_default="@DEFAULT@"
336 doc=Start a profile session without connecting it (if it's not already the case)
337 doc_param_0=password: the SàT profile password
338 doc_param_1=%(doc_profile_key)s
339 doc_return=D(bool):
340 - True if the profile session was already started
341 - False else
342
343 [profile_is_session_started]
344 type=method
345 category=core
346 sig_in=s
347 sig_out=b
348 param_0_default="@DEFAULT@"
349 doc=Tell if a profile session is loaded
350 doc_param_0=%(doc_profile_key)s
351
352 [disconnect]
353 async=
354 type=method
355 category=core
356 sig_in=s
357 sig_out=
358 param_0_default="@DEFAULT@"
359 doc=Disconnect a profile
360 doc_param_0=%(doc_profile_key)s
361
362 [is_connected]
363 type=method
364 category=core
365 sig_in=s
366 sig_out=b
367 param_0_default="@DEFAULT@"
368 doc=Tell if a profile is connected
369 doc_param_0=%(doc_profile_key)s
370
371 [contact_get]
372 async=
373 type=method
374 category=core
375 sig_in=ss
376 sig_out=(a{ss}as)
377 param_1_default="@DEFAULT@"
378 doc=Return informations in roster about a contact
379 doc_param_1=%(doc_profile_key)s
380 doc_return=tuple with the following values:
381 - list of attributes as in [contact_new]
382 - groups where the contact is
383
384 [contacts_get]
385 async=
386 type=method
387 category=core
388 sig_in=s
389 sig_out=a(sa{ss}as)
390 param_0_default="@DEFAULT@"
391 doc=Return information about all contacts (the roster)
392 doc_param_0=%(doc_profile_key)s
393 doc_return=array of tuples with the following values:
394 - JID of the contact
395 - list of attributes as in [contact_new]
396 - groups where the contact is
397
398 [contacts_get_from_group]
399 type=method
400 category=core
401 sig_in=ss
402 sig_out=as
403 param_1_default="@DEFAULT@"
404 doc=Return information about all contacts
405 doc_param_0=group: name of the group to check
406 doc_param_1=%(doc_profile_key)s
407 doc_return=array of jids
408
409 [main_resource_get]
410 type=method
411 category=core
412 sig_in=ss
413 sig_out=s
414 param_1_default="@DEFAULT@"
415 doc=Return the last resource connected for a contact
416 doc_param_0=contact_jid: jid of the contact
417 doc_param_1=%(doc_profile_key)s
418 doc_return=the resource connected of the contact with highest priority, or ""
419
420 [presence_statuses_get]
421 type=method
422 category=core
423 sig_in=s
424 sig_out=a{sa{s(sia{ss})}}
425 param_0_default="@DEFAULT@"
426 doc=Return presence information of all contacts
427 doc_param_0=%(doc_profile_key)s
428 doc_return=Dict of presence with bare JID of contact as key, and value as follow:
429 A dict where key is the resource and the value is a tuple with (show, priority, statuses) as for [presence_update]
430
431 [sub_waiting_get]
432 type=method
433 category=core
434 sig_in=s
435 sig_out=a{ss}
436 param_0_default="@DEFAULT@"
437 doc=Get subscription requests in queue
438 doc_param_0=%(doc_profile_key)s
439 doc_return=Dict where contact JID is the key, and value is the subscription type
440
441 [message_send]
442 async=
443 type=method
444 category=core
445 sig_in=sa{ss}a{ss}sss
446 sig_out=
447 param_2_default={}
448 param_3_default="auto"
449 param_4_default={}
450 param_5_default="@NONE@"
451 doc=Send a message
452 doc_param_0=to_jid: JID of the recipient
453 doc_param_1=message: body of the message:
454 key is the language of the body, use '' when unknown
455 doc_param_2=subject: Subject of the message
456 key is the language of the subject, use '' when unknown
457 doc_param_3=mess_type: Type of the message (cf RFC 6121 §5.2.2) or "auto" for automatic type detection
458 doc_param_4=extra: (serialised) optional data that can be used by a plugin to build more specific messages
459 doc_param_5=%(doc_profile_key)s
460
461 [message_encryption_start]
462 async=
463 type=method
464 category=core
465 sig_in=ssbs
466 sig_out=
467 param_1_default=''
468 param_2_default=False
469 param_3_default="@NONE@"
470 doc=Start an encryption session
471 doc_param_0=to_jid: JID of the recipient (bare jid if it must be encrypted for all devices)
472 doc_param_1=namespace: namespace of the encryption algorithm to use
473 doc_param_2=replace: if True and an encryption session already exists, it will be replaced by this one
474 else a ConflictError will be raised
475 doc_param_3=%(doc_profile_key)s
476
477 [message_encryption_stop]
478 async=
479 type=method
480 category=core
481 sig_in=ss
482 sig_out=
483 doc=Stop an encryption session
484 doc_param_0=to_jid: JID of the recipient (full jid if encryption must be stopped for one device only)
485 doc_param_1=%(doc_profile_key)s
486
487 [message_encryption_get]
488 type=method
489 category=core
490 sig_in=ss
491 sig_out=s
492 doc=Retrieve encryption data for a given entity
493 doc_param_0=to_jid: bare JID of the recipient
494 doc_param_1=%(doc_profile_key)s
495 doc_return=(JSON_OBJ) empty string if session is unencrypted, else a json encoded objects.
496 In case of dict, following keys are always present:
497 - name: human readable name of the encryption algorithm
498 - namespace: namespace of the plugin
499 following key can be present if suitable:
500 - directed_devices: list or resource where session is encrypted
501
502 [encryption_namespace_get]
503 type=method
504 category=core
505 sig_in=s
506 sig_out=s
507 doc=Get algorithm namespace from its name
508
509 [encryption_plugins_get]
510 type=method
511 category=core
512 sig_in=
513 sig_out=s
514 doc=Retrieve registered plugins for encryption
515
516 [encryption_trust_ui_get]
517 async=
518 type=method
519 category=core
520 sig_in=sss
521 sig_out=s
522 doc=Get XMLUI to manage trust for given encryption algorithm
523 doc_param_0=to_jid: bare JID of entity to manage
524 doc_param_1=namespace: namespace of the algorithm to manage
525 doc_param_2=%(doc_profile_key)s
526 doc_return=(XMLUI) UI of the trust management
527
528 [presence_set]
529 type=method
530 category=core
531 sig_in=ssa{ss}s
532 sig_out=
533 param_0_default=''
534 param_1_default=''
535 param_2_default={}
536 param_3_default="@DEFAULT@"
537 doc=Set presence information for the profile
538 doc_param_0=to_jid: the JID to who we send the presence data (emtpy string for broadcast)
539 doc_param_1=show: as for [presence_update]
540 doc_param_2=statuses: as for [presence_update]
541 doc_param_3=%(doc_profile_key)s
542
543 [subscription]
544 type=method
545 category=core
546 sig_in=sss
547 sig_out=
548 param_2_default="@DEFAULT@"
549 doc=Send subscription request/answer to a contact
550 doc_param_0=sub_type: as for [subscribe]
551 doc_param_1=entity: as for [subscribe]
552 doc_param_2=%(doc_profile_key)s
553
554 [config_get]
555 type=method
556 category=core
557 sig_in=ss
558 sig_out=s
559 doc=get main configuration option
560 doc_param_0=section: section of the configuration file (empty string for DEFAULT)
561 doc_param_1=name: name of the option
562
563 [param_set]
564 type=method
565 category=core
566 sig_in=sssis
567 sig_out=
568 param_3_default=-1
569 param_4_default="@DEFAULT@"
570 doc=Change a parameter
571 doc_param_0=name: Name of the parameter to change
572 doc_param_1=value: New Value of the parameter
573 doc_param_2=category: Category of the parameter to change
574 doc_param_3=%(doc_security_limit)s
575 doc_param_4=%(doc_profile_key)s
576
577 [param_get_a]
578 type=method
579 category=core
580 sig_in=ssss
581 sig_out=s
582 param_2_default="value"
583 param_3_default="@DEFAULT@"
584 doc=Helper method to get a parameter's attribute *when profile is connected*
585 doc_param_0=name: as for [param_set]
586 doc_param_1=category: as for [param_set]
587 doc_param_2=attribute: Name of the attribute
588 doc_param_3=%(doc_profile_key)s
589
590 [private_data_get]
591 async=
592 type=method
593 category=core
594 sig_in=sss
595 sig_out=s
596 doc=Retrieve private data
597 doc_param_0=namespace: unique namespace to use
598 doc_param_1=key: key of the data to set
599 doc_param_2=%(doc_profile_key)s
600 doc_return=serialised data
601
602 [private_data_set]
603 async=
604 type=method
605 category=core
606 sig_in=ssss
607 sig_out=
608 doc=Store private data
609 doc_param_0=namespace: unique namespace to use
610 doc_param_1=key: key of the data to set
611 doc_param_2=data: serialised data
612 doc_param_3=%(doc_profile_key)s
613
614 [private_data_delete]
615 async=
616 type=method
617 category=core
618 sig_in=sss
619 sig_out=
620 doc=Delete private data
621 doc_param_0=namespace: unique namespace to use
622 doc_param_1=key: key of the data to delete
623 doc_param_3=%(doc_profile_key)s
624
625 [param_get_a_async]
626 async=
627 type=method
628 category=core
629 sig_in=sssis
630 sig_out=s
631 param_2_default="value"
632 param_3_default=-1
633 param_4_default="@DEFAULT@"
634 doc=Helper method to get a parameter's attribute
635 doc_param_0=name: as for [param_set]
636 doc_param_1=category: as for [param_set]
637 doc_param_2=attribute: Name of the attribute
638 doc_param_3=%(doc_security_limit)s
639 doc_param_4=%(doc_profile_key)s
640
641 [params_values_from_category_get_async]
642 async=
643 type=method
644 category=code
645 sig_in=sisss
646 sig_out=a{ss}
647 param_1_default=-1
648 param_2_default=""
649 param_3_default=""
650 param_4_default="@DEFAULT@"
651 doc=Get "attribute" for all params of a category
652 doc_param_0=category: as for [param_set]
653 doc_param_1=%(doc_security_limit)s
654 doc_param_2=app: name of the frontend requesting the parameters, or '' to get all parameters
655 doc_param_3=extra: extra options/filters
656 doc_param_4=%(doc_profile_key)s
657
658 [param_ui_get]
659 async=
660 type=method
661 category=core
662 sig_in=isss
663 sig_out=s
664 param_0_default=-1
665 param_1_default=''
666 param_2_default=''
667 param_3_default="@DEFAULT@"
668 doc=Return a SàT XMLUI for parameters, eventually restrict the result to the parameters concerning a given frontend
669 doc_param_0=%(doc_security_limit)s
670 doc_param_1=app: name of the frontend requesting the parameters, or '' to get all parameters
671 doc_param_2=extra: extra options/filters
672 doc_param_3=%(doc_profile_key)s
673
674 [params_categories_get]
675 type=method
676 category=core
677 sig_in=
678 sig_out=as
679 doc=Get all categories currently existing in parameters
680 doc_return=list of categories
681
682 [params_register_app]
683 type=method
684 category=core
685 sig_in=sis
686 sig_out=
687 param_1_default=-1
688 param_2_default=''
689 doc=Register frontend's specific parameters
690 doc_param_0=xml: XML definition of the parameters to be added
691 doc_param_1=%(doc_security_limit)s
692 doc_param_2=app: name of the frontend registering the parameters
693
694 [history_get]
695 async=
696 type=method
697 category=core
698 sig_in=ssiba{ss}s
699 sig_out=a(sdssa{ss}a{ss}ss)
700 param_3_default=True
701 param_4_default=''
702 param_5_default="@NONE@"
703 doc=Get history of a communication between two entities
704 doc_param_0=from_jid: source JID (bare jid for catch all, full jid else)
705 doc_param_1=to_jid: dest JID (bare jid for catch all, full jid else)
706 doc_param_2=limit: max number of history elements to get (0 for the whole history)
707 doc_param_3=between: True if we want history between the two jids (in both direction), False if we only want messages from from_jid to to_jid
708 doc_param_4=filters: patterns to filter the history results, can be:
709 - body: pattern must be in message body
710 - search: pattern must be in message body or source resource
711 - types: type must be one of those, values are separated by spaces
712 - not_types: type must not be one of those, values are separated by spaces
713 - before_uid: check only message received before message with given uid
714 doc_param_5=%(doc_profile)s
715 doc_return=Ordered list (by timestamp) of data as in [message_new] (without final profile)
716
717 [contact_add]
718 type=method
719 category=core
720 sig_in=ss
721 sig_out=
722 param_1_default="@DEFAULT@"
723 doc=Add a contact to profile's roster
724 doc_param_0=entity_jid: JID to add to roster
725 doc_param_1=%(doc_profile_key)s
726
727 [contact_update]
728 type=method
729 category=core
730 sig_in=ssass
731 sig_out=
732 param_3_default="@DEFAULT@"
733 doc=update a contact in profile's roster
734 doc_param_0=entity_jid: JID update in roster
735 doc_param_1=name: roster's name for the entity
736 doc_param_2=groups: list of group where the entity is
737 doc_param_3=%(doc_profile_key)s
738
739 [contact_del]
740 async=
741 type=method
742 category=core
743 sig_in=ss
744 sig_out=
745 param_1_default="@DEFAULT@"
746 doc=Remove a contact from profile's roster
747 doc_param_0=entity_jid: JID to remove from roster
748 doc_param_1=%(doc_profile_key)s
749
750 [roster_resync]
751 async=
752 type=method
753 category=core
754 sig_in=s
755 sig_out=
756 param_0_default="@DEFAULT@"
757 doc=Do a full resynchronisation of roster with server
758 doc_param_0=%(doc_profile_key)s
759
760 [action_launch]
761 async=
762 type=method
763 category=core
764 sig_in=sss
765 sig_out=s
766 param_2_default="@DEFAULT@"
767 doc=Launch a registred action
768 doc_param_0=callback_id: id of the registred callback
769 doc_param_1=data: optional data
770 doc_param_2=%(doc_profile_key)s
771 doc_return=dict where key can be:
772 - xmlui: a XMLUI need to be displayed
773
774 [actions_get]
775 type=method
776 category=core
777 sig_in=s
778 sig_out=a(ssi)
779 param_0_default="@DEFAULT@"
780 doc=Get all not yet answered actions
781 doc_param_0=%(doc_profile_key)s
782 doc_return=list of data as for [action_new] (without the profile)
783
784 [progress_get]
785 type=method
786 category=core
787 sig_in=ss
788 sig_out=a{ss}
789 doc=Get progress information for an action
790 doc_param_0=id: id of the progression status
791 doc_param_1=%(doc_profile)s
792 doc_return=dict with progress informations:
793 - position: current position
794 - size: end position (optional if not known)
795 other metadata may be present
796
797 [progress_get_all_metadata]
798 type=method
799 category=core
800 sig_in=s
801 sig_out=a{sa{sa{ss}}}
802 doc=Get all active progress informations
803 doc_param_0=%(doc_profile)s or C.PROF_KEY_ALL for all profiles
804 doc_return= a dict which map profile to progress_dict
805 progress_dict map progress_id to progress_metadata
806 progress_metadata is the same dict as sent by [progress_started]
807
808 [progress_get_all]
809 type=method
810 category=core
811 sig_in=s
812 sig_out=a{sa{sa{ss}}}
813 doc=Get all active progress informations
814 doc_param_0=%(doc_profile)s or C.PROF_KEY_ALL for all profiles
815 doc_return= a dict which map profile to progress_dict
816 progress_dict map progress_id to progress_data
817 progress_data is the same dict as returned by [progress_get]
818
819 [menus_get]
820 type=method
821 category=core
822 sig_in=si
823 sig_out=a(ssasasa{ss})
824 doc=Get all additional menus
825 doc_param_0=language: language in which the menu should be translated (empty string for default)
826 doc_param_1=security_limit: %(doc_security_limit)s
827 doc_return=list of tuple with the following value:
828 - menu_id: menu id (same as callback id)
829 - menu_type: Type which can be:
830 * NORMAL: Classical application menu
831 - menu_path: raw path of the menu
832 - menu_path_i18n: translated path of the menu
833 - extra: extra data, like icon name
834
835 [menu_launch]
836 async=
837 type=method
838 category=core
839 sig_in=sasa{ss}is
840 sig_out=a{ss}
841 doc=Launch a registred menu
842 doc_param_0=menu_type: type of the menu (C.MENU_*)
843 doc_param_1=path: canonical (untranslated) path of the menu
844 doc_param_2=data: optional data
845 doc_param_3=%(doc_security_limit)s
846 doc_param_4=%(doc_profile_key)s
847 doc_return=dict where key can be:
848 - xmlui: a XMLUI need to be displayed
849
850 [menu_help_get]
851 type=method
852 category=core
853 sig_in=ss
854 sig_out=s
855 param_2="NORMAL"
856 doc=Get help information for a menu
857 doc_param_0=menu_id: id of the menu (same as callback_id)
858 doc_param_1=language: language in which the menu should be translated (empty string for default)
859 doc_return=Translated help string
860
861 [disco_infos]
862 async=
863 type=method
864 category=core
865 sig_in=ssbs
866 sig_out=(asa(sss)a{sa(a{ss}as)})
867 param_1_default=u''
868 param_2_default=True
869 param_3_default="@DEFAULT@"
870 doc=Discover infos on an entity
871 doc_param_0=entity_jid: JID to discover
872 doc_param_1=node: node to use
873 doc_param_2=use_cache: use cached data if available
874 doc_param_3=%(doc_profile_key)s
875 doc_return=discovery data:
876 - list of features
877 - list of identities (category, type, name)
878 - dictionary of extensions (FORM_TYPE as key), with value of:
879 - list of field which are:
880 - dictionary key/value where key can be:
881 * var
882 * label
883 * type
884 * desc
885 - list of values
886
887 [disco_items]
888 async=
889 type=method
890 category=core
891 sig_in=ssbs
892 sig_out=a(sss)
893 param_1_default=u''
894 param_2_default=True
895 param_3_default="@DEFAULT@"
896 doc=Discover items of an entity
897 doc_param_0=entity_jid: JID to discover
898 doc_param_1=node: node to use
899 doc_param_2=use_cache: use cached data if available
900 doc_param_3=%(doc_profile_key)s
901 doc_return=array of tuple (entity, node identifier, name)
902
903 [disco_find_by_features]
904 async=
905 type=method
906 category=core
907 sig_in=asa(ss)bbbbbs
908 sig_out=(a{sa(sss)}a{sa(sss)}a{sa(sss)})
909 param_2_default=False
910 param_3_default=True
911 param_4_default=True
912 param_5_default=True
913 param_6_default=False
914 param_7_default="@DEFAULT@"
915 doc=Discover items of an entity
916 doc_param_0=namespaces: namespaces of the features to check
917 doc_param_1=identities: identities to filter
918 doc_param_2=bare_jid: if True only retrieve bare jids
919 if False, retrieve full jids of connected resources
920 doc_param_3=service: True to check server's services
921 doc_param_4=roster: True to check connected devices from people in roster
922 doc_param_5=own_jid: True to check profile's jid
923 doc_param_6=local_device: True to check device on which the backend is running
924 doc_param_7=%(doc_profile_key)s
925 doc_return=tuple of maps of found entities full jids to their identities. Maps are in this order:
926 - services entities
927 - own entities (i.e. entities linked to profile's jid)
928 - roster entities
929
930 [params_template_save]
931 type=method
932 category=core
933 sig_in=s
934 sig_out=b
935 doc=Save parameters template to xml file
936 doc_param_0=filename: output filename
937 doc_return=boolean (True in case of success)
938
939 [params_template_load]
940 type=method
941 category=core
942 sig_in=s
943 sig_out=b
944 doc=Load parameters template from xml file
945 doc_param_0=filename: input filename
946 doc_return=boolean (True in case of success)
947
948 [session_infos_get]
949 async=
950 type=method
951 category=core
952 sig_in=s
953 sig_out=a{ss}
954 doc=Get various informations on current profile session
955 doc_param_0=%(doc_profile_key)s
956 doc_return=session informations, with at least the following keys:
957 jid: current full jid
958 started: date of creation of the session (Epoch time)
959
960 [devices_infos_get]
961 async=
962 type=method
963 category=core
964 sig_in=ss
965 sig_out=s
966 doc=Get various informations on an entity devices
967 doc_param_0=bare_jid: get data on known devices from this entity
968 empty string to get devices of the profile
969 doc_param_1=%(doc_profile_key)s
970 doc_return=list of known devices, where each item is a dict with a least following keys:
971 resource: device resource
972
973 [namespaces_get]
974 type=method
975 category=core
976 sig_in=
977 sig_out=a{ss}
978 doc=Get a dict to short name => whole namespaces
979 doc_return=namespaces mapping
980
981 [image_check]
982 type=method
983 category=core
984 sig_in=s
985 sig_out=s
986 doc=Analyze an image a return a report
987 doc_return=serialized report
988
989 [image_resize]
990 async=
991 type=method
992 category=core
993 sig_in=sii
994 sig_out=s
995 doc=Create a new image with desired size
996 doc_param_0=image_path: path of the image to resize
997 doc_param_1=width: width of the new image
998 doc_param_2=height: height of the new image
999 doc_return=path of the new image with desired size
1000 the image must be deleted once not needed anymore
1001
1002 [image_generate_preview]
1003 async=
1004 type=method
1005 category=core
1006 sig_in=ss
1007 sig_out=s
1008 doc=Generate a preview of an image in cache
1009 doc_param_0=image_path: path of the original image
1010 doc_param_1=%(doc_profile_key)s
1011 doc_return=path to the preview in cache
1012
1013 [image_convert]
1014 async=
1015 type=method
1016 category=core
1017 sig_in=ssss
1018 sig_out=s
1019 doc=Convert an image to an other format
1020 doc_param_0=source: path of the image to convert
1021 doc_param_1=dest: path to the location where the new image must be stored.
1022 Empty string to generate a file in cache, unique to the source
1023 doc_param_3=extra: serialised extra
1024 doc_param_4=profile_key: either profile_key or empty string to use common cache
1025 this parameter is used only when dest is empty
1026 doc_return=path to the new converted image