Imported Upstream version 0.7.13
Simon McVittie
15 years ago
0 | Tue Jul 29 12:26:41 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
1 | tagged telepathy-glib 0.7.13 | |
2 | ||
3 | Tue Jul 29 12:25:47 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
4 | * Bump version to 0.7.13 and libtool c:r:a to 14:0:14 | |
5 | ||
6 | Tue Jul 29 12:25:37 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
7 | * Commit to 0.7.13's ABI | |
8 | ||
9 | Tue Jul 29 12:25:20 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
10 | * TpPresenceMixin: commit to including the simple presence stuff in 0.7.13 | |
11 | ||
12 | Tue Jul 29 12:25:01 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
13 | * Update NEWS for 0.7.13 | |
14 | ||
15 | Thu Jul 24 17:06:24 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
16 | * Put SimplePresence in its own client side section | |
17 | ||
18 | Thu Jul 24 16:13:06 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
19 | * Add SimplePresence to the documentation | |
20 | ||
21 | Thu Jul 24 16:12:46 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
22 | * Also rename the documentation comments | |
23 | ||
24 | Wed Jul 23 18:50:20 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
25 | * Small coding-style fix | |
26 | ||
27 | Wed Jul 23 18:50:40 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
28 | * Remove trailing space | |
29 | ||
30 | Wed Jul 23 18:41:27 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
31 | * Add missing ; (woops) | |
32 | ||
33 | Wed Jul 23 18:35:12 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
34 | * s/Unreleased/UNRELEASED/ | |
35 | ||
36 | Wed Jul 23 18:34:50 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
37 | * Fix construct_simple_presence_hash definition to comply with tp coding style | |
38 | ||
39 | Fri Jul 18 17:14:52 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
40 | * Use tp_svc_connection_interface_simple_presence_return_from_get_presence instead of tp_svc_connection_interface_presence_return_from_get_presence in the SimplePresence GetPresences implementation | |
41 | ||
42 | Fri Jul 18 17:12:30 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
43 | * Reorder code so there is no need for a goto doing backflips | |
44 | ||
45 | Fri Jul 18 17:04:23 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
46 | * More explicit and clear naming for the functions referring to the SimplePresence interface | |
47 | ||
48 | Thu Jul 17 17:17:29 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
49 | * PresenceMixin: Set uint values using g_value_set_uint instead of g_value_set_string | |
50 | ||
51 | Thu Jul 17 17:17:06 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
52 | * PresenceMixin: Fix some typos | |
53 | ||
54 | Thu Jul 17 17:09:01 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
55 | * PresenceMixin: Set the message boolean in the Status property as per the merged version of SimplePresence | |
56 | ||
57 | Thu Jul 17 17:08:11 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
58 | * PresenceMixin: add type in GetPresences and PresencesChanged as per the merged version of SimplePresence | |
59 | ||
60 | Mon Jun 16 14:11:54 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
61 | * Coding style fix | |
62 | ||
63 | Mon Jun 16 14:11:38 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
64 | * language cleanup | |
65 | ||
66 | Mon Jun 16 12:22:50 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
67 | * Implement SimplePresence on top of the presence mixin | |
68 | ||
69 | Thu Jun 12 10:28:30 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
70 | * Generate code for the simple presence | |
71 | ||
72 | Thu Jul 24 18:21:26 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
73 | * Add tp_text_mixin_has_pending_messages | |
74 | ||
75 | The proposal of "closed text channels are resurrected if they still have | |
76 | incoming messages" is much easier to implement if we do this - it's possible | |
77 | to use tp_text_mixin_list_pending_messages(), but that does wasteful copying. | |
78 | ||
79 | The idea of returning the first sender handle is that callers can use it | |
80 | as the initiator of the resurrected channel. | |
81 | ||
82 | Wed Jul 23 22:59:25 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
83 | * Add tp_dbus_properties_mixin_get() | |
84 | ||
85 | Wed Jul 23 22:58:25 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
86 | * Remove unnecessary argument from dbus-properties-mixin internal functions | |
87 | ||
88 | Wed Jul 23 20:55:35 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
89 | * Update doc-generator.xsl from telepathy-spec 0.17.8 | |
90 | ||
91 | Wed Jul 23 20:53:55 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
92 | * Add Qualified_Property_Value_Map to gtkdoc | |
93 | ||
94 | Wed Jul 23 20:49:40 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
95 | * Update spec to 0.17.8 (add draft inspectotron spec) | |
96 | ||
97 | Thu Jul 17 16:45:11 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
98 | * Update to tp-spec head | |
99 | ||
100 | Mon Jun 16 12:21:36 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
101 | * Update the telepathy spec | |
102 | ||
103 | Thu Jun 12 16:41:49 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
104 | * Update SimplePresence spec | |
105 | ||
106 | Thu Jun 12 10:28:56 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
107 | * Add simple presence to EXTRA_DIST | |
108 | ||
109 | Thu Jun 12 10:28:01 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
110 | * Update preliminary simple presence spec | |
111 | ||
112 | Wed Jun 11 19:40:40 BST 2008 Sjoerd Simons <sjoerd@luon.net> | |
113 | * Add first iteration of SimplePresence interface | |
114 | ||
115 | Mon Jul 21 15:02:23 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
116 | * Correct spec-formatting issues in Hats example interface, as picked up by the new doc-generator.xsl | |
117 | ||
118 | Mon Jul 21 15:01:04 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
119 | * Update doc-generator.xsl from telepathy-spec | |
120 | ||
121 | Mon Jul 21 14:43:13 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
122 | * Tighten coding style checking | |
123 | ||
124 | Mon Jul 21 14:42:35 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
125 | * Remove unnecessary cast which tripped the new coding style check | |
126 | ||
127 | Mon Jul 21 14:38:34 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> | |
128 | * Nano version 0.7.12.1 | |
129 | ||
0 | 130 | Mon Jul 21 10:40:24 BST 2008 Simon McVittie <simon.mcvittie@collabora.co.uk> |
1 | 131 | tagged telepathy-glib 0.7.12 |
2 | 132 |
0 | telepathy-glib 0.7.13 (2008-07-29) | |
1 | ================================== | |
2 | ||
3 | The "presence made easy" release. | |
4 | ||
5 | Enhancements: | |
6 | ||
7 | * TpPresenceMixin implements the new SimplePresence interface | |
8 | ||
9 | * The spec text and doc-generator.xsl have been updated | |
10 | ||
11 | * The coding-style checks have been removed | |
12 | ||
13 | * A couple of supporting functions for Requests API development have | |
14 | been added (tp_text_mixin_has_pending_messages and | |
15 | tp_dbus_properties_mixin_get) | |
16 | ||
17 | Release notes for projects using code generation: | |
18 | ||
19 | * We now ship the more pedantic doc-generator.xsl from telepathy-spec 0.17.8: | |
20 | - you'll probably need to clean up your spec markup! | |
21 | - set the allow-undefined-interfaces XSLT parameter to a true value (e.g. | |
22 | run xsltproc with --param allow-undefined-interfaces "true()") if you are | |
23 | compiling documentation for interfaces that are not self-contained | |
24 | (e.g. Telepathy extensions that reference the main Telepathy spec) | |
25 | ||
26 | * If you're trying to use Telepathy coding style, upgrading the coding-style | |
27 | checks is recommended, but might require you to make code changes | |
28 | ||
0 | 29 | telepathy-glib 0.7.12 (2008-07-21) |
1 | 30 | ================================== |
2 | 31 |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.61 for Telepathy-GLib 0.7.12. | |
2 | # Generated by GNU Autoconf 2.61 for Telepathy-GLib 0.7.13. | |
3 | 3 | # |
4 | 4 | # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy>. |
5 | 5 | # |
727 | 727 | # Identity of this package. |
728 | 728 | PACKAGE_NAME='Telepathy-GLib' |
729 | 729 | PACKAGE_TARNAME='telepathy-glib' |
730 | PACKAGE_VERSION='0.7.12' | |
731 | PACKAGE_STRING='Telepathy-GLib 0.7.12' | |
730 | PACKAGE_VERSION='0.7.13' | |
731 | PACKAGE_STRING='Telepathy-GLib 0.7.13' | |
732 | 732 | PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy' |
733 | 733 | |
734 | 734 | # Factoring default headers for most tests. |
1428 | 1428 | # Omit some internal or obsolete options to make the list less imposing. |
1429 | 1429 | # This message is too long to be a string in the A/UX 3.1 sh. |
1430 | 1430 | cat <<_ACEOF |
1431 | \`configure' configures Telepathy-GLib 0.7.12 to adapt to many kinds of systems. | |
1431 | \`configure' configures Telepathy-GLib 0.7.13 to adapt to many kinds of systems. | |
1432 | 1432 | |
1433 | 1433 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1434 | 1434 | |
1498 | 1498 | |
1499 | 1499 | if test -n "$ac_init_help"; then |
1500 | 1500 | case $ac_init_help in |
1501 | short | recursive ) echo "Configuration of Telepathy-GLib 0.7.12:";; | |
1501 | short | recursive ) echo "Configuration of Telepathy-GLib 0.7.13:";; | |
1502 | 1502 | esac |
1503 | 1503 | cat <<\_ACEOF |
1504 | 1504 | |
1625 | 1625 | test -n "$ac_init_help" && exit $ac_status |
1626 | 1626 | if $ac_init_version; then |
1627 | 1627 | cat <<\_ACEOF |
1628 | Telepathy-GLib configure 0.7.12 | |
1628 | Telepathy-GLib configure 0.7.13 | |
1629 | 1629 | generated by GNU Autoconf 2.61 |
1630 | 1630 | |
1631 | 1631 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
1639 | 1639 | This file contains any messages produced by compilers while |
1640 | 1640 | running configure, to aid debugging if configure makes a mistake. |
1641 | 1641 | |
1642 | It was created by Telepathy-GLib $as_me 0.7.12, which was | |
1642 | It was created by Telepathy-GLib $as_me 0.7.13, which was | |
1643 | 1643 | generated by GNU Autoconf 2.61. Invocation command line was |
1644 | 1644 | |
1645 | 1645 | $ $0 $@ |
2312 | 2312 | |
2313 | 2313 | # Define the identity of the package. |
2314 | 2314 | PACKAGE='telepathy-glib' |
2315 | VERSION='0.7.12' | |
2315 | VERSION='0.7.13' | |
2316 | 2316 | |
2317 | 2317 | |
2318 | 2318 | cat >>confdefs.h <<_ACEOF |
20489 | 20489 | |
20490 | 20490 | |
20491 | 20491 | |
20492 | LT_CURRENT=13 | |
20492 | LT_CURRENT=14 | |
20493 | 20493 | LT_REVISION=0 |
20494 | LT_AGE=13 | |
20494 | LT_AGE=14 | |
20495 | 20495 | |
20496 | 20496 | |
20497 | 20497 | |
22697 | 22697 | # report actual input values of CONFIG_FILES etc. instead of their |
22698 | 22698 | # values after options handling. |
22699 | 22699 | ac_log=" |
22700 | This file was extended by Telepathy-GLib $as_me 0.7.12, which was | |
22700 | This file was extended by Telepathy-GLib $as_me 0.7.13, which was | |
22701 | 22701 | generated by GNU Autoconf 2.61. Invocation command line was |
22702 | 22702 | |
22703 | 22703 | CONFIG_FILES = $CONFIG_FILES |
22750 | 22750 | _ACEOF |
22751 | 22751 | cat >>$CONFIG_STATUS <<_ACEOF |
22752 | 22752 | ac_cs_version="\\ |
22753 | Telepathy-GLib config.status 0.7.12 | |
22753 | Telepathy-GLib config.status 0.7.13 | |
22754 | 22754 | configured by $0, generated by GNU Autoconf 2.61, |
22755 | 22755 | with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" |
22756 | 22756 |
10 | 10 | |
11 | 11 | m4_define([tp_glib_major_version], [0]) |
12 | 12 | m4_define([tp_glib_minor_version], [7]) |
13 | m4_define([tp_glib_micro_version], [12]) | |
13 | m4_define([tp_glib_micro_version], [13]) | |
14 | 14 | m4_define([tp_glib_nano_version], [0]) |
15 | 15 | |
16 | 16 | # If library source has changed since last release, increment revision |
25 | 25 | # (we don't guarantee that we won't add ABI then remove it again, if it was |
26 | 26 | # never seen in a release). |
27 | 27 | |
28 | m4_define([tp_glib_lt_current], [13]) | |
28 | m4_define([tp_glib_lt_current], [14]) | |
29 | 29 | m4_define([tp_glib_lt_revision], [0]) |
30 | m4_define([tp_glib_lt_age], [13]) | |
30 | m4_define([tp_glib_lt_age], [14]) | |
31 | 31 | |
32 | 32 | # Some magic |
33 | 33 | m4_define([tp_glib_base_version], |
45 | 45 | <span class="refentrytitle"><a href="telepathy-glib-connection-caps.html">Connection Capabilities interface</a></span><span class="refpurpose"> — client-side wrappers for the Capabilities interface</span> |
46 | 46 | </dt> |
47 | 47 | <dt> |
48 | <span class="refentrytitle"><a href="telepathy-glib-connection-simple-presence.html">Connection SimplePresence interface</a></span><span class="refpurpose"> — client-side wrappers for the SimplePresence interface</span> | |
49 | </dt> | |
50 | <dt> | |
48 | 51 | <span class="refentrytitle"><a href="telepathy-glib-connection-presence.html">Connection Presence interface</a></span><span class="refpurpose"> — client-side wrappers for the Presence interface</span> |
49 | 52 | </dt> |
50 | 53 | <dt> |
95 | 95 | <span class="refentrytitle"><a href="telepathy-glib-connection-caps.html">Connection Capabilities interface</a></span><span class="refpurpose"> — client-side wrappers for the Capabilities interface</span> |
96 | 96 | </dt> |
97 | 97 | <dt> |
98 | <span class="refentrytitle"><a href="telepathy-glib-connection-simple-presence.html">Connection SimplePresence interface</a></span><span class="refpurpose"> — client-side wrappers for the SimplePresence interface</span> | |
99 | </dt> | |
100 | <dt> | |
98 | 101 | <span class="refentrytitle"><a href="telepathy-glib-connection-presence.html">Connection Presence interface</a></span><span class="refpurpose"> — client-side wrappers for the Presence interface</span> |
99 | 102 | </dt> |
100 | 103 | <dt> |
217 | 217 | <ANCHOR id="TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS"> |
218 | 218 | <ANCHOR id="TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS"> |
219 | 219 | <ANCHOR id="TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS"> |
220 | <ANCHOR id="TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"> | |
221 | <ANCHOR id="TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"> | |
220 | 222 | <ANCHOR id="TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS"> |
221 | 223 | <ANCHOR id="TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS"> |
222 | 224 | <ANCHOR id="TP-IFACE-CHANNEL:CAPS" href="telepathy-glib/telepathy-glib-interfaces.html#TP-IFACE-CHANNEL:CAPS"> |
324 | 326 | <ANCHOR id="tp-dbus-specialized-value-slice-new" href="telepathy-glib/telepathy-glib-gtypes.html#tp-dbus-specialized-value-slice-new"> |
325 | 327 | <ANCHOR id="TP-HASH-TYPE-STRING-STRING-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-STRING-MAP:CAPS"> |
326 | 328 | <ANCHOR id="TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS"> |
329 | <ANCHOR id="TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS"> | |
327 | 330 | <ANCHOR id="TP-STRUCT-TYPE-PARAM-SPEC:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-STRUCT-TYPE-PARAM-SPEC:CAPS"> |
328 | 331 | <ANCHOR id="TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS"> |
329 | 332 | <ANCHOR id="TP-STRUCT-TYPE-CHANNEL-INFO:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CHANNEL-INFO:CAPS"> |
338 | 341 | <ANCHOR id="TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS"> |
339 | 342 | <ANCHOR id="TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS"> |
340 | 343 | <ANCHOR id="TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS"> |
344 | <ANCHOR id="TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS"> | |
345 | <ANCHOR id="TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS"> | |
346 | <ANCHOR id="TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS"> | |
347 | <ANCHOR id="TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS"> | |
341 | 348 | <ANCHOR id="TP-HASH-TYPE-CONTACT-PRESENCES:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-CONTACT-PRESENCES:CAPS"> |
342 | 349 | <ANCHOR id="TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS"> |
343 | 350 | <ANCHOR id="TP-HASH-TYPE-STATUS-SPEC-MAP:CAPS" href="telepathy-glib/telepathy-glib-gtypes.html#TP-HASH-TYPE-STATUS-SPEC-MAP:CAPS"> |
548 | 555 | <ANCHOR id="tp-cli-connection-interface-capabilities-connect-to-capabilities-changed" href="telepathy-glib/telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-connect-to-capabilities-changed"> |
549 | 556 | <ANCHOR id="tp-cli-connection-interface-capabilities-signal-callback-capabilities-changed" href="telepathy-glib/telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-signal-callback-capabilities-changed"> |
550 | 557 | <ANCHOR id="telepathy-glib-connection-caps.see-also" href="telepathy-glib/telepathy-glib-connection-caps.html#telepathy-glib-connection-caps.see-also"> |
558 | <ANCHOR id="telepathy-glib-connection-simple-presence" href="telepathy-glib/telepathy-glib-connection-simple-presence.html"> | |
559 | <ANCHOR id="telepathy-glib-connection-simple-presence.synopsis" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#telepathy-glib-connection-simple-presence.synopsis"> | |
560 | <ANCHOR id="telepathy-glib-connection-simple-presence.description" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#telepathy-glib-connection-simple-presence.description"> | |
561 | <ANCHOR id="telepathy-glib-connection-simple-presence.details" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#telepathy-glib-connection-simple-presence.details"> | |
562 | <ANCHOR id="tp-cli-connection-interface-simple-presence-run-get-presences" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-get-presences"> | |
563 | <ANCHOR id="tp-cli-connection-interface-simple-presence-run-set-presence" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-set-presence"> | |
564 | <ANCHOR id="tp-cli-connection-interface-simple-presence-call-get-presences" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-get-presences"> | |
565 | <ANCHOR id="tp-cli-connection-interface-simple-presence-call-set-presence" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-set-presence"> | |
566 | <ANCHOR id="tp-cli-connection-interface-simple-presence-callback-for-get-presences" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences"> | |
567 | <ANCHOR id="tp-cli-connection-interface-simple-presence-callback-for-set-presence" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence"> | |
568 | <ANCHOR id="tp-cli-connection-interface-simple-presence-connect-to-presences-changed" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-connect-to-presences-changed"> | |
569 | <ANCHOR id="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed"> | |
570 | <ANCHOR id="telepathy-glib-connection-simple-presence.see-also" href="telepathy-glib/telepathy-glib-connection-simple-presence.html#telepathy-glib-connection-simple-presence.see-also"> | |
551 | 571 | <ANCHOR id="telepathy-glib-connection-presence" href="telepathy-glib/telepathy-glib-connection-presence.html"> |
552 | 572 | <ANCHOR id="telepathy-glib-connection-presence.synopsis" href="telepathy-glib/telepathy-glib-connection-presence.html#telepathy-glib-connection-presence.synopsis"> |
553 | 573 | <ANCHOR id="telepathy-glib-connection-presence.description" href="telepathy-glib/telepathy-glib-connection-presence.html#telepathy-glib-connection-presence.description"> |
1212 | 1232 | <ANCHOR id="tp-svc-connection-return-from-request-handles" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-return-from-request-handles"> |
1213 | 1233 | <ANCHOR id="tp-svc-connection-emit-new-channel" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-emit-new-channel"> |
1214 | 1234 | <ANCHOR id="tp-svc-connection-emit-status-changed" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-emit-status-changed"> |
1235 | <ANCHOR id="TpSvcConnectionInterfaceSimplePresence" href="telepathy-glib/telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence"> | |
1236 | <ANCHOR id="TpSvcConnectionInterfaceSimplePresenceClass" href="telepathy-glib/telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass"> | |
1237 | <ANCHOR id="tp-svc-connection-interface-simple-presence-emit-presences-changed" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-emit-presences-changed"> | |
1238 | <ANCHOR id="tp-svc-connection-interface-simple-presence-get-presences-impl" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl"> | |
1239 | <ANCHOR id="tp-svc-connection-interface-simple-presence-implement-get-presences" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-get-presences"> | |
1240 | <ANCHOR id="tp-svc-connection-interface-simple-presence-implement-set-presence" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-set-presence"> | |
1241 | <ANCHOR id="tp-svc-connection-interface-simple-presence-return-from-get-presences" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-get-presences"> | |
1242 | <ANCHOR id="tp-svc-connection-interface-simple-presence-return-from-set-presence" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-set-presence"> | |
1243 | <ANCHOR id="tp-svc-connection-interface-simple-presence-set-presence-impl" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl"> | |
1215 | 1244 | <ANCHOR id="TpSvcConnectionInterfacePresence" href="telepathy-glib/telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresence"> |
1216 | 1245 | <ANCHOR id="TpSvcConnectionInterfacePresenceClass" href="telepathy-glib/telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresenceClass"> |
1217 | 1246 | <ANCHOR id="tp-svc-connection-interface-presence-add-status-impl" href="telepathy-glib/telepathy-glib-svc-connection.html#tp-svc-connection-interface-presence-add-status-impl"> |
1457 | 1486 | <ANCHOR id="tp-dbus-properties-mixin-class-init" href="telepathy-glib/telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-class-init"> |
1458 | 1487 | <ANCHOR id="tp-dbus-properties-mixin-implement-interface" href="telepathy-glib/telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-implement-interface"> |
1459 | 1488 | <ANCHOR id="tp-dbus-properties-mixin-iface-init" href="telepathy-glib/telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-iface-init"> |
1489 | <ANCHOR id="tp-dbus-properties-mixin-get" href="telepathy-glib/telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-get"> | |
1460 | 1490 | <ANCHOR id="telepathy-glib-dbus-properties-mixin.see-also" href="telepathy-glib/telepathy-glib-dbus-properties-mixin.html#telepathy-glib-dbus-properties-mixin.see-also"> |
1461 | 1491 | <ANCHOR id="telepathy-glib-TpPresenceMixin" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html"> |
1462 | 1492 | <ANCHOR id="telepathy-glib-TpPresenceMixin.synopsis" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#telepathy-glib-TpPresenceMixin.synopsis"> |
1478 | 1508 | <ANCHOR id="tp-presence-mixin-emit-presence-update" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-presence-update"> |
1479 | 1509 | <ANCHOR id="tp-presence-mixin-emit-one-presence-update" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-one-presence-update"> |
1480 | 1510 | <ANCHOR id="tp-presence-mixin-iface-init" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-iface-init"> |
1511 | <ANCHOR id="tp-presence-mixin-simple-presence-iface-init" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-iface-init"> | |
1512 | <ANCHOR id="tp-presence-mixin-simple-presence-init-dbus-properties" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-init-dbus-properties"> | |
1481 | 1513 | <ANCHOR id="telepathy-glib-TpPresenceMixin.see-also" href="telepathy-glib/telepathy-glib-TpPresenceMixin.html#telepathy-glib-TpPresenceMixin.see-also"> |
1482 | 1514 | <ANCHOR id="telepathy-glib-TpPropertiesMixin" href="telepathy-glib/telepathy-glib-TpPropertiesMixin.html"> |
1483 | 1515 | <ANCHOR id="telepathy-glib-TpPropertiesMixin.synopsis" href="telepathy-glib/telepathy-glib-TpPropertiesMixin.html#telepathy-glib-TpPropertiesMixin.synopsis"> |
1572 | 1604 | <ANCHOR id="tp-text-mixin-list-pending-messages" href="telepathy-glib/telepathy-glib-TpTextMixin.html#tp-text-mixin-list-pending-messages"> |
1573 | 1605 | <ANCHOR id="tp-text-mixin-get-message-types" href="telepathy-glib/telepathy-glib-TpTextMixin.html#tp-text-mixin-get-message-types"> |
1574 | 1606 | <ANCHOR id="tp-text-mixin-clear" href="telepathy-glib/telepathy-glib-TpTextMixin.html#tp-text-mixin-clear"> |
1607 | <ANCHOR id="tp-text-mixin-has-pending-messages" href="telepathy-glib/telepathy-glib-TpTextMixin.html#tp-text-mixin-has-pending-messages"> | |
1575 | 1608 | <ANCHOR id="tp-text-mixin-iface-init" href="telepathy-glib/telepathy-glib-TpTextMixin.html#tp-text-mixin-iface-init"> |
1576 | 1609 | <ANCHOR id="telepathy-glib-TpTextMixin.see-also" href="telepathy-glib/telepathy-glib-TpTextMixin.html#telepathy-glib-TpTextMixin.see-also"> |
1577 | 1610 | <ANCHOR id="telepathy-glib-handle-repo" href="telepathy-glib/telepathy-glib-handle-repo.html"> |
126 | 126 | <a |
127 | 127 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" |
128 | 128 | >gpointer</a> iface_data); |
129 | void <a class="link" href="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-iface-init" title="tp_presence_mixin_simple_presence_iface_init ()">tp_presence_mixin_simple_presence_iface_init</a> | |
130 | (<a | |
131 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
132 | >gpointer</a> g_iface, | |
133 | <a | |
134 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
135 | >gpointer</a> iface_data); | |
136 | void <a class="link" href="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-init-dbus-properties" title="tp_presence_mixin_simple_presence_init_dbus_properties ()">tp_presence_mixin_simple_presence_init_dbus_properties</a> | |
137 | (<a | |
138 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObjectClass" | |
139 | >GObjectClass</a> *cls); | |
129 | 140 | </pre> |
130 | 141 | </div> |
131 | 142 | <div class="refsect1" lang="en"> |
155 | 166 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresence" title="TpSvcConnectionInterfacePresence"><span class="type">TpSvcConnectionInterfacePresence</span></a>, in the function you pass to |
156 | 167 | G_IMPLEMENT_INTERFACE, you should call tp_presence_mixin_iface_init. |
157 | 168 | TpPresenceMixin implements all of the D-Bus methods in the Presence |
158 | interface.</p> | |
169 | interface. | |
170 | </p> | |
171 | <p> | |
172 | Since 0.7.13 you can also implement | |
173 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence"><span class="type">TpSvcConnectionInterfaceSimplePresence</span></a> by using this mixin, in this case | |
174 | you should pass tp_presence_mixin_iface_init as an argument to | |
175 | G_IMPLEMENT_INTERFACE. Note that this can cause the status_available | |
176 | callback to be called while disconnected. Also to fully implement this | |
177 | interface some dbus properties need to be supported. To do that using this | |
178 | mixin the instance needs to use the dbus properties mixin and call | |
179 | tp_presence_mixin_simple_presence_init_dbus_properties in the class init | |
180 | function</p> | |
159 | 181 | <p> |
160 | 182 | |
161 | 183 | </p> |
270 | 292 | >guint</a> which);</pre> |
271 | 293 | <p> |
272 | 294 | Signature of the callback used to determine if a given status is currently |
273 | available to be set on the connection.</p> | |
295 | available to be set on the connection. | |
296 | </p> | |
297 | <p> | |
298 | When implementing the | |
299 | org.freedesktop.Telepathy.Connection.Interface.SimplePresence interface | |
300 | this can be called while DISCONNECTED to determine which statuses can be set | |
301 | in that state.</p> | |
274 | 302 | <p> |
275 | 303 | |
276 | 304 | </p> |
820 | 848 | </tbody> |
821 | 849 | </table></div> |
822 | 850 | </div> |
851 | <hr> | |
852 | <div class="refsect2" lang="en"> | |
853 | <a name="tp-presence-mixin-simple-presence-iface-init"></a><h3>tp_presence_mixin_simple_presence_iface_init ()</h3> | |
854 | <pre class="programlisting">void tp_presence_mixin_simple_presence_iface_init | |
855 | (<a | |
856 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
857 | >gpointer</a> g_iface, | |
858 | <a | |
859 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
860 | >gpointer</a> iface_data);</pre> | |
861 | <p> | |
862 | Fill in the vtable entries needed to implement the simple presence interface | |
863 | using this mixin. This function should usually be called via | |
864 | G_IMPLEMENT_INTERFACE.</p> | |
865 | <p> | |
866 | ||
867 | </p> | |
868 | <div class="variablelist"><table border="0"> | |
869 | <col align="left" valign="top"> | |
870 | <tbody> | |
871 | <tr> | |
872 | <td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td> | |
873 | <td> A pointer to the <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass"><span class="type">TpSvcConnectionInterfaceSimplePresenceClass</span></a> in | |
874 | an object class | |
875 | </td> | |
876 | </tr> | |
877 | <tr> | |
878 | <td><p><span class="term"><em class="parameter"><code>iface_data</code></em> :</span></p></td> | |
879 | <td> Ignored | |
880 | </td> | |
881 | </tr> | |
882 | </tbody> | |
883 | </table></div> | |
884 | <p class="since">Since 0.7.13 | |
885 | </p> | |
886 | </div> | |
887 | <hr> | |
888 | <div class="refsect2" lang="en"> | |
889 | <a name="tp-presence-mixin-simple-presence-init-dbus-properties"></a><h3>tp_presence_mixin_simple_presence_init_dbus_properties ()</h3> | |
890 | <pre class="programlisting">void tp_presence_mixin_simple_presence_init_dbus_properties | |
891 | (<a | |
892 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObjectClass" | |
893 | >GObjectClass</a> *cls);</pre> | |
894 | <p> | |
895 | Set up <a class="link" href="telepathy-glib-dbus-properties-mixin.html#TpDBusPropertiesMixinClass" title="TpDBusPropertiesMixinClass"><span class="type">TpDBusPropertiesMixinClass</span></a> to use this mixin's implementation of | |
896 | the SimplePresence interface's properties. | |
897 | </p> | |
898 | <p> | |
899 | This uses <code class="function">tp_presence_mixin_get_simple_dbus_property()</code> as the property | |
900 | getter and sets up a list of the supported properties for it.</p> | |
901 | <p> | |
902 | ||
903 | </p> | |
904 | <div class="variablelist"><table border="0"> | |
905 | <col align="left" valign="top"> | |
906 | <tbody><tr> | |
907 | <td><p><span class="term"><em class="parameter"><code>cls</code></em> :</span></p></td> | |
908 | <td> The class of an object with this mixin | |
909 | </td> | |
910 | </tr></tbody> | |
911 | </table></div> | |
912 | <p class="since">Since 0.7.13 | |
913 | </p> | |
914 | </div> | |
823 | 915 | </div> |
824 | 916 | <div class="refsect1" lang="en"> |
825 | 917 | <a name="telepathy-glib-TpPresenceMixin.see-also"></a><h2>See Also</h2> |
123 | 123 | void <a class="link" href="telepathy-glib-TpTextMixin.html#tp-text-mixin-clear" title="tp_text_mixin_clear ()">tp_text_mixin_clear</a> (<a |
124 | 124 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" |
125 | 125 | >GObject</a> *obj); |
126 | <a | |
127 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
128 | >gboolean</a> <a class="link" href="telepathy-glib-TpTextMixin.html#tp-text-mixin-has-pending-messages" title="tp_text_mixin_has_pending_messages ()">tp_text_mixin_has_pending_messages</a> (<a | |
129 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
130 | >GObject</a> *obj, | |
131 | <a class="link" href="telepathy-glib-handle.html#TpHandle" title="TpHandle">TpHandle</a> *first_sender); | |
126 | 132 | void <a class="link" href="telepathy-glib-TpTextMixin.html#tp-text-mixin-iface-init" title="tp_text_mixin_iface_init ()">tp_text_mixin_iface_init</a> (<a |
127 | 133 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" |
128 | 134 | >gpointer</a> g_iface, |
599 | 605 | </div> |
600 | 606 | <hr> |
601 | 607 | <div class="refsect2" lang="en"> |
608 | <a name="tp-text-mixin-has-pending-messages"></a><h3>tp_text_mixin_has_pending_messages ()</h3> | |
609 | <pre class="programlisting"><a | |
610 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
611 | >gboolean</a> tp_text_mixin_has_pending_messages (<a | |
612 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
613 | >GObject</a> *obj, | |
614 | <a class="link" href="telepathy-glib-handle.html#TpHandle" title="TpHandle">TpHandle</a> *first_sender);</pre> | |
615 | <p> | |
616 | Return whether the channel <em class="parameter"><code>obj</code></em> has unacknowledged messages. If so, and | |
617 | <em class="parameter"><code>first_sender</code></em> is not <a | |
618 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
619 | ><code class="literal">NULL</code></a>, the handle of the sender of the first message | |
620 | is placed in it, without incrementing the handle's reference count.</p> | |
621 | <p> | |
622 | ||
623 | </p> | |
624 | <div class="variablelist"><table border="0"> | |
625 | <col align="left" valign="top"> | |
626 | <tbody> | |
627 | <tr> | |
628 | <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td> | |
629 | <td> An object with this mixin | |
630 | </td> | |
631 | </tr> | |
632 | <tr> | |
633 | <td><p><span class="term"><em class="parameter"><code>first_sender</code></em> :</span></p></td> | |
634 | <td> If not <a | |
635 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
636 | ><code class="literal">NULL</code></a>, used to store the sender of the oldest pending | |
637 | message | |
638 | </td> | |
639 | </tr> | |
640 | <tr> | |
641 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
642 | <td> <a | |
643 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS" | |
644 | ><code class="literal">TRUE</code></a> if there are pending messages | |
645 | </td> | |
646 | </tr> | |
647 | </tbody> | |
648 | </table></div> | |
649 | </div> | |
650 | <hr> | |
651 | <div class="refsect2" lang="en"> | |
602 | 652 | <a name="tp-text-mixin-iface-init"></a><h3>tp_text_mixin_iface_init ()</h3> |
603 | 653 | <pre class="programlisting">void tp_text_mixin_iface_init (<a |
604 | 654 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" |
6 | 6 | <link rel="start" href="index.html" title="telepathy-glib Reference Manual"> |
7 | 7 | <link rel="up" href="ch-client.html" title="Client-side proxies"> |
8 | 8 | <link rel="prev" href="telepathy-glib-connection-avatars.html" title="Connection Avatars interface"> |
9 | <link rel="next" href="telepathy-glib-connection-presence.html" title="Connection Presence interface"> | |
9 | <link rel="next" href="telepathy-glib-connection-simple-presence.html" title="Connection SimplePresence interface"> | |
10 | 10 | <meta name="generator" content="GTK-Doc V1.10 (XML mode)"> |
11 | 11 | <link rel="stylesheet" href="style.css" type="text/css"> |
12 | 12 | <link rel="chapter" href="ch-dbus.html" title="General D-Bus support"> |
24 | 24 | <td><a accesskey="u" href="ch-client.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
25 | 25 | <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
26 | 26 | <th width="100%" align="center">telepathy-glib Reference Manual</th> |
27 | <td><a accesskey="n" href="telepathy-glib-connection-presence.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> | |
27 | <td><a accesskey="n" href="telepathy-glib-connection-simple-presence.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> | |
28 | 28 | </tr> |
29 | 29 | <tr><td colspan="5" class="shortcuts"><nobr><a href="#telepathy-glib-connection-caps.synopsis" class="shortcut">Top</a> |
30 | 30 | | |
230 | 230 | state. |
231 | 231 | </p> |
232 | 232 | <p> |
233 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) the by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></p> | |
233 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></p> | |
234 | 234 | <p> |
235 | 235 | |
236 | 236 | </p> |
329 | 329 | state. |
330 | 330 | </p> |
331 | 331 | <p> |
332 | Returns an array of capabilities for the given contact handles, or the connection itself (where handle is zero).</p> | |
332 | Returns an array of capabilities for the given contact handles.</p> | |
333 | 333 | <p> |
334 | 334 | |
335 | 335 | </p> |
348 | 348 | </tr> |
349 | 349 | <tr> |
350 | 350 | <td><p><span class="term"><em class="parameter"><code>in_handles</code></em> :</span></p></td> |
351 | <td> Used to pass an 'in' argument: An array of contact handles for this connection, or zero to query capabilities available on the connection itself | |
351 | <td> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>An array of contact handles for this connection.</p> <p>This may include zero, which originally meant a query for capabilities available on the connection itself. This usage is deprecated; clients SHOULD NOT do this, and connection managers SHOULD proceed as though zero had not been present in this list.</p> | |
352 | 352 | </td> |
353 | 353 | </tr> |
354 | 354 | <tr> |
355 | 355 | <td><p><span class="term"><em class="parameter"><code>out0</code></em> :</span></p></td> |
356 | 356 | <td> Used to return an 'out' argument if <a |
357 | 357 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS" |
358 | ><code class="literal">TRUE</code></a> is returned: An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
358 | ><code class="literal">TRUE</code></a> is returned: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
359 | 359 | </td> |
360 | 360 | </tr> |
361 | 361 | <tr> |
421 | 421 | Start a AdvertiseCapabilities method call. |
422 | 422 | </p> |
423 | 423 | <p> |
424 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) the by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></p> | |
424 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></p> | |
425 | 425 | <p> |
426 | 426 | |
427 | 427 | </p> |
531 | 531 | Start a GetCapabilities method call. |
532 | 532 | </p> |
533 | 533 | <p> |
534 | Returns an array of capabilities for the given contact handles, or the connection itself (where handle is zero).</p> | |
534 | Returns an array of capabilities for the given contact handles.</p> | |
535 | 535 | <p> |
536 | 536 | |
537 | 537 | </p> |
551 | 551 | </tr> |
552 | 552 | <tr> |
553 | 553 | <td><p><span class="term"><em class="parameter"><code>in_handles</code></em> :</span></p></td> |
554 | <td> Used to pass an 'in' argument: An array of contact handles for this connection, or zero to query capabilities available on the connection itself | |
554 | <td> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>An array of contact handles for this connection.</p> <p>This may include zero, which originally meant a query for capabilities available on the connection itself. This usage is deprecated; clients SHOULD NOT do this, and connection managers SHOULD proceed as though zero had not been present in this list.</p> | |
555 | 555 | </td> |
556 | 556 | </tr> |
557 | 557 | <tr> |
704 | 704 | <td><p><span class="term"><em class="parameter"><code>out0</code></em> :</span></p></td> |
705 | 705 | <td> Used to return an 'out' argument if <em class="parameter"><code>error</code></em> is <a |
706 | 706 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" |
707 | ><code class="literal">NULL</code></a>: An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
707 | ><code class="literal">NULL</code></a>: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
708 | 708 | </td> |
709 | 709 | </tr> |
710 | 710 | <tr> |
749 | 749 | Connect a handler to the signal CapabilitiesChanged. |
750 | 750 | </p> |
751 | 751 | <p> |
752 | Announce that there has been a change of capabilities on the given handle, or on the connection itself if the handle is zero.</p> | |
752 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Announce that there has been a change of capabilities on the given handle.</p> <p>If the handle is zero, the capabilities refer to the connection itself, in some poorly defined way. This usage is deprecated and clients should ignore it.</p></p> | |
753 | 753 | <p> |
754 | 754 | |
755 | 755 | </p> |
5 | 5 | <meta name="generator" content="DocBook XSL Stylesheets V1.73.2"> |
6 | 6 | <link rel="start" href="index.html" title="telepathy-glib Reference Manual"> |
7 | 7 | <link rel="up" href="ch-client.html" title="Client-side proxies"> |
8 | <link rel="prev" href="telepathy-glib-connection-caps.html" title="Connection Capabilities interface"> | |
8 | <link rel="prev" href="telepathy-glib-connection-simple-presence.html" title="Connection SimplePresence interface"> | |
9 | 9 | <link rel="next" href="telepathy-glib-channel.html" title="TpChannel"> |
10 | 10 | <meta name="generator" content="GTK-Doc V1.10 (XML mode)"> |
11 | 11 | <link rel="stylesheet" href="style.css" type="text/css"> |
20 | 20 | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
21 | 21 | <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
22 | 22 | <tr valign="middle"> |
23 | <td><a accesskey="p" href="telepathy-glib-connection-caps.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> | |
23 | <td><a accesskey="p" href="telepathy-glib-connection-simple-presence.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> | |
24 | 24 | <td><a accesskey="u" href="ch-client.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
25 | 25 | <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
26 | 26 | <th width="100%" align="center">telepathy-glib Reference Manual</th> |
0 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
1 | <html> | |
2 | <head> | |
3 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
4 | <title>Connection SimplePresence interface</title> | |
5 | <meta name="generator" content="DocBook XSL Stylesheets V1.73.2"> | |
6 | <link rel="start" href="index.html" title="telepathy-glib Reference Manual"> | |
7 | <link rel="up" href="ch-client.html" title="Client-side proxies"> | |
8 | <link rel="prev" href="telepathy-glib-connection-caps.html" title="Connection Capabilities interface"> | |
9 | <link rel="next" href="telepathy-glib-connection-presence.html" title="Connection Presence interface"> | |
10 | <meta name="generator" content="GTK-Doc V1.10 (XML mode)"> | |
11 | <link rel="stylesheet" href="style.css" type="text/css"> | |
12 | <link rel="chapter" href="ch-dbus.html" title="General D-Bus support"> | |
13 | <link rel="chapter" href="ch-protocol.html" title="The Telepathy protocol"> | |
14 | <link rel="chapter" href="ch-client.html" title="Client-side proxies"> | |
15 | <link rel="chapter" href="ch-service-dbus.html" title="Service-side D-Bus interfaces"> | |
16 | <link rel="chapter" href="ch-service-base.html" title="Service-side implementation"> | |
17 | <link rel="chapter" href="ch-service-handles.html" title="Service-side handle repositories"> | |
18 | <link rel="chapter" href="ch-utilities.html" title="Utilities"> | |
19 | </head> | |
20 | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> | |
21 | <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> | |
22 | <tr valign="middle"> | |
23 | <td><a accesskey="p" href="telepathy-glib-connection-caps.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> | |
24 | <td><a accesskey="u" href="ch-client.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> | |
25 | <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> | |
26 | <th width="100%" align="center">telepathy-glib Reference Manual</th> | |
27 | <td><a accesskey="n" href="telepathy-glib-connection-presence.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> | |
28 | </tr> | |
29 | <tr><td colspan="5" class="shortcuts"><nobr><a href="#telepathy-glib-connection-simple-presence.synopsis" class="shortcut">Top</a> | |
30 | | | |
31 | <a href="#telepathy-glib-connection-simple-presence.description" class="shortcut">Description</a></nobr></td></tr> | |
32 | </table> | |
33 | <div class="refentry" lang="en"> | |
34 | <a name="telepathy-glib-connection-simple-presence"></a><div class="titlepage"></div> | |
35 | <div class="refnamediv"><table width="100%"><tr> | |
36 | <td valign="top"> | |
37 | <h2><span class="refentrytitle"><a name="telepathy-glib-connection-simple-presence.top_of_page"></a>Connection SimplePresence interface</span></h2> | |
38 | <p>Connection SimplePresence interface — client-side wrappers for the SimplePresence interface</p> | |
39 | </td> | |
40 | <td valign="top" align="right"></td> | |
41 | </tr></table></div> | |
42 | <div class="refsynopsisdiv"> | |
43 | <a name="telepathy-glib-connection-simple-presence.synopsis"></a><h2>Synopsis</h2> | |
44 | <pre class="synopsis"> | |
45 | ||
46 | #include <telepathy-glib/connection.h> | |
47 | ||
48 | <a | |
49 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
50 | >gboolean</a> <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-get-presences" title="tp_cli_connection_interface_simple_presence_run_get_presences ()">tp_cli_connection_interface_simple_presence_run_get_presences</a> | |
51 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
52 | <a | |
53 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
54 | >gint</a> timeout_ms, | |
55 | const <a | |
56 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
57 | >GArray</a> *in_contacts, | |
58 | <a | |
59 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
60 | >GHashTable</a> **out_presence, | |
61 | <a | |
62 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
63 | >GError</a> **error, | |
64 | <a | |
65 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
66 | >GMainLoop</a> **loop); | |
67 | <a | |
68 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
69 | >gboolean</a> <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-set-presence" title="tp_cli_connection_interface_simple_presence_run_set_presence ()">tp_cli_connection_interface_simple_presence_run_set_presence</a> | |
70 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
71 | <a | |
72 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
73 | >gint</a> timeout_ms, | |
74 | const <a | |
75 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
76 | >gchar</a> *in_status, | |
77 | const <a | |
78 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
79 | >gchar</a> *in_status_message, | |
80 | <a | |
81 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
82 | >GError</a> **error, | |
83 | <a | |
84 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
85 | >GMainLoop</a> **loop); | |
86 | <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a>* <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-get-presences" title="tp_cli_connection_interface_simple_presence_call_get_presences ()">tp_cli_connection_interface_simple_presence_call_get_presences</a> | |
87 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
88 | <a | |
89 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
90 | >gint</a> timeout_ms, | |
91 | const <a | |
92 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
93 | >GArray</a> *in_contacts, | |
94 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences" title="tp_cli_connection_interface_simple_presence_callback_for_get_presences ()">tp_cli_connection_interface_simple_presence_callback_for_get_presences</a> callback, | |
95 | <a | |
96 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
97 | >gpointer</a> user_data, | |
98 | <a | |
99 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
100 | >GDestroyNotify</a> destroy, | |
101 | <a | |
102 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
103 | >GObject</a> *weak_object); | |
104 | <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a>* <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-set-presence" title="tp_cli_connection_interface_simple_presence_call_set_presence ()">tp_cli_connection_interface_simple_presence_call_set_presence</a> | |
105 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
106 | <a | |
107 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
108 | >gint</a> timeout_ms, | |
109 | const <a | |
110 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
111 | >gchar</a> *in_status, | |
112 | const <a | |
113 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
114 | >gchar</a> *in_status_message, | |
115 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence" title="tp_cli_connection_interface_simple_presence_callback_for_set_presence ()">tp_cli_connection_interface_simple_presence_callback_for_set_presence</a> callback, | |
116 | <a | |
117 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
118 | >gpointer</a> user_data, | |
119 | <a | |
120 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
121 | >GDestroyNotify</a> destroy, | |
122 | <a | |
123 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
124 | >GObject</a> *weak_object); | |
125 | void (<a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences" title="tp_cli_connection_interface_simple_presence_callback_for_get_presences ()">*tp_cli_connection_interface_simple_presence_callback_for_get_presences</a>) | |
126 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
127 | <a | |
128 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
129 | >GHashTable</a> *out_presence, | |
130 | const <a | |
131 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
132 | >GError</a> *error, | |
133 | <a | |
134 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
135 | >gpointer</a> user_data, | |
136 | <a | |
137 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
138 | >GObject</a> *weak_object); | |
139 | void (<a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence" title="tp_cli_connection_interface_simple_presence_callback_for_set_presence ()">*tp_cli_connection_interface_simple_presence_callback_for_set_presence</a>) | |
140 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
141 | const <a | |
142 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
143 | >GError</a> *error, | |
144 | <a | |
145 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
146 | >gpointer</a> user_data, | |
147 | <a | |
148 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
149 | >GObject</a> *weak_object); | |
150 | <a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection">TpProxySignalConnection</a>* <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-connect-to-presences-changed" title="tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()">tp_cli_connection_interface_simple_presence_connect_to_presences_changed</a> | |
151 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
152 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed" title="tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()">tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</a> callback, | |
153 | <a | |
154 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
155 | >gpointer</a> user_data, | |
156 | <a | |
157 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
158 | >GDestroyNotify</a> destroy, | |
159 | <a | |
160 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
161 | >GObject</a> *weak_object, | |
162 | <a | |
163 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
164 | >GError</a> **error); | |
165 | void (<a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed" title="tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()">*tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</a>) | |
166 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
167 | <a | |
168 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
169 | >GHashTable</a> *arg_presence, | |
170 | <a | |
171 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
172 | >gpointer</a> user_data, | |
173 | <a | |
174 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
175 | >GObject</a> *weak_object); | |
176 | </pre> | |
177 | </div> | |
178 | <div class="refsect1" lang="en"> | |
179 | <a name="telepathy-glib-connection-simple-presence.description"></a><h2>Description</h2> | |
180 | <p> | |
181 | Most instant messaging protocols allow users to advertise their presence | |
182 | status. In Telepathy, this is represented by the SimplePresence | |
183 | interface, which lets applications advertise the presence status of the | |
184 | local user, and query the presence status of their contacts. | |
185 | </p> | |
186 | <p> | |
187 | This section documents the auto-generated C wrappers for the | |
188 | SimplePresence interface, used with <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> objects.</p> | |
189 | <p> | |
190 | ||
191 | </p> | |
192 | </div> | |
193 | <div class="refsect1" lang="en"> | |
194 | <a name="telepathy-glib-connection-simple-presence.details"></a><h2>Details</h2> | |
195 | <div class="refsect2" lang="en"> | |
196 | <a name="tp-cli-connection-interface-simple-presence-run-get-presences"></a><h3>tp_cli_connection_interface_simple_presence_run_get_presences ()</h3> | |
197 | <pre class="programlisting"><a | |
198 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
199 | >gboolean</a> tp_cli_connection_interface_simple_presence_run_get_presences | |
200 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
201 | <a | |
202 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
203 | >gint</a> timeout_ms, | |
204 | const <a | |
205 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
206 | >GArray</a> *in_contacts, | |
207 | <a | |
208 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
209 | >GHashTable</a> **out_presence, | |
210 | <a | |
211 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
212 | >GError</a> **error, | |
213 | <a | |
214 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
215 | >GMainLoop</a> **loop);</pre> | |
216 | <p> | |
217 | Call the method GetPresences and run the main loop | |
218 | until it returns. Before calling this method, you must | |
219 | add a reference to any borrowed objects you need to keep, | |
220 | and generally ensure that everything is in a consistent | |
221 | state. | |
222 | </p> | |
223 | <p> | |
224 | Get presence previously emitted by PresencesChanged for the given contacts. Data is returned in the same structure as the PresencesChanged signal; no additional network requests are made.</p> | |
225 | <p> | |
226 | ||
227 | </p> | |
228 | <div class="variablelist"><table border="0"> | |
229 | <col align="left" valign="top"> | |
230 | <tbody> | |
231 | <tr> | |
232 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
233 | <td> A <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> or subclass | |
234 | </td> | |
235 | </tr> | |
236 | <tr> | |
237 | <td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td> | |
238 | <td> Timeout in milliseconds, or -1 for default | |
239 | </td> | |
240 | </tr> | |
241 | <tr> | |
242 | <td><p><span class="term"><em class="parameter"><code>in_contacts</code></em> :</span></p></td> | |
243 | <td> Used to pass an 'in' argument: An array of the contacts whose presence should be obtained. | |
244 | </td> | |
245 | </tr> | |
246 | <tr> | |
247 | <td><p><span class="term"><em class="parameter"><code>out_presence</code></em> :</span></p></td> | |
248 | <td> Used to return an 'out' argument if <a | |
249 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS" | |
250 | ><code class="literal">TRUE</code></a> is returned: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Presence information in the same format as for the <tp:member-ref>PresencesChanged</tp:member-ref> signal. The returned mapping MUST include an entry for each contact in the method's argument.</p> <p>The definition of the connection presence types Unknown and Offline means that if a connection manager will return Unknown for contacts not on the subscribe list, it MUST delay the reply to this method call until it has found out which contacts are, in fact, on the subscribe list.</p> | |
251 | </td> | |
252 | </tr> | |
253 | <tr> | |
254 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
255 | <td> If not <a | |
256 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
257 | ><code class="literal">NULL</code></a>, used to return errors if <a | |
258 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS" | |
259 | ><code class="literal">FALSE</code></a> | |
260 | is returned | |
261 | </td> | |
262 | </tr> | |
263 | <tr> | |
264 | <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td> | |
265 | <td> If not <a | |
266 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
267 | ><code class="literal">NULL</code></a>, set before re-entering | |
268 | the main loop, to point to a <a | |
269 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
270 | ><span class="type">GMainLoop</span></a> | |
271 | which can be used to cancel this call with | |
272 | <a | |
273 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#g-main-loop-quit" | |
274 | ><code class="function">g_main_loop_quit()</code></a>, causing a return of | |
275 | <a | |
276 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS" | |
277 | ><code class="literal">FALSE</code></a> with <em class="parameter"><code>error</code></em> set to <a class="link" href="telepathy-glib-proxy.html#TP-DBUS-ERROR-CANCELLED:CAPS"><code class="literal">TP_DBUS_ERROR_CANCELLED</code></a> | |
278 | </td> | |
279 | </tr> | |
280 | <tr> | |
281 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
282 | <td> TRUE on success, FALSE and sets <em class="parameter"><code>error</code></em> on error | |
283 | </td> | |
284 | </tr> | |
285 | </tbody> | |
286 | </table></div> | |
287 | </div> | |
288 | <hr> | |
289 | <div class="refsect2" lang="en"> | |
290 | <a name="tp-cli-connection-interface-simple-presence-run-set-presence"></a><h3>tp_cli_connection_interface_simple_presence_run_set_presence ()</h3> | |
291 | <pre class="programlisting"><a | |
292 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
293 | >gboolean</a> tp_cli_connection_interface_simple_presence_run_set_presence | |
294 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
295 | <a | |
296 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
297 | >gint</a> timeout_ms, | |
298 | const <a | |
299 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
300 | >gchar</a> *in_status, | |
301 | const <a | |
302 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
303 | >gchar</a> *in_status_message, | |
304 | <a | |
305 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
306 | >GError</a> **error, | |
307 | <a | |
308 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
309 | >GMainLoop</a> **loop);</pre> | |
310 | <p> | |
311 | Call the method SetPresence and run the main loop | |
312 | until it returns. Before calling this method, you must | |
313 | add a reference to any borrowed objects you need to keep, | |
314 | and generally ensure that everything is in a consistent | |
315 | state. | |
316 | </p> | |
317 | <p> | |
318 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Request that the presence status and status message are published for the connection. Changes will be indicated by <tp:member-ref>PresencesChanged</tp:member-ref> signals being emitted.</p> <p>This method may be called on a newly-created connection while it is still in the DISCONNECTED state, to request that when the connection connects, it will do so with the selected status.</p> <p>In DISCONNECTED state the <tp:member-ref>Statuses</tp:member-ref> property will indicate which statuses are allowed to be set while DISCONNECTED (none, if the Connection Manager doesn't allow this). This value MUST NOT be cached, as the set of allowed presences might change upon connecting.</p></p> | |
319 | <p> | |
320 | ||
321 | </p> | |
322 | <div class="variablelist"><table border="0"> | |
323 | <col align="left" valign="top"> | |
324 | <tbody> | |
325 | <tr> | |
326 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
327 | <td> A <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> or subclass | |
328 | </td> | |
329 | </tr> | |
330 | <tr> | |
331 | <td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td> | |
332 | <td> Timeout in milliseconds, or -1 for default | |
333 | </td> | |
334 | </tr> | |
335 | <tr> | |
336 | <td><p><span class="term"><em class="parameter"><code>in_status</code></em> :</span></p></td> | |
337 | <td> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The string identifier of the desired status. Possible status identifiers are defined in the <tp:member-ref>Statuses</tp:member-ref> property.</p> <p>Clients MUST NOT set a status whose string value they do not recognise, even if its presence type in Statuses matches what the user requested.</p> <tp:rationale> <p>Suppose a protocol has statuses that include 'phone' (of type BUSY) and 'in-a-meeting' (of type BUSY), but there is no generic 'busy' status.</p> <p>If the user requests &quot;Busy&quot; status from a menu, a client author might be tempted to pick an arbitrary status that has type BUSY. However, on this protocol, neither of the choices would be appropriate, and incorrect information about the user would be conveyed.</p> </tp:rationale> | |
338 | </td> | |
339 | </tr> | |
340 | <tr> | |
341 | <td><p><span class="term"><em class="parameter"><code>in_status_message</code></em> :</span></p></td> | |
342 | <td> Used to pass an 'in' argument: The status message associated with the current status. | |
343 | </td> | |
344 | </tr> | |
345 | <tr> | |
346 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
347 | <td> If not <a | |
348 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
349 | ><code class="literal">NULL</code></a>, used to return errors if <a | |
350 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS" | |
351 | ><code class="literal">FALSE</code></a> | |
352 | is returned | |
353 | </td> | |
354 | </tr> | |
355 | <tr> | |
356 | <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td> | |
357 | <td> If not <a | |
358 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
359 | ><code class="literal">NULL</code></a>, set before re-entering | |
360 | the main loop, to point to a <a | |
361 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainLoop" | |
362 | ><span class="type">GMainLoop</span></a> | |
363 | which can be used to cancel this call with | |
364 | <a | |
365 | href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#g-main-loop-quit" | |
366 | ><code class="function">g_main_loop_quit()</code></a>, causing a return of | |
367 | <a | |
368 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS" | |
369 | ><code class="literal">FALSE</code></a> with <em class="parameter"><code>error</code></em> set to <a class="link" href="telepathy-glib-proxy.html#TP-DBUS-ERROR-CANCELLED:CAPS"><code class="literal">TP_DBUS_ERROR_CANCELLED</code></a> | |
370 | </td> | |
371 | </tr> | |
372 | <tr> | |
373 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
374 | <td> TRUE on success, FALSE and sets <em class="parameter"><code>error</code></em> on error | |
375 | </td> | |
376 | </tr> | |
377 | </tbody> | |
378 | </table></div> | |
379 | </div> | |
380 | <hr> | |
381 | <div class="refsect2" lang="en"> | |
382 | <a name="tp-cli-connection-interface-simple-presence-call-get-presences"></a><h3>tp_cli_connection_interface_simple_presence_call_get_presences ()</h3> | |
383 | <pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a>* tp_cli_connection_interface_simple_presence_call_get_presences | |
384 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
385 | <a | |
386 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
387 | >gint</a> timeout_ms, | |
388 | const <a | |
389 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
390 | >GArray</a> *in_contacts, | |
391 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences" title="tp_cli_connection_interface_simple_presence_callback_for_get_presences ()">tp_cli_connection_interface_simple_presence_callback_for_get_presences</a> callback, | |
392 | <a | |
393 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
394 | >gpointer</a> user_data, | |
395 | <a | |
396 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
397 | >GDestroyNotify</a> destroy, | |
398 | <a | |
399 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
400 | >GObject</a> *weak_object);</pre> | |
401 | <p> | |
402 | Start a GetPresences method call. | |
403 | </p> | |
404 | <p> | |
405 | Get presence previously emitted by PresencesChanged for the given contacts. Data is returned in the same structure as the PresencesChanged signal; no additional network requests are made.</p> | |
406 | <p> | |
407 | ||
408 | </p> | |
409 | <div class="variablelist"><table border="0"> | |
410 | <col align="left" valign="top"> | |
411 | <tbody> | |
412 | <tr> | |
413 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
414 | <td> the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> | |
415 | </td> | |
416 | </tr> | |
417 | <tr> | |
418 | <td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td> | |
419 | <td> the timeout in milliseconds, or -1 to use the | |
420 | default | |
421 | </td> | |
422 | </tr> | |
423 | <tr> | |
424 | <td><p><span class="term"><em class="parameter"><code>in_contacts</code></em> :</span></p></td> | |
425 | <td> Used to pass an 'in' argument: An array of the contacts whose presence should be obtained. | |
426 | </td> | |
427 | </tr> | |
428 | <tr> | |
429 | <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td> | |
430 | <td> called when the method call succeeds or fails; | |
431 | may be <a | |
432 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
433 | ><code class="literal">NULL</code></a> to make a "fire and forget" call with no | |
434 | reply tracking | |
435 | </td> | |
436 | </tr> | |
437 | <tr> | |
438 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
439 | <td> user-supplied data passed to the callback; | |
440 | must be <a | |
441 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
442 | ><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a | |
443 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
444 | ><code class="literal">NULL</code></a> | |
445 | </td> | |
446 | </tr> | |
447 | <tr> | |
448 | <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td> | |
449 | <td> called with the user_data as argument, after the | |
450 | call has succeeded, failed or been cancelled; | |
451 | must be <a | |
452 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
453 | ><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a | |
454 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
455 | ><code class="literal">NULL</code></a> | |
456 | </td> | |
457 | </tr> | |
458 | <tr> | |
459 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
460 | <td> If not <a | |
461 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
462 | ><code class="literal">NULL</code></a>, a <a | |
463 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
464 | ><span class="type">GObject</span></a> which will be | |
465 | weakly referenced; if it is destroyed, this call | |
466 | will automatically be cancelled. Must be <a | |
467 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
468 | ><code class="literal">NULL</code></a> if | |
469 | <em class="parameter"><code>callback</code></em> is <a | |
470 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
471 | ><code class="literal">NULL</code></a> | |
472 | </td> | |
473 | </tr> | |
474 | <tr> | |
475 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
476 | <td> a <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall"><span class="type">TpProxyPendingCall</span></a> representing the call in | |
477 | progress. It is borrowed from the object, and will become | |
478 | invalid when the callback is called, the call is | |
479 | cancelled or the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> becomes invalid. | |
480 | </td> | |
481 | </tr> | |
482 | </tbody> | |
483 | </table></div> | |
484 | </div> | |
485 | <hr> | |
486 | <div class="refsect2" lang="en"> | |
487 | <a name="tp-cli-connection-interface-simple-presence-call-set-presence"></a><h3>tp_cli_connection_interface_simple_presence_call_set_presence ()</h3> | |
488 | <pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a>* tp_cli_connection_interface_simple_presence_call_set_presence | |
489 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
490 | <a | |
491 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint" | |
492 | >gint</a> timeout_ms, | |
493 | const <a | |
494 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
495 | >gchar</a> *in_status, | |
496 | const <a | |
497 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
498 | >gchar</a> *in_status_message, | |
499 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence" title="tp_cli_connection_interface_simple_presence_callback_for_set_presence ()">tp_cli_connection_interface_simple_presence_callback_for_set_presence</a> callback, | |
500 | <a | |
501 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
502 | >gpointer</a> user_data, | |
503 | <a | |
504 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
505 | >GDestroyNotify</a> destroy, | |
506 | <a | |
507 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
508 | >GObject</a> *weak_object);</pre> | |
509 | <p> | |
510 | Start a SetPresence method call. | |
511 | </p> | |
512 | <p> | |
513 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Request that the presence status and status message are published for the connection. Changes will be indicated by <tp:member-ref>PresencesChanged</tp:member-ref> signals being emitted.</p> <p>This method may be called on a newly-created connection while it is still in the DISCONNECTED state, to request that when the connection connects, it will do so with the selected status.</p> <p>In DISCONNECTED state the <tp:member-ref>Statuses</tp:member-ref> property will indicate which statuses are allowed to be set while DISCONNECTED (none, if the Connection Manager doesn't allow this). This value MUST NOT be cached, as the set of allowed presences might change upon connecting.</p></p> | |
514 | <p> | |
515 | ||
516 | </p> | |
517 | <div class="variablelist"><table border="0"> | |
518 | <col align="left" valign="top"> | |
519 | <tbody> | |
520 | <tr> | |
521 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
522 | <td> the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> | |
523 | </td> | |
524 | </tr> | |
525 | <tr> | |
526 | <td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td> | |
527 | <td> the timeout in milliseconds, or -1 to use the | |
528 | default | |
529 | </td> | |
530 | </tr> | |
531 | <tr> | |
532 | <td><p><span class="term"><em class="parameter"><code>in_status</code></em> :</span></p></td> | |
533 | <td> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The string identifier of the desired status. Possible status identifiers are defined in the <tp:member-ref>Statuses</tp:member-ref> property.</p> <p>Clients MUST NOT set a status whose string value they do not recognise, even if its presence type in Statuses matches what the user requested.</p> <tp:rationale> <p>Suppose a protocol has statuses that include 'phone' (of type BUSY) and 'in-a-meeting' (of type BUSY), but there is no generic 'busy' status.</p> <p>If the user requests &quot;Busy&quot; status from a menu, a client author might be tempted to pick an arbitrary status that has type BUSY. However, on this protocol, neither of the choices would be appropriate, and incorrect information about the user would be conveyed.</p> </tp:rationale> | |
534 | </td> | |
535 | </tr> | |
536 | <tr> | |
537 | <td><p><span class="term"><em class="parameter"><code>in_status_message</code></em> :</span></p></td> | |
538 | <td> Used to pass an 'in' argument: The status message associated with the current status. | |
539 | </td> | |
540 | </tr> | |
541 | <tr> | |
542 | <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td> | |
543 | <td> called when the method call succeeds or fails; | |
544 | may be <a | |
545 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
546 | ><code class="literal">NULL</code></a> to make a "fire and forget" call with no | |
547 | reply tracking | |
548 | </td> | |
549 | </tr> | |
550 | <tr> | |
551 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
552 | <td> user-supplied data passed to the callback; | |
553 | must be <a | |
554 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
555 | ><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a | |
556 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
557 | ><code class="literal">NULL</code></a> | |
558 | </td> | |
559 | </tr> | |
560 | <tr> | |
561 | <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td> | |
562 | <td> called with the user_data as argument, after the | |
563 | call has succeeded, failed or been cancelled; | |
564 | must be <a | |
565 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
566 | ><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a | |
567 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
568 | ><code class="literal">NULL</code></a> | |
569 | </td> | |
570 | </tr> | |
571 | <tr> | |
572 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
573 | <td> If not <a | |
574 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
575 | ><code class="literal">NULL</code></a>, a <a | |
576 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
577 | ><span class="type">GObject</span></a> which will be | |
578 | weakly referenced; if it is destroyed, this call | |
579 | will automatically be cancelled. Must be <a | |
580 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
581 | ><code class="literal">NULL</code></a> if | |
582 | <em class="parameter"><code>callback</code></em> is <a | |
583 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
584 | ><code class="literal">NULL</code></a> | |
585 | </td> | |
586 | </tr> | |
587 | <tr> | |
588 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
589 | <td> a <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall"><span class="type">TpProxyPendingCall</span></a> representing the call in | |
590 | progress. It is borrowed from the object, and will become | |
591 | invalid when the callback is called, the call is | |
592 | cancelled or the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> becomes invalid. | |
593 | </td> | |
594 | </tr> | |
595 | </tbody> | |
596 | </table></div> | |
597 | </div> | |
598 | <hr> | |
599 | <div class="refsect2" lang="en"> | |
600 | <a name="tp-cli-connection-interface-simple-presence-callback-for-get-presences"></a><h3>tp_cli_connection_interface_simple_presence_callback_for_get_presences ()</h3> | |
601 | <pre class="programlisting">void (*tp_cli_connection_interface_simple_presence_callback_for_get_presences) | |
602 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
603 | <a | |
604 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
605 | >GHashTable</a> *out_presence, | |
606 | const <a | |
607 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
608 | >GError</a> *error, | |
609 | <a | |
610 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
611 | >gpointer</a> user_data, | |
612 | <a | |
613 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
614 | >GObject</a> *weak_object);</pre> | |
615 | <p> | |
616 | Signature of the callback called when a GetPresences method call | |
617 | succeeds or fails.</p> | |
618 | <p> | |
619 | ||
620 | </p> | |
621 | <div class="variablelist"><table border="0"> | |
622 | <col align="left" valign="top"> | |
623 | <tbody> | |
624 | <tr> | |
625 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
626 | <td> the proxy on which the call was made | |
627 | </td> | |
628 | </tr> | |
629 | <tr> | |
630 | <td><p><span class="term"><em class="parameter"><code>out_presence</code></em> :</span></p></td> | |
631 | <td> Used to return an 'out' argument if <em class="parameter"><code>error</code></em> is <a | |
632 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
633 | ><code class="literal">NULL</code></a>: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Presence information in the same format as for the <tp:member-ref>PresencesChanged</tp:member-ref> signal. The returned mapping MUST include an entry for each contact in the method's argument.</p> <p>The definition of the connection presence types Unknown and Offline means that if a connection manager will return Unknown for contacts not on the subscribe list, it MUST delay the reply to this method call until it has found out which contacts are, in fact, on the subscribe list.</p> | |
634 | </td> | |
635 | </tr> | |
636 | <tr> | |
637 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
638 | <td> <a | |
639 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
640 | ><code class="literal">NULL</code></a> on success, or an error on failure | |
641 | </td> | |
642 | </tr> | |
643 | <tr> | |
644 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
645 | <td> user-supplied data | |
646 | </td> | |
647 | </tr> | |
648 | <tr> | |
649 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
650 | <td> user-supplied object | |
651 | </td> | |
652 | </tr> | |
653 | </tbody> | |
654 | </table></div> | |
655 | </div> | |
656 | <hr> | |
657 | <div class="refsect2" lang="en"> | |
658 | <a name="tp-cli-connection-interface-simple-presence-callback-for-set-presence"></a><h3>tp_cli_connection_interface_simple_presence_callback_for_set_presence ()</h3> | |
659 | <pre class="programlisting">void (*tp_cli_connection_interface_simple_presence_callback_for_set_presence) | |
660 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
661 | const <a | |
662 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
663 | >GError</a> *error, | |
664 | <a | |
665 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
666 | >gpointer</a> user_data, | |
667 | <a | |
668 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
669 | >GObject</a> *weak_object);</pre> | |
670 | <p> | |
671 | Signature of the callback called when a SetPresence method call | |
672 | succeeds or fails.</p> | |
673 | <p> | |
674 | ||
675 | </p> | |
676 | <div class="variablelist"><table border="0"> | |
677 | <col align="left" valign="top"> | |
678 | <tbody> | |
679 | <tr> | |
680 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
681 | <td> the proxy on which the call was made | |
682 | </td> | |
683 | </tr> | |
684 | <tr> | |
685 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
686 | <td> <a | |
687 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
688 | ><code class="literal">NULL</code></a> on success, or an error on failure | |
689 | </td> | |
690 | </tr> | |
691 | <tr> | |
692 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
693 | <td> user-supplied data | |
694 | </td> | |
695 | </tr> | |
696 | <tr> | |
697 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
698 | <td> user-supplied object | |
699 | </td> | |
700 | </tr> | |
701 | </tbody> | |
702 | </table></div> | |
703 | </div> | |
704 | <hr> | |
705 | <div class="refsect2" lang="en"> | |
706 | <a name="tp-cli-connection-interface-simple-presence-connect-to-presences-changed"></a><h3>tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()</h3> | |
707 | <pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection">TpProxySignalConnection</a>* tp_cli_connection_interface_simple_presence_connect_to_presences_changed | |
708 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
709 | <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed" title="tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()">tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</a> callback, | |
710 | <a | |
711 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
712 | >gpointer</a> user_data, | |
713 | <a | |
714 | href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify" | |
715 | >GDestroyNotify</a> destroy, | |
716 | <a | |
717 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
718 | >GObject</a> *weak_object, | |
719 | <a | |
720 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
721 | >GError</a> **error);</pre> | |
722 | <p> | |
723 | Connect a handler to the signal PresencesChanged. | |
724 | </p> | |
725 | <p> | |
726 | This signal should be emitted when your own presence has been changed, or the presence of the member of any of the connection's channels has been changed.</p> | |
727 | <p> | |
728 | ||
729 | </p> | |
730 | <div class="variablelist"><table border="0"> | |
731 | <col align="left" valign="top"> | |
732 | <tbody> | |
733 | <tr> | |
734 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
735 | <td> A <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> or subclass | |
736 | </td> | |
737 | </tr> | |
738 | <tr> | |
739 | <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td> | |
740 | <td> Callback to be called when the signal is | |
741 | received | |
742 | </td> | |
743 | </tr> | |
744 | <tr> | |
745 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
746 | <td> User-supplied data for the callback | |
747 | </td> | |
748 | </tr> | |
749 | <tr> | |
750 | <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td> | |
751 | <td> Destructor for the user-supplied data, which | |
752 | will be called when this signal is disconnected, or | |
753 | before this function returns <a | |
754 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
755 | ><code class="literal">NULL</code></a> | |
756 | </td> | |
757 | </tr> | |
758 | <tr> | |
759 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
760 | <td> A <a | |
761 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
762 | ><span class="type">GObject</span></a> which will be weakly referenced; | |
763 | if it is destroyed, this callback will automatically be | |
764 | disconnected | |
765 | </td> | |
766 | </tr> | |
767 | <tr> | |
768 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
769 | <td> If not <a | |
770 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
771 | ><code class="literal">NULL</code></a>, used to raise an error if <a | |
772 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
773 | ><code class="literal">NULL</code></a> is | |
774 | returned | |
775 | </td> | |
776 | </tr> | |
777 | <tr> | |
778 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
779 | <td> a <a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection"><span class="type">TpProxySignalConnection</span></a> containing all of the | |
780 | above, which can be used to disconnect the signal; or | |
781 | <a | |
782 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS" | |
783 | ><code class="literal">NULL</code></a> if the proxy does not have the desired interface | |
784 | or has become invalid. | |
785 | </td> | |
786 | </tr> | |
787 | </tbody> | |
788 | </table></div> | |
789 | </div> | |
790 | <hr> | |
791 | <div class="refsect2" lang="en"> | |
792 | <a name="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed"></a><h3>tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()</h3> | |
793 | <pre class="programlisting">void (*tp_cli_connection_interface_simple_presence_signal_callback_presences_changed) | |
794 | (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy, | |
795 | <a | |
796 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
797 | >GHashTable</a> *arg_presence, | |
798 | <a | |
799 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
800 | >gpointer</a> user_data, | |
801 | <a | |
802 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
803 | >GObject</a> *weak_object);</pre> | |
804 | <p> | |
805 | Represents the signature of a callback for the signal PresencesChanged.</p> | |
806 | <p> | |
807 | ||
808 | </p> | |
809 | <div class="variablelist"><table border="0"> | |
810 | <col align="left" valign="top"> | |
811 | <tbody> | |
812 | <tr> | |
813 | <td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td> | |
814 | <td> The proxy on which <a class="link" href="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-connect-to-presences-changed" title="tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()"><code class="function">tp_cli_connection_interface_simple_presence_connect_to_presences_changed()</code></a> | |
815 | was called | |
816 | </td> | |
817 | </tr> | |
818 | <tr> | |
819 | <td><p><span class="term"><em class="parameter"><code>arg_presence</code></em> :</span></p></td> | |
820 | <td> A dictionary of contact handles mapped to the status, presence type and status message. | |
821 | </td> | |
822 | </tr> | |
823 | <tr> | |
824 | <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> | |
825 | <td> User-supplied data | |
826 | </td> | |
827 | </tr> | |
828 | <tr> | |
829 | <td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td> | |
830 | <td> User-supplied weakly referenced object | |
831 | </td> | |
832 | </tr> | |
833 | </tbody> | |
834 | </table></div> | |
835 | </div> | |
836 | </div> | |
837 | <div class="refsect1" lang="en"> | |
838 | <a name="telepathy-glib-connection-simple-presence.see-also"></a><h2>See Also</h2> | |
839 | <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> | |
840 | </div> | |
841 | </div> | |
842 | <div class="footer"> | |
843 | <hr> | |
844 | Generated by GTK-Doc V1.10</div> | |
845 | </body> | |
846 | </html> |
1819 | 1819 | Start a GetInterfaces method call. |
1820 | 1820 | </p> |
1821 | 1821 | <p> |
1822 | Get the optional interfaces supported by this connection.</p> | |
1822 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Get the optional interfaces supported by this connection. Before the connection status changes to CONNECTED, the return from this method may change at any time, but it is guaranteed that interfaces will only be added, not removed. After the connection status changes to CONNECTED, the return from this method cannot change further.</p> <p>There is no explicit change notification; reasonable behaviour for a client would be to retrieve the interfaces list once initially, and once more when it becomes CONNECTED.</p> <tp:rationale> <p>In some connection managers, certain capabilities of a connection are known to be implemented for all connections (e.g. support for SimplePresence), and some interfaces (like SimplePresence) can even be used before connecting. Other capabilities may or may not exist, depending on server functionality; by the time the connection goes CONNECTED, the connection manager is expected to have evaluated the server's functionality and enabled any extra interfaces for the remainder of the Connection's lifetime.</p> </tp:rationale></p> | |
1823 | 1823 | <p> |
1824 | 1824 | |
1825 | 1825 | </p> |
1921 | 1921 | state. |
1922 | 1922 | </p> |
1923 | 1923 | <p> |
1924 | Get the optional interfaces supported by this connection.</p> | |
1924 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Get the optional interfaces supported by this connection. Before the connection status changes to CONNECTED, the return from this method may change at any time, but it is guaranteed that interfaces will only be added, not removed. After the connection status changes to CONNECTED, the return from this method cannot change further.</p> <p>There is no explicit change notification; reasonable behaviour for a client would be to retrieve the interfaces list once initially, and once more when it becomes CONNECTED.</p> <tp:rationale> <p>In some connection managers, certain capabilities of a connection are known to be implemented for all connections (e.g. support for SimplePresence), and some interfaces (like SimplePresence) can even be used before connecting. Other capabilities may or may not exist, depending on server functionality; by the time the connection goes CONNECTED, the connection manager is expected to have evaluated the server's functionality and enabled any extra interfaces for the remainder of the Connection's lifetime.</p> </tp:rationale></p> | |
1925 | 1925 | <p> |
1926 | 1926 | |
1927 | 1927 | </p> |
151 | 151 | <a |
152 | 152 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" |
153 | 153 | >gpointer</a> iface_data); |
154 | <a | |
155 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
156 | >gboolean</a> <a class="link" href="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-get" title="tp_dbus_properties_mixin_get ()">tp_dbus_properties_mixin_get</a> (<a | |
157 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
158 | >GObject</a> *self, | |
159 | const <a | |
160 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
161 | >gchar</a> *interface_name, | |
162 | const <a | |
163 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
164 | >gchar</a> *property_name, | |
165 | <a | |
166 | href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue" | |
167 | >GValue</a> *value, | |
168 | <a | |
169 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
170 | >GError</a> **error); | |
154 | 171 | </pre> |
155 | 172 | </div> |
156 | 173 | <div class="refsect1" lang="en"> |
948 | 965 | </tbody> |
949 | 966 | </table></div> |
950 | 967 | </div> |
968 | <hr> | |
969 | <div class="refsect2" lang="en"> | |
970 | <a name="tp-dbus-properties-mixin-get"></a><h3>tp_dbus_properties_mixin_get ()</h3> | |
971 | <pre class="programlisting"><a | |
972 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean" | |
973 | >gboolean</a> tp_dbus_properties_mixin_get (<a | |
974 | href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject" | |
975 | >GObject</a> *self, | |
976 | const <a | |
977 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
978 | >gchar</a> *interface_name, | |
979 | const <a | |
980 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
981 | >gchar</a> *property_name, | |
982 | <a | |
983 | href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue" | |
984 | >GValue</a> *value, | |
985 | <a | |
986 | href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError" | |
987 | >GError</a> **error);</pre> | |
988 | <p> | |
989 | Initialize <em class="parameter"><code>value</code></em> with the type of the property <em class="parameter"><code>property_name</code></em> on | |
990 | <em class="parameter"><code>interface_name</code></em>, and write the value of that property into it as if | |
991 | by calling the D-Bus method org.freedesktop.DBus.Properties.Get. | |
992 | </p> | |
993 | <p> | |
994 | If Get would return a D-Bus error, <em class="parameter"><code>value</code></em> remains unset and <em class="parameter"><code>error</code></em> | |
995 | is filled in instead.</p> | |
996 | <p> | |
997 | ||
998 | </p> | |
999 | <div class="variablelist"><table border="0"> | |
1000 | <col align="left" valign="top"> | |
1001 | <tbody> | |
1002 | <tr> | |
1003 | <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> | |
1004 | <td> an object with this mixin | |
1005 | </td> | |
1006 | </tr> | |
1007 | <tr> | |
1008 | <td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td> | |
1009 | <td> a D-Bus interface name | |
1010 | </td> | |
1011 | </tr> | |
1012 | <tr> | |
1013 | <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td> | |
1014 | <td> a D-Bus property name | |
1015 | </td> | |
1016 | </tr> | |
1017 | <tr> | |
1018 | <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> | |
1019 | <td> an unset GValue (initialized to all zeroes) | |
1020 | </td> | |
1021 | </tr> | |
1022 | <tr> | |
1023 | <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> | |
1024 | <td> used to return an error on failure | |
1025 | </td> | |
1026 | </tr> | |
1027 | <tr> | |
1028 | <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> | |
1029 | <td> <a | |
1030 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS" | |
1031 | ><code class="literal">TRUE</code></a> (filling <em class="parameter"><code>value</code></em>) on success, <a | |
1032 | href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS" | |
1033 | ><code class="literal">FALSE</code></a> (setting <em class="parameter"><code>error</code></em>) | |
1034 | on failure | |
1035 | </td> | |
1036 | </tr> | |
1037 | </tbody> | |
1038 | </table></div> | |
1039 | <p class="since">Since 0.7.13 | |
1040 | </p> | |
1041 | </div> | |
951 | 1042 | </div> |
952 | 1043 | <div class="refsect1" lang="en"> |
953 | 1044 | <a name="telepathy-glib-dbus-properties-mixin.see-also"></a><h2>See Also</h2> |
439 | 439 | TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY = 4, |
440 | 440 | TP_CONNECTION_PRESENCE_TYPE_HIDDEN = 5, |
441 | 441 | TP_CONNECTION_PRESENCE_TYPE_BUSY = 6, |
442 | TP_CONNECTION_PRESENCE_TYPE_UNKNOWN = 7, | |
443 | TP_CONNECTION_PRESENCE_TYPE_ERROR = 8, | |
442 | 444 | } TpConnectionPresenceType; |
443 | 445 | </pre> |
444 | 446 | <p> |
451 | 453 | <tbody> |
452 | 454 | <tr> |
453 | 455 | <td><p><a name="TP-CONNECTION-PRESENCE-TYPE-UNSET:CAPS"></a><span class="term"><code class="literal">TP_CONNECTION_PRESENCE_TYPE_UNSET</code></span></p></td> |
454 | <td> An invalid presence type used as a null value | |
456 | <td> An invalid presence type used as a null value. This value MUST NOT appear in the result of GetStatuses, or in the Statuses property of the SimplePresence interface. | |
455 | 457 | </td> |
456 | 458 | </tr> |
457 | 459 | <tr> |
482 | 484 | <tr> |
483 | 485 | <td><p><a name="TP-CONNECTION-PRESENCE-TYPE-BUSY:CAPS"></a><span class="term"><code class="literal">TP_CONNECTION_PRESENCE_TYPE_BUSY</code></span></p></td> |
484 | 486 | <td> Busy, Do Not Disturb. |
487 | </td> | |
488 | </tr> | |
489 | <tr> | |
490 | <td><p><a name="TP-CONNECTION-PRESENCE-TYPE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">TP_CONNECTION_PRESENCE_TYPE_UNKNOWN</code></span></p></td> | |
491 | <td> Unknown, unable to determine presence for this contact, for example if the protocol only allows presence of subscribed contacts. | |
492 | </td> | |
493 | </tr> | |
494 | <tr> | |
495 | <td><p><a name="TP-CONNECTION-PRESENCE-TYPE-ERROR:CAPS"></a><span class="term"><code class="literal">TP_CONNECTION_PRESENCE_TYPE_ERROR</code></span></p></td> | |
496 | <td> Error, an error occurred while trying to determine presence. The message, if set, is an error from the server. | |
485 | 497 | </td> |
486 | 498 | </tr> |
487 | 499 | </tbody> |
1115 | 1127 | </tr> |
1116 | 1128 | <tr> |
1117 | 1129 | <td><p><a name="TP-CHANNEL-GROUP-FLAG-HANDLE-OWNERS-NOT-AVAILABLE:CAPS"></a><span class="term"><code class="literal">TP_CHANNEL_GROUP_FLAG_HANDLE_OWNERS_NOT_AVAILABLE</code></span></p></td> |
1118 | <td> In rooms with channel specific handles (ie Channel_Specific_Handles flag is set), this flag indicates that none of the handle owners are available, and that GetHandleOwners method will always return 0 for channel members other than the self handle. | |
1130 | <td> In rooms with channel specific handles (ie Channel_Specific_Handles flag is set), this flag indicates that no handle owners are available, apart from the owner of the SelfHandle. This used to be an important optimization to avoid repeated GetHandleOwners calls, before we introduced the HandleOwner property and HandleOwnerChanged signal. | |
1119 | 1131 | </td> |
1120 | 1132 | </tr> |
1121 | 1133 | <tr> |
53 | 53 | >GType</a> type); |
54 | 54 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-STRING-MAP:CAPS" title="TP_HASH_TYPE_STRING_STRING_MAP">TP_HASH_TYPE_STRING_STRING_MAP</a> |
55 | 55 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS" title="TP_HASH_TYPE_STRING_VARIANT_MAP">TP_HASH_TYPE_STRING_VARIANT_MAP</a> |
56 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS" title="TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP">TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</a> | |
56 | 57 | |
57 | 58 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-PARAM-SPEC:CAPS" title="TP_STRUCT_TYPE_PARAM_SPEC">TP_STRUCT_TYPE_PARAM_SPEC</a> |
58 | 59 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS" title="TP_ARRAY_TYPE_PARAM_SPEC_LIST">TP_ARRAY_TYPE_PARAM_SPEC_LIST</a> |
72 | 73 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS" title="TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST">TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST</a> |
73 | 74 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS" title="TP_STRUCT_TYPE_CONTACT_CAPABILITY">TP_STRUCT_TYPE_CONTACT_CAPABILITY</a> |
74 | 75 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS" title="TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST">TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST</a> |
76 | ||
77 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS" title="TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES">TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</a> | |
78 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS" title="TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP">TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</a> | |
79 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS" title="TP_STRUCT_TYPE_SIMPLE_PRESENCE">TP_STRUCT_TYPE_SIMPLE_PRESENCE</a> | |
80 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS" title="TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC">TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</a> | |
75 | 81 | |
76 | 82 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-CONTACT-PRESENCES:CAPS" title="TP_HASH_TYPE_CONTACT_PRESENCES">TP_HASH_TYPE_CONTACT_PRESENCES</a> |
77 | 83 | #define <a class="link" href="telepathy-glib-gtypes.html#TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS" title="TP_HASH_TYPE_MULTIPLE_STATUS_MAP">TP_HASH_TYPE_MULTIPLE_STATUS_MAP</a> |
229 | 235 | </div> |
230 | 236 | <hr> |
231 | 237 | <div class="refsect2" lang="en"> |
238 | <a name="TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS"></a><h3>TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</h3> | |
239 | <pre class="programlisting">#define TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</pre> | |
240 | <p> | |
241 | A mapping from strings representing D-Bus properties (by their namespaced names) to their values. | |
242 | </p> | |
243 | <p> | |
244 | This macro expands to a call to a function | |
245 | that returns the <a | |
246 | href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType" | |
247 | ><span class="type">GType</span></a> of a <a | |
248 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
249 | ><span class="type">GHashTable</span></a> | |
250 | appropriate for representing a D-Bus | |
251 | dictionary of signature | |
252 | <code class="literal">a{sv}</code>. | |
253 | </p> | |
254 | <p> | |
255 | Keys (D-Bus type <code class="literal">s</code>, | |
256 | type <code class="literal">DBus_Qualified_Member</code>, | |
257 | named <code class="literal">Key</code>): | |
258 | A D-Bus interface name, followed by a dot and a D-Bus property name. | |
259 | </p> | |
260 | <p> | |
261 | Values (D-Bus type <code class="literal">v</code>, | |
262 | named <code class="literal">Value</code>): | |
263 | The value of the property.</p> | |
264 | <p> | |
265 | ||
266 | </p> | |
267 | </div> | |
268 | <hr> | |
269 | <div class="refsect2" lang="en"> | |
232 | 270 | <a name="TP-STRUCT-TYPE-PARAM-SPEC:CAPS"></a><h3>TP_STRUCT_TYPE_PARAM_SPEC</h3> |
233 | 271 | <pre class="programlisting">#define TP_STRUCT_TYPE_PARAM_SPEC</pre> |
234 | 272 | <p> |
643 | 681 | </div> |
644 | 682 | <hr> |
645 | 683 | <div class="refsect2" lang="en"> |
684 | <a name="TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS"></a><h3>TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</h3> | |
685 | <pre class="programlisting">#define TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</pre> | |
686 | <p> | |
687 | Mapping returned by <tp:member-ref>GetPresences</tp:member-ref> and signalled by <tp:member-ref>PresencesChanged</tp:member-ref>, indicating the presence of a number of contacts. | |
688 | </p> | |
689 | <p> | |
690 | This macro expands to a call to a function | |
691 | that returns the <a | |
692 | href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType" | |
693 | ><span class="type">GType</span></a> of a <a | |
694 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
695 | ><span class="type">GHashTable</span></a> | |
696 | appropriate for representing a D-Bus | |
697 | dictionary of signature | |
698 | <code class="literal">a{u(uss)}</code>. | |
699 | </p> | |
700 | <p> | |
701 | Keys (D-Bus type <code class="literal">u</code>, | |
702 | type <code class="literal">Contact_Handle</code>, | |
703 | named <code class="literal">Contact</code>): | |
704 | A contact | |
705 | </p> | |
706 | <p> | |
707 | Values (D-Bus type <code class="literal">(uss)</code>, | |
708 | type <code class="literal">Simple_Presence</code>, | |
709 | named <code class="literal">Presence</code>): | |
710 | The contact's presence</p> | |
711 | <p> | |
712 | ||
713 | </p> | |
714 | </div> | |
715 | <hr> | |
716 | <div class="refsect2" lang="en"> | |
717 | <a name="TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS"></a><h3>TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</h3> | |
718 | <pre class="programlisting">#define TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</pre> | |
719 | <p> | |
720 | A mapping describing possible statuses. | |
721 | </p> | |
722 | <p> | |
723 | This macro expands to a call to a function | |
724 | that returns the <a | |
725 | href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType" | |
726 | ><span class="type">GType</span></a> of a <a | |
727 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
728 | ><span class="type">GHashTable</span></a> | |
729 | appropriate for representing a D-Bus | |
730 | dictionary of signature | |
731 | <code class="literal">a{s(ubb)}</code>. | |
732 | </p> | |
733 | <p> | |
734 | Keys (D-Bus type <code class="literal">s</code>, | |
735 | named <code class="literal">Identifier</code>): | |
736 | The string identifier of this status. | |
737 | </p> | |
738 | <p> | |
739 | Values (D-Bus type <code class="literal">(ubb)</code>, | |
740 | type <code class="literal">Simple_Status_Spec</code>, | |
741 | named <code class="literal">Spec</code>): | |
742 | Details of this status.</p> | |
743 | <p> | |
744 | ||
745 | </p> | |
746 | </div> | |
747 | <hr> | |
748 | <div class="refsect2" lang="en"> | |
749 | <a name="TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS"></a><h3>TP_STRUCT_TYPE_SIMPLE_PRESENCE</h3> | |
750 | <pre class="programlisting">#define TP_STRUCT_TYPE_SIMPLE_PRESENCE</pre> | |
751 | <p> | |
752 | A struct representing the presence of a contact. | |
753 | ||
754 | </p> | |
755 | <p> | |
756 | This macro expands to a call to a function | |
757 | that returns the <a | |
758 | href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType" | |
759 | ><span class="type">GType</span></a> of a <a | |
760 | href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray" | |
761 | ><span class="type">GValueArray</span></a> | |
762 | appropriate for representing a D-Bus struct | |
763 | with signature <code class="literal">(uss)</code>. | |
764 | </p> | |
765 | <p> | |
766 | Member 0 (D-Bus type <code class="literal">u</code>, | |
767 | type <code class="literal">Connection_Presence_Type</code>, | |
768 | named <code class="literal">Type</code>): | |
769 | The presence type, e.g. Connection_Presence_Type_Away. | |
770 | </p> | |
771 | <p> | |
772 | Member 1 (D-Bus type <code class="literal">s</code>, | |
773 | named <code class="literal">Status</code>): | |
774 | The string identifier of the status, e.g. &quot;brb&quot;, as defined in the <tp:member-ref>Statuses</tp:member-ref> property. | |
775 | </p> | |
776 | <p> | |
777 | Member 2 (D-Bus type <code class="literal">s</code>, | |
778 | named <code class="literal">Status_Message</code>): | |
779 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The user-defined status message, e.g. &quot;Back soon!&quot;.</p> <p>Clients SHOULD set the status message for the local user to the empty string, unless the user has actually provided a specific message (i.e. one that conveys more information than the Status).</p> <p>User interfaces SHOULD regard an empty status message as unset, and MAY replace it with a localized string corresponding to the Status or Type.</p> <tp:rationale> Use case: Daf sets his status in Empathy by choosing the Welsh translation of &quot;Available&quot; from a menu. It is more informative for his English-speaking colleagues to see the English translation of &quot;Available&quot; (as localized by their own clients) than to see the Welsh version (which they don't understand anyway). </tp:rationale></p> | |
780 | <p> | |
781 | ||
782 | </p> | |
783 | </div> | |
784 | <hr> | |
785 | <div class="refsect2" lang="en"> | |
786 | <a name="TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS"></a><h3>TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</h3> | |
787 | <pre class="programlisting">#define TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</pre> | |
788 | <p> | |
789 | A struct containing information about a status. | |
790 | ||
791 | </p> | |
792 | <p> | |
793 | This macro expands to a call to a function | |
794 | that returns the <a | |
795 | href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType" | |
796 | ><span class="type">GType</span></a> of a <a | |
797 | href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray" | |
798 | ><span class="type">GValueArray</span></a> | |
799 | appropriate for representing a D-Bus struct | |
800 | with signature <code class="literal">(ubb)</code>. | |
801 | </p> | |
802 | <p> | |
803 | Member 0 (D-Bus type <code class="literal">u</code>, | |
804 | type <code class="literal">Connection_Presence_Type</code>, | |
805 | named <code class="literal">Type</code>): | |
806 | The type of a presence. This SHOULD NOT be used as a way to set statuses that the client does not recognise (as explained in <tp:member-ref>SetPresence</tp:member-ref>), but MAY be used to check that the client's assumptions about a particular status name match the connection manager's. | |
807 | </p> | |
808 | <p> | |
809 | Member 1 (D-Bus type <code class="literal">b</code>, | |
810 | named <code class="literal">May_Set_On_Self</code>): | |
811 | If true, the user can set this status on themselves using <tp:member-ref>SetPresence</tp:member-ref>. | |
812 | </p> | |
813 | <p> | |
814 | Member 2 (D-Bus type <code class="literal">b</code>, | |
815 | named <code class="literal">Can_Have_Message</code>): | |
816 | If true, a non-empty message can be set for this status. Otherwise, the empty string is the only acceptable message. <tp:rationale> On IRC you can be Away with a status message, but if you are available you cannot set a status message. </tp:rationale></p> | |
817 | <p> | |
818 | ||
819 | </p> | |
820 | </div> | |
821 | <hr> | |
822 | <div class="refsect2" lang="en"> | |
646 | 823 | <a name="TP-HASH-TYPE-CONTACT-PRESENCES:CAPS"></a><h3>TP_HASH_TYPE_CONTACT_PRESENCES</h3> |
647 | 824 | <pre class="programlisting">#define TP_HASH_TYPE_CONTACT_PRESENCES</pre> |
648 | 825 | <p> |
63 | 63 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS" title="TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS">TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS</a> |
64 | 64 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS" title="TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES">TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES</a> |
65 | 65 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS" title="TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES">TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES</a> |
66 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" title="TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE">TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</a> | |
67 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" title="TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE">TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</a> | |
66 | 68 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS" title="TP_IFACE_CONNECTION_INTERFACE_PRESENCE">TP_IFACE_CONNECTION_INTERFACE_PRESENCE</a> |
67 | 69 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS" title="TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE">TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE</a> |
68 | 70 | #define <a class="link" href="telepathy-glib-interfaces.html#TP-IFACE-CHANNEL:CAPS" title="TP_IFACE_CHANNEL">TP_IFACE_CHANNEL</a> |
297 | 299 | </div> |
298 | 300 | <hr> |
299 | 301 | <div class="refsect2" lang="en"> |
302 | <a name="TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"></a><h3>TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</h3> | |
303 | <pre class="programlisting">#define TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</pre> | |
304 | <p> | |
305 | The interface name "org.freedesktop.Telepathy.Connection.Interface.SimplePresence"</p> | |
306 | <p> | |
307 | ||
308 | </p> | |
309 | </div> | |
310 | <hr> | |
311 | <div class="refsect2" lang="en"> | |
312 | <a name="TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"></a><h3>TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</h3> | |
313 | <pre class="programlisting">#define TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</pre> | |
314 | <p> | |
315 | Expands to a call to a function that returns a quark for the interface name "org.freedesktop.Telepathy.Connection.Interface.SimplePresence"</p> | |
316 | <p> | |
317 | ||
318 | </p> | |
319 | </div> | |
320 | <hr> | |
321 | <div class="refsect2" lang="en"> | |
300 | 322 | <a name="TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS"></a><h3>TP_IFACE_CONNECTION_INTERFACE_PRESENCE</h3> |
301 | 323 | <pre class="programlisting">#define TP_IFACE_CONNECTION_INTERFACE_PRESENCE</pre> |
302 | 324 | <p> |
283 | 283 | >guint</a> arg_reason); |
284 | 284 | |
285 | 285 | |
286 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</a>; | |
287 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</a>; | |
288 | void <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-emit-presences-changed" title="tp_svc_connection_interface_simple_presence_emit_presences_changed ()">tp_svc_connection_interface_simple_presence_emit_presences_changed</a> | |
289 | (<a | |
290 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
291 | >gpointer</a> instance, | |
292 | <a | |
293 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
294 | >GHashTable</a> *arg_presence); | |
295 | void (<a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl" title="tp_svc_connection_interface_simple_presence_get_presences_impl ()">*tp_svc_connection_interface_simple_presence_get_presences_impl</a>) | |
296 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</a> *self, | |
297 | const <a | |
298 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
299 | >GArray</a> *in_contacts, | |
300 | <a | |
301 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
302 | >DBusGMethodInvocation</a> *context); | |
303 | void <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-get-presences" title="tp_svc_connection_interface_simple_presence_implement_get_presences ()">tp_svc_connection_interface_simple_presence_implement_get_presences</a> | |
304 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</a> *klass, | |
305 | <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl" title="tp_svc_connection_interface_simple_presence_get_presences_impl ()">tp_svc_connection_interface_simple_presence_get_presences_impl</a> impl); | |
306 | void <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-set-presence" title="tp_svc_connection_interface_simple_presence_implement_set_presence ()">tp_svc_connection_interface_simple_presence_implement_set_presence</a> | |
307 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</a> *klass, | |
308 | <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl" title="tp_svc_connection_interface_simple_presence_set_presence_impl ()">tp_svc_connection_interface_simple_presence_set_presence_impl</a> impl); | |
309 | void <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-get-presences" title="tp_svc_connection_interface_simple_presence_return_from_get_presences ()">tp_svc_connection_interface_simple_presence_return_from_get_presences</a> | |
310 | (<a | |
311 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
312 | >DBusGMethodInvocation</a> *context, | |
313 | <a | |
314 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
315 | >GHashTable</a> *out_presence); | |
316 | void <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-set-presence" title="tp_svc_connection_interface_simple_presence_return_from_set_presence ()">tp_svc_connection_interface_simple_presence_return_from_set_presence</a> | |
317 | (<a | |
318 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
319 | >DBusGMethodInvocation</a> *context); | |
320 | void (<a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl" title="tp_svc_connection_interface_simple_presence_set_presence_impl ()">*tp_svc_connection_interface_simple_presence_set_presence_impl</a>) | |
321 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</a> *self, | |
322 | const <a | |
323 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
324 | >gchar</a> *in_status, | |
325 | const <a | |
326 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
327 | >gchar</a> *in_status_message, | |
328 | <a | |
329 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
330 | >DBusGMethodInvocation</a> *context); | |
331 | ||
332 | ||
286 | 333 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresence" title="TpSvcConnectionInterfacePresence">TpSvcConnectionInterfacePresence</a>; |
287 | 334 | <a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresenceClass" title="TpSvcConnectionInterfacePresenceClass">TpSvcConnectionInterfacePresenceClass</a>; |
288 | 335 | void (<a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-presence-add-status-impl" title="tp_svc_connection_interface_presence_add_status_impl ()">*tp_svc_connection_interface_presence_add_status_impl</a>) |
2011 | 2058 | </div> |
2012 | 2059 | <hr> |
2013 | 2060 | <div class="refsect2" lang="en"> |
2061 | <a name="TpSvcConnectionInterfaceSimplePresence"></a><h3>TpSvcConnectionInterfaceSimplePresence</h3> | |
2062 | <pre class="programlisting">typedef struct _TpSvcConnectionInterfaceSimplePresence TpSvcConnectionInterfaceSimplePresence;</pre> | |
2063 | <p> | |
2064 | Dummy typedef representing any implementation of this interface.</p> | |
2065 | <p> | |
2066 | ||
2067 | </p> | |
2068 | </div> | |
2069 | <hr> | |
2070 | <div class="refsect2" lang="en"> | |
2071 | <a name="TpSvcConnectionInterfaceSimplePresenceClass"></a><h3>TpSvcConnectionInterfaceSimplePresenceClass</h3> | |
2072 | <pre class="programlisting">typedef struct _TpSvcConnectionInterfaceSimplePresenceClass TpSvcConnectionInterfaceSimplePresenceClass;</pre> | |
2073 | <p> | |
2074 | The class of TpSvcConnectionInterfaceSimplePresence.</p> | |
2075 | <p> | |
2076 | ||
2077 | </p> | |
2078 | </div> | |
2079 | <hr> | |
2080 | <div class="refsect2" lang="en"> | |
2081 | <a name="tp-svc-connection-interface-simple-presence-emit-presences-changed"></a><h3>tp_svc_connection_interface_simple_presence_emit_presences_changed ()</h3> | |
2082 | <pre class="programlisting">void tp_svc_connection_interface_simple_presence_emit_presences_changed | |
2083 | (<a | |
2084 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer" | |
2085 | >gpointer</a> instance, | |
2086 | <a | |
2087 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
2088 | >GHashTable</a> *arg_presence);</pre> | |
2089 | <p> | |
2090 | Type-safe wrapper around g_signal_emit to emit the | |
2091 | PresencesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</p> | |
2092 | <p> | |
2093 | ||
2094 | </p> | |
2095 | <div class="variablelist"><table border="0"> | |
2096 | <col align="left" valign="top"> | |
2097 | <tbody> | |
2098 | <tr> | |
2099 | <td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td> | |
2100 | <td> The object implementing this interface | |
2101 | </td> | |
2102 | </tr> | |
2103 | <tr> | |
2104 | <td><p><span class="term"><em class="parameter"><code>arg_presence</code></em> :</span></p></td> | |
2105 | <td> GHashTable * (FIXME, generate documentation) | |
2106 | </td> | |
2107 | </tr> | |
2108 | </tbody> | |
2109 | </table></div> | |
2110 | </div> | |
2111 | <hr> | |
2112 | <div class="refsect2" lang="en"> | |
2113 | <a name="tp-svc-connection-interface-simple-presence-get-presences-impl"></a><h3>tp_svc_connection_interface_simple_presence_get_presences_impl ()</h3> | |
2114 | <pre class="programlisting">void (*tp_svc_connection_interface_simple_presence_get_presences_impl) | |
2115 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</a> *self, | |
2116 | const <a | |
2117 | href="/usr/share/gtk-doc/html/glib/glib-Arrays.html#GArray" | |
2118 | >GArray</a> *in_contacts, | |
2119 | <a | |
2120 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
2121 | >DBusGMethodInvocation</a> *context);</pre> | |
2122 | <p> | |
2123 | The signature of an implementation of the D-Bus method | |
2124 | GetPresences on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</p> | |
2125 | <p> | |
2126 | ||
2127 | </p> | |
2128 | <div class="variablelist"><table border="0"> | |
2129 | <col align="left" valign="top"> | |
2130 | <tbody> | |
2131 | <tr> | |
2132 | <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> | |
2133 | <td> The object implementing this interface | |
2134 | </td> | |
2135 | </tr> | |
2136 | <tr> | |
2137 | <td><p><span class="term"><em class="parameter"><code>in_contacts</code></em> :</span></p></td> | |
2138 | <td> const GArray * (FIXME, generate documentation) | |
2139 | </td> | |
2140 | </tr> | |
2141 | <tr> | |
2142 | <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td> | |
2143 | <td> Used to return values or throw an error | |
2144 | </td> | |
2145 | </tr> | |
2146 | </tbody> | |
2147 | </table></div> | |
2148 | </div> | |
2149 | <hr> | |
2150 | <div class="refsect2" lang="en"> | |
2151 | <a name="tp-svc-connection-interface-simple-presence-implement-get-presences"></a><h3>tp_svc_connection_interface_simple_presence_implement_get_presences ()</h3> | |
2152 | <pre class="programlisting">void tp_svc_connection_interface_simple_presence_implement_get_presences | |
2153 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</a> *klass, | |
2154 | <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl" title="tp_svc_connection_interface_simple_presence_get_presences_impl ()">tp_svc_connection_interface_simple_presence_get_presences_impl</a> impl);</pre> | |
2155 | <p> | |
2156 | Register an implementation for the GetPresences method in the vtable | |
2157 | of an implementation of this interface. To be called from | |
2158 | the interface init function.</p> | |
2159 | <p> | |
2160 | ||
2161 | </p> | |
2162 | <div class="variablelist"><table border="0"> | |
2163 | <col align="left" valign="top"> | |
2164 | <tbody> | |
2165 | <tr> | |
2166 | <td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td> | |
2167 | <td> A class whose instances implement this interface | |
2168 | </td> | |
2169 | </tr> | |
2170 | <tr> | |
2171 | <td><p><span class="term"><em class="parameter"><code>impl</code></em> :</span></p></td> | |
2172 | <td> A callback used to implement the GetPresences D-Bus method | |
2173 | </td> | |
2174 | </tr> | |
2175 | </tbody> | |
2176 | </table></div> | |
2177 | </div> | |
2178 | <hr> | |
2179 | <div class="refsect2" lang="en"> | |
2180 | <a name="tp-svc-connection-interface-simple-presence-implement-set-presence"></a><h3>tp_svc_connection_interface_simple_presence_implement_set_presence ()</h3> | |
2181 | <pre class="programlisting">void tp_svc_connection_interface_simple_presence_implement_set_presence | |
2182 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass" title="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</a> *klass, | |
2183 | <a class="link" href="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl" title="tp_svc_connection_interface_simple_presence_set_presence_impl ()">tp_svc_connection_interface_simple_presence_set_presence_impl</a> impl);</pre> | |
2184 | <p> | |
2185 | Register an implementation for the SetPresence method in the vtable | |
2186 | of an implementation of this interface. To be called from | |
2187 | the interface init function.</p> | |
2188 | <p> | |
2189 | ||
2190 | </p> | |
2191 | <div class="variablelist"><table border="0"> | |
2192 | <col align="left" valign="top"> | |
2193 | <tbody> | |
2194 | <tr> | |
2195 | <td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td> | |
2196 | <td> A class whose instances implement this interface | |
2197 | </td> | |
2198 | </tr> | |
2199 | <tr> | |
2200 | <td><p><span class="term"><em class="parameter"><code>impl</code></em> :</span></p></td> | |
2201 | <td> A callback used to implement the SetPresence D-Bus method | |
2202 | </td> | |
2203 | </tr> | |
2204 | </tbody> | |
2205 | </table></div> | |
2206 | </div> | |
2207 | <hr> | |
2208 | <div class="refsect2" lang="en"> | |
2209 | <a name="tp-svc-connection-interface-simple-presence-return-from-get-presences"></a><h3>tp_svc_connection_interface_simple_presence_return_from_get_presences ()</h3> | |
2210 | <pre class="programlisting">void tp_svc_connection_interface_simple_presence_return_from_get_presences | |
2211 | (<a | |
2212 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
2213 | >DBusGMethodInvocation</a> *context, | |
2214 | <a | |
2215 | href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable" | |
2216 | >GHashTable</a> *out_presence);</pre> | |
2217 | <p> | |
2218 | Return successfully by calling <a | |
2219 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#dbus-g-method-return" | |
2220 | ><code class="function">dbus_g_method_return()</code></a>. | |
2221 | This inline function exists only to provide type-safety.</p> | |
2222 | <p> | |
2223 | ||
2224 | </p> | |
2225 | <div class="variablelist"><table border="0"> | |
2226 | <col align="left" valign="top"> | |
2227 | <tbody> | |
2228 | <tr> | |
2229 | <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td> | |
2230 | <td> The D-Bus method invocation context | |
2231 | </td> | |
2232 | </tr> | |
2233 | <tr> | |
2234 | <td><p><span class="term"><em class="parameter"><code>out_presence</code></em> :</span></p></td> | |
2235 | <td> GHashTable * (FIXME, generate documentation) | |
2236 | </td> | |
2237 | </tr> | |
2238 | </tbody> | |
2239 | </table></div> | |
2240 | </div> | |
2241 | <hr> | |
2242 | <div class="refsect2" lang="en"> | |
2243 | <a name="tp-svc-connection-interface-simple-presence-return-from-set-presence"></a><h3>tp_svc_connection_interface_simple_presence_return_from_set_presence ()</h3> | |
2244 | <pre class="programlisting">void tp_svc_connection_interface_simple_presence_return_from_set_presence | |
2245 | (<a | |
2246 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
2247 | >DBusGMethodInvocation</a> *context);</pre> | |
2248 | <p> | |
2249 | Return successfully by calling <a | |
2250 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#dbus-g-method-return" | |
2251 | ><code class="function">dbus_g_method_return()</code></a>. | |
2252 | This inline function exists only to provide type-safety.</p> | |
2253 | <p> | |
2254 | ||
2255 | </p> | |
2256 | <div class="variablelist"><table border="0"> | |
2257 | <col align="left" valign="top"> | |
2258 | <tbody><tr> | |
2259 | <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td> | |
2260 | <td> The D-Bus method invocation context | |
2261 | </td> | |
2262 | </tr></tbody> | |
2263 | </table></div> | |
2264 | </div> | |
2265 | <hr> | |
2266 | <div class="refsect2" lang="en"> | |
2267 | <a name="tp-svc-connection-interface-simple-presence-set-presence-impl"></a><h3>tp_svc_connection_interface_simple_presence_set_presence_impl ()</h3> | |
2268 | <pre class="programlisting">void (*tp_svc_connection_interface_simple_presence_set_presence_impl) | |
2269 | (<a class="link" href="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence" title="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</a> *self, | |
2270 | const <a | |
2271 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
2272 | >gchar</a> *in_status, | |
2273 | const <a | |
2274 | href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar" | |
2275 | >gchar</a> *in_status_message, | |
2276 | <a | |
2277 | href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation" | |
2278 | >DBusGMethodInvocation</a> *context);</pre> | |
2279 | <p> | |
2280 | The signature of an implementation of the D-Bus method | |
2281 | SetPresence on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</p> | |
2282 | <p> | |
2283 | ||
2284 | </p> | |
2285 | <div class="variablelist"><table border="0"> | |
2286 | <col align="left" valign="top"> | |
2287 | <tbody> | |
2288 | <tr> | |
2289 | <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td> | |
2290 | <td> The object implementing this interface | |
2291 | </td> | |
2292 | </tr> | |
2293 | <tr> | |
2294 | <td><p><span class="term"><em class="parameter"><code>in_status</code></em> :</span></p></td> | |
2295 | <td> const gchar * (FIXME, generate documentation) | |
2296 | </td> | |
2297 | </tr> | |
2298 | <tr> | |
2299 | <td><p><span class="term"><em class="parameter"><code>in_status_message</code></em> :</span></p></td> | |
2300 | <td> const gchar * (FIXME, generate documentation) | |
2301 | </td> | |
2302 | </tr> | |
2303 | <tr> | |
2304 | <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td> | |
2305 | <td> Used to return values or throw an error | |
2306 | </td> | |
2307 | </tr> | |
2308 | </tbody> | |
2309 | </table></div> | |
2310 | </div> | |
2311 | <hr> | |
2312 | <div class="refsect2" lang="en"> | |
2014 | 2313 | <a name="TpSvcConnectionInterfacePresence"></a><h3>TpSvcConnectionInterfacePresence</h3> |
2015 | 2314 | <pre class="programlisting">typedef struct _TpSvcConnectionInterfacePresence TpSvcConnectionInterfacePresence;</pre> |
2016 | 2315 | <p> |
24 | 24 | <sub name="Connection Aliasing interface" link="telepathy-glib-connection-aliasing.html"/> |
25 | 25 | <sub name="Connection Avatars interface" link="telepathy-glib-connection-avatars.html"/> |
26 | 26 | <sub name="Connection Capabilities interface" link="telepathy-glib-connection-caps.html"/> |
27 | <sub name="Connection SimplePresence interface" link="telepathy-glib-connection-simple-presence.html"/> | |
27 | 28 | <sub name="Connection Presence interface" link="telepathy-glib-connection-presence.html"/> |
28 | 29 | <sub name="TpChannel" link="telepathy-glib-channel.html"/> |
29 | 30 | <sub name="Group interface on Channels" link="telepathy-glib-channel-group.html"/> |
243 | 244 | <function name="TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS"/> |
244 | 245 | <function name="TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS"/> |
245 | 246 | <function name="TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS"/> |
247 | <function name="TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"/> | |
248 | <function name="TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"/> | |
246 | 249 | <function name="TP_IFACE_CONNECTION_INTERFACE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS"/> |
247 | 250 | <function name="TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS"/> |
248 | 251 | <function name="TP_IFACE_CHANNEL" link="telepathy-glib-interfaces.html#TP-IFACE-CHANNEL:CAPS"/> |
338 | 341 | <function name="tp_dbus_specialized_value_slice_new ()" link="telepathy-glib-gtypes.html#tp-dbus-specialized-value-slice-new"/> |
339 | 342 | <function name="TP_HASH_TYPE_STRING_STRING_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-STRING-MAP:CAPS"/> |
340 | 343 | <function name="TP_HASH_TYPE_STRING_VARIANT_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS"/> |
344 | <function name="TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS"/> | |
341 | 345 | <function name="TP_STRUCT_TYPE_PARAM_SPEC" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-PARAM-SPEC:CAPS"/> |
342 | 346 | <function name="TP_ARRAY_TYPE_PARAM_SPEC_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS"/> |
343 | 347 | <function name="TP_STRUCT_TYPE_CHANNEL_INFO" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CHANNEL-INFO:CAPS"/> |
352 | 356 | <function name="TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS"/> |
353 | 357 | <function name="TP_STRUCT_TYPE_CONTACT_CAPABILITY" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS"/> |
354 | 358 | <function name="TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS"/> |
359 | <function name="TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS"/> | |
360 | <function name="TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS"/> | |
361 | <function name="TP_STRUCT_TYPE_SIMPLE_PRESENCE" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS"/> | |
362 | <function name="TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS"/> | |
355 | 363 | <function name="TP_HASH_TYPE_CONTACT_PRESENCES" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-CONTACT-PRESENCES:CAPS"/> |
356 | 364 | <function name="TP_HASH_TYPE_MULTIPLE_STATUS_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS"/> |
357 | 365 | <function name="TP_HASH_TYPE_STATUS_SPEC_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STATUS-SPEC-MAP:CAPS"/> |
520 | 528 | <function name="tp_cli_connection_interface_capabilities_callback_for_get_capabilities ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-callback-for-get-capabilities"/> |
521 | 529 | <function name="tp_cli_connection_interface_capabilities_connect_to_capabilities_changed ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-connect-to-capabilities-changed"/> |
522 | 530 | <function name="tp_cli_connection_interface_capabilities_signal_callback_capabilities_changed ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-signal-callback-capabilities-changed"/> |
531 | <function name="tp_cli_connection_interface_simple_presence_run_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-get-presences"/> | |
532 | <function name="tp_cli_connection_interface_simple_presence_run_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-set-presence"/> | |
533 | <function name="tp_cli_connection_interface_simple_presence_call_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-get-presences"/> | |
534 | <function name="tp_cli_connection_interface_simple_presence_call_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-set-presence"/> | |
535 | <function name="tp_cli_connection_interface_simple_presence_callback_for_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences"/> | |
536 | <function name="tp_cli_connection_interface_simple_presence_callback_for_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence"/> | |
537 | <function name="tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-connect-to-presences-changed"/> | |
538 | <function name="tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed"/> | |
523 | 539 | <function name="tp_cli_connection_interface_presence_run_add_status ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-add-status"/> |
524 | 540 | <function name="tp_cli_connection_interface_presence_run_clear_status ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-clear-status"/> |
525 | 541 | <function name="tp_cli_connection_interface_presence_run_get_presence ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-get-presence"/> |
1090 | 1106 | <function name="tp_svc_connection_return_from_request_handles ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-return-from-request-handles"/> |
1091 | 1107 | <function name="tp_svc_connection_emit_new_channel ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-emit-new-channel"/> |
1092 | 1108 | <function name="tp_svc_connection_emit_status_changed ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-emit-status-changed"/> |
1109 | <function name="TpSvcConnectionInterfaceSimplePresence" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence"/> | |
1110 | <function name="TpSvcConnectionInterfaceSimplePresenceClass" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass"/> | |
1111 | <function name="tp_svc_connection_interface_simple_presence_emit_presences_changed ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-emit-presences-changed"/> | |
1112 | <function name="tp_svc_connection_interface_simple_presence_get_presences_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl"/> | |
1113 | <function name="tp_svc_connection_interface_simple_presence_implement_get_presences ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-get-presences"/> | |
1114 | <function name="tp_svc_connection_interface_simple_presence_implement_set_presence ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-set-presence"/> | |
1115 | <function name="tp_svc_connection_interface_simple_presence_return_from_get_presences ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-get-presences"/> | |
1116 | <function name="tp_svc_connection_interface_simple_presence_return_from_set_presence ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-set-presence"/> | |
1117 | <function name="tp_svc_connection_interface_simple_presence_set_presence_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl"/> | |
1093 | 1118 | <function name="TpSvcConnectionInterfacePresence" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresence"/> |
1094 | 1119 | <function name="TpSvcConnectionInterfacePresenceClass" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresenceClass"/> |
1095 | 1120 | <function name="tp_svc_connection_interface_presence_add_status_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-presence-add-status-impl"/> |
1288 | 1313 | <function name="tp_dbus_properties_mixin_class_init ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-class-init"/> |
1289 | 1314 | <function name="tp_dbus_properties_mixin_implement_interface ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-implement-interface"/> |
1290 | 1315 | <function name="tp_dbus_properties_mixin_iface_init ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-iface-init"/> |
1316 | <function name="tp_dbus_properties_mixin_get ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-get"/> | |
1291 | 1317 | <function name="struct TpPresenceStatusOptionalArgumentSpec" link="telepathy-glib-TpPresenceMixin.html#TpPresenceStatusOptionalArgumentSpec"/> |
1292 | 1318 | <function name="TpPresenceStatusSpec" link="telepathy-glib-TpPresenceMixin.html#TpPresenceStatusSpec"/> |
1293 | 1319 | <function name="TpPresenceMixinStatusAvailableFunc ()" link="telepathy-glib-TpPresenceMixin.html#TpPresenceMixinStatusAvailableFunc"/> |
1304 | 1330 | <function name="tp_presence_mixin_emit_presence_update ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-presence-update"/> |
1305 | 1331 | <function name="tp_presence_mixin_emit_one_presence_update ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-one-presence-update"/> |
1306 | 1332 | <function name="tp_presence_mixin_iface_init ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-iface-init"/> |
1333 | <function name="tp_presence_mixin_simple_presence_iface_init ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-iface-init"/> | |
1334 | <function name="tp_presence_mixin_simple_presence_init_dbus_properties ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-init-dbus-properties"/> | |
1307 | 1335 | <function name="TpPropertySignature" link="telepathy-glib-TpPropertiesMixin.html#TpPropertySignature"/> |
1308 | 1336 | <function name="TpProperty" link="telepathy-glib-TpPropertiesMixin.html#TpProperty"/> |
1309 | 1337 | <function name="TpPropertiesContext" link="telepathy-glib-TpPropertiesMixin.html#TpPropertiesContext"/> |
1383 | 1411 | <function name="tp_text_mixin_list_pending_messages ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-list-pending-messages"/> |
1384 | 1412 | <function name="tp_text_mixin_get_message_types ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-get-message-types"/> |
1385 | 1413 | <function name="tp_text_mixin_clear ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-clear"/> |
1414 | <function name="tp_text_mixin_has_pending_messages ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-has-pending-messages"/> | |
1386 | 1415 | <function name="tp_text_mixin_iface_init ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-iface-init"/> |
1387 | 1416 | <function name="TpHandleRepoIface" link="telepathy-glib-handle-repo.html#TpHandleRepoIface-struct"/> |
1388 | 1417 | <function name="TpHandleRepoIfaceClass" link="telepathy-glib-handle-repo.html#TpHandleRepoIfaceClass"/> |
24 | 24 | <sub name="Connection Aliasing interface" link="telepathy-glib-connection-aliasing.html"/> |
25 | 25 | <sub name="Connection Avatars interface" link="telepathy-glib-connection-avatars.html"/> |
26 | 26 | <sub name="Connection Capabilities interface" link="telepathy-glib-connection-caps.html"/> |
27 | <sub name="Connection SimplePresence interface" link="telepathy-glib-connection-simple-presence.html"/> | |
27 | 28 | <sub name="Connection Presence interface" link="telepathy-glib-connection-presence.html"/> |
28 | 29 | <sub name="TpChannel" link="telepathy-glib-channel.html"/> |
29 | 30 | <sub name="Group interface on Channels" link="telepathy-glib-channel-group.html"/> |
243 | 244 | <keyword type="macro" name="TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS"/> |
244 | 245 | <keyword type="macro" name="TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS"/> |
245 | 246 | <keyword type="macro" name="TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS"/> |
247 | <keyword type="macro" name="TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"/> | |
248 | <keyword type="macro" name="TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"/> | |
246 | 249 | <keyword type="macro" name="TP_IFACE_CONNECTION_INTERFACE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS"/> |
247 | 250 | <keyword type="macro" name="TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE" link="telepathy-glib-interfaces.html#TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS"/> |
248 | 251 | <keyword type="macro" name="TP_IFACE_CHANNEL" link="telepathy-glib-interfaces.html#TP-IFACE-CHANNEL:CAPS"/> |
338 | 341 | <keyword type="function" name="tp_dbus_specialized_value_slice_new ()" link="telepathy-glib-gtypes.html#tp-dbus-specialized-value-slice-new"/> |
339 | 342 | <keyword type="macro" name="TP_HASH_TYPE_STRING_STRING_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-STRING-MAP:CAPS"/> |
340 | 343 | <keyword type="macro" name="TP_HASH_TYPE_STRING_VARIANT_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS"/> |
344 | <keyword type="macro" name="TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS"/> | |
341 | 345 | <keyword type="macro" name="TP_STRUCT_TYPE_PARAM_SPEC" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-PARAM-SPEC:CAPS"/> |
342 | 346 | <keyword type="macro" name="TP_ARRAY_TYPE_PARAM_SPEC_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS"/> |
343 | 347 | <keyword type="macro" name="TP_STRUCT_TYPE_CHANNEL_INFO" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CHANNEL-INFO:CAPS"/> |
352 | 356 | <keyword type="macro" name="TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS"/> |
353 | 357 | <keyword type="macro" name="TP_STRUCT_TYPE_CONTACT_CAPABILITY" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS"/> |
354 | 358 | <keyword type="macro" name="TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST" link="telepathy-glib-gtypes.html#TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS"/> |
359 | <keyword type="macro" name="TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS"/> | |
360 | <keyword type="macro" name="TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS"/> | |
361 | <keyword type="macro" name="TP_STRUCT_TYPE_SIMPLE_PRESENCE" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS"/> | |
362 | <keyword type="macro" name="TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC" link="telepathy-glib-gtypes.html#TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS"/> | |
355 | 363 | <keyword type="macro" name="TP_HASH_TYPE_CONTACT_PRESENCES" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-CONTACT-PRESENCES:CAPS"/> |
356 | 364 | <keyword type="macro" name="TP_HASH_TYPE_MULTIPLE_STATUS_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS"/> |
357 | 365 | <keyword type="macro" name="TP_HASH_TYPE_STATUS_SPEC_MAP" link="telepathy-glib-gtypes.html#TP-HASH-TYPE-STATUS-SPEC-MAP:CAPS"/> |
520 | 528 | <keyword type="function" name="tp_cli_connection_interface_capabilities_callback_for_get_capabilities ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-callback-for-get-capabilities"/> |
521 | 529 | <keyword type="function" name="tp_cli_connection_interface_capabilities_connect_to_capabilities_changed ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-connect-to-capabilities-changed"/> |
522 | 530 | <keyword type="function" name="tp_cli_connection_interface_capabilities_signal_callback_capabilities_changed ()" link="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-signal-callback-capabilities-changed"/> |
531 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_run_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-get-presences"/> | |
532 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_run_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-run-set-presence"/> | |
533 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_call_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-get-presences"/> | |
534 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_call_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-call-set-presence"/> | |
535 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_callback_for_get_presences ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-get-presences"/> | |
536 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_callback_for_set_presence ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-callback-for-set-presence"/> | |
537 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-connect-to-presences-changed"/> | |
538 | <keyword type="function" name="tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()" link="telepathy-glib-connection-simple-presence.html#tp-cli-connection-interface-simple-presence-signal-callback-presences-changed"/> | |
523 | 539 | <keyword type="function" name="tp_cli_connection_interface_presence_run_add_status ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-add-status"/> |
524 | 540 | <keyword type="function" name="tp_cli_connection_interface_presence_run_clear_status ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-clear-status"/> |
525 | 541 | <keyword type="function" name="tp_cli_connection_interface_presence_run_get_presence ()" link="telepathy-glib-connection-presence.html#tp-cli-connection-interface-presence-run-get-presence"/> |
1090 | 1106 | <keyword type="function" name="tp_svc_connection_return_from_request_handles ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-return-from-request-handles"/> |
1091 | 1107 | <keyword type="function" name="tp_svc_connection_emit_new_channel ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-emit-new-channel"/> |
1092 | 1108 | <keyword type="function" name="tp_svc_connection_emit_status_changed ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-emit-status-changed"/> |
1109 | <keyword type="struct" name="TpSvcConnectionInterfaceSimplePresence" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresence"/> | |
1110 | <keyword type="struct" name="TpSvcConnectionInterfaceSimplePresenceClass" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfaceSimplePresenceClass"/> | |
1111 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_emit_presences_changed ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-emit-presences-changed"/> | |
1112 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_get_presences_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-get-presences-impl"/> | |
1113 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_implement_get_presences ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-get-presences"/> | |
1114 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_implement_set_presence ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-implement-set-presence"/> | |
1115 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_return_from_get_presences ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-get-presences"/> | |
1116 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_return_from_set_presence ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-return-from-set-presence"/> | |
1117 | <keyword type="function" name="tp_svc_connection_interface_simple_presence_set_presence_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-simple-presence-set-presence-impl"/> | |
1093 | 1118 | <keyword type="struct" name="TpSvcConnectionInterfacePresence" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresence"/> |
1094 | 1119 | <keyword type="struct" name="TpSvcConnectionInterfacePresenceClass" link="telepathy-glib-svc-connection.html#TpSvcConnectionInterfacePresenceClass"/> |
1095 | 1120 | <keyword type="function" name="tp_svc_connection_interface_presence_add_status_impl ()" link="telepathy-glib-svc-connection.html#tp-svc-connection-interface-presence-add-status-impl"/> |
1288 | 1313 | <keyword type="function" name="tp_dbus_properties_mixin_class_init ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-class-init" since="0.7.3"/> |
1289 | 1314 | <keyword type="function" name="tp_dbus_properties_mixin_implement_interface ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-implement-interface"/> |
1290 | 1315 | <keyword type="function" name="tp_dbus_properties_mixin_iface_init ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-iface-init"/> |
1316 | <keyword type="function" name="tp_dbus_properties_mixin_get ()" link="telepathy-glib-dbus-properties-mixin.html#tp-dbus-properties-mixin-get" since="0.7.13"/> | |
1291 | 1317 | <keyword type="struct" name="struct TpPresenceStatusOptionalArgumentSpec" link="telepathy-glib-TpPresenceMixin.html#TpPresenceStatusOptionalArgumentSpec"/> |
1292 | 1318 | <keyword type="struct" name="TpPresenceStatusSpec" link="telepathy-glib-TpPresenceMixin.html#TpPresenceStatusSpec"/> |
1293 | 1319 | <keyword type="function" name="TpPresenceMixinStatusAvailableFunc ()" link="telepathy-glib-TpPresenceMixin.html#TpPresenceMixinStatusAvailableFunc"/> |
1304 | 1330 | <keyword type="function" name="tp_presence_mixin_emit_presence_update ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-presence-update"/> |
1305 | 1331 | <keyword type="function" name="tp_presence_mixin_emit_one_presence_update ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-emit-one-presence-update"/> |
1306 | 1332 | <keyword type="function" name="tp_presence_mixin_iface_init ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-iface-init"/> |
1333 | <keyword type="function" name="tp_presence_mixin_simple_presence_iface_init ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-iface-init" since="0.7.13"/> | |
1334 | <keyword type="function" name="tp_presence_mixin_simple_presence_init_dbus_properties ()" link="telepathy-glib-TpPresenceMixin.html#tp-presence-mixin-simple-presence-init-dbus-properties" since="0.7.13"/> | |
1307 | 1335 | <keyword type="struct" name="TpPropertySignature" link="telepathy-glib-TpPropertiesMixin.html#TpPropertySignature"/> |
1308 | 1336 | <keyword type="struct" name="TpProperty" link="telepathy-glib-TpPropertiesMixin.html#TpProperty"/> |
1309 | 1337 | <keyword type="struct" name="TpPropertiesContext" link="telepathy-glib-TpPropertiesMixin.html#TpPropertiesContext"/> |
1383 | 1411 | <keyword type="function" name="tp_text_mixin_list_pending_messages ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-list-pending-messages"/> |
1384 | 1412 | <keyword type="function" name="tp_text_mixin_get_message_types ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-get-message-types"/> |
1385 | 1413 | <keyword type="function" name="tp_text_mixin_clear ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-clear"/> |
1414 | <keyword type="function" name="tp_text_mixin_has_pending_messages ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-has-pending-messages"/> | |
1386 | 1415 | <keyword type="function" name="tp_text_mixin_iface_init ()" link="telepathy-glib-TpTextMixin.html#tp-text-mixin-iface-init"/> |
1387 | 1416 | <keyword type="struct" name="TpHandleRepoIface" link="telepathy-glib-handle-repo.html#TpHandleRepoIface-struct"/> |
1388 | 1417 | <keyword type="struct" name="TpHandleRepoIfaceClass" link="telepathy-glib-handle-repo.html#TpHandleRepoIfaceClass"/> |
31 | 31 | <xi:include href="xml/connection-aliasing.xml"/> |
32 | 32 | <xi:include href="xml/connection-avatars.xml"/> |
33 | 33 | <xi:include href="xml/connection-caps.xml"/> |
34 | <xi:include href="xml/connection-simple-presence.xml"/> | |
34 | 35 | <xi:include href="xml/connection-presence.xml"/> |
35 | 36 | <xi:include href="xml/channel.xml"/> |
36 | 37 | <xi:include href="xml/channel-group.xml"/> |
602 | 602 | TP_TYPE_SVC_CONNECTION |
603 | 603 | tp_svc_connection_get_type |
604 | 604 | TP_SVC_CONNECTION_GET_CLASS |
605 | <SUBSECTION> | |
606 | TpSvcConnectionInterfaceSimplePresence | |
607 | TpSvcConnectionInterfaceSimplePresenceClass | |
608 | tp_svc_connection_interface_simple_presence_emit_presences_changed | |
609 | tp_svc_connection_interface_simple_presence_get_presences_impl | |
610 | tp_svc_connection_interface_simple_presence_implement_get_presences | |
611 | tp_svc_connection_interface_simple_presence_implement_set_presence | |
612 | tp_svc_connection_interface_simple_presence_return_from_get_presences | |
613 | tp_svc_connection_interface_simple_presence_return_from_set_presence | |
614 | tp_svc_connection_interface_simple_presence_set_presence_impl | |
615 | <SUBSECTION Standard> | |
616 | TP_TYPE_SVC_CONNECTION_INTERFACE_SIMPLE_PRESENCE | |
617 | TP_SVC_CONNECTION_INTERFACE_SIMPLE_PRESENCE | |
618 | TP_IS_SVC_CONNECTION_INTERFACE_SIMPLE_PRESENCE | |
619 | tp_svc_connection_interface_simple_presence_get_type | |
620 | TP_SVC_CONNECTION_INTERFACE_SIMPLE_PRESENCE_GET_CLASS | |
605 | 621 | <SUBSECTION> |
606 | 622 | TpSvcConnectionInterfacePresence |
607 | 623 | TpSvcConnectionInterfacePresenceClass |
827 | 843 | tp_dbus_specialized_value_slice_new |
828 | 844 | TP_HASH_TYPE_STRING_STRING_MAP |
829 | 845 | TP_HASH_TYPE_STRING_VARIANT_MAP |
846 | TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP | |
830 | 847 | <SUBSECTION> |
831 | 848 | # Connection Manager |
832 | 849 | TP_STRUCT_TYPE_PARAM_SPEC |
851 | 868 | TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST |
852 | 869 | TP_STRUCT_TYPE_CONTACT_CAPABILITY |
853 | 870 | TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST |
871 | <SUBSECTION> | |
872 | # Connection - SimplePresence | |
873 | TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES | |
874 | TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP | |
875 | TP_STRUCT_TYPE_SIMPLE_PRESENCE | |
876 | TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC | |
854 | 877 | <SUBSECTION> |
855 | 878 | # Connection - Presence (0.16) |
856 | 879 | TP_HASH_TYPE_CONTACT_PRESENCES |
925 | 948 | tp_type_dbus_array_uv |
926 | 949 | tp_type_dbus_hash_s_28ubba_7bss_7d_29 |
927 | 950 | tp_type_dbus_hash_sa_7bsv_7d |
951 | tp_type_dbus_hash_s_28ubb_29 | |
928 | 952 | tp_type_dbus_hash_ss |
929 | 953 | tp_type_dbus_hash_sv |
930 | 954 | tp_type_dbus_hash_u_28ua_7bsa_7bsv_7d_7d_29 |
955 | tp_type_dbus_hash_u_28uss_29 | |
931 | 956 | tp_type_dbus_hash_uau |
932 | 957 | tp_type_dbus_struct_osuu |
933 | 958 | tp_type_dbus_struct_sq |
935 | 960 | tp_type_dbus_struct_susv |
936 | 961 | tp_type_dbus_struct_sy |
937 | 962 | tp_type_dbus_struct_ua_7bsa_7bsv_7d_7d |
963 | tp_type_dbus_struct_ubb | |
938 | 964 | tp_type_dbus_struct_ubba_7bss_7d |
939 | 965 | tp_type_dbus_struct_us |
966 | tp_type_dbus_struct_uss | |
940 | 967 | tp_type_dbus_struct_usa_7bsv_7d |
941 | 968 | tp_type_dbus_struct_ussu |
942 | 969 | tp_type_dbus_struct_usuu |
1057 | 1084 | tp_presence_mixin_emit_presence_update |
1058 | 1085 | tp_presence_mixin_emit_one_presence_update |
1059 | 1086 | tp_presence_mixin_iface_init |
1087 | tp_presence_mixin_simple_presence_iface_init | |
1088 | tp_presence_mixin_simple_presence_init_dbus_properties | |
1060 | 1089 | <SUBSECTION Private> |
1061 | 1090 | TP_PRESENCE_MIXIN_CLASS_OFFSET_QUARK |
1062 | 1091 | TP_PRESENCE_MIXIN_CLASS_OFFSET |
1299 | 1328 | tp_dbus_properties_mixin_class_init |
1300 | 1329 | tp_dbus_properties_mixin_implement_interface |
1301 | 1330 | tp_dbus_properties_mixin_iface_init |
1331 | tp_dbus_properties_mixin_get | |
1302 | 1332 | </SECTION> |
1303 | 1333 | |
1304 | 1334 | <SECTION> |
1348 | 1378 | tp_text_mixin_list_pending_messages |
1349 | 1379 | tp_text_mixin_get_message_types |
1350 | 1380 | tp_text_mixin_clear |
1381 | tp_text_mixin_has_pending_messages | |
1351 | 1382 | tp_text_mixin_iface_init |
1352 | 1383 | <SUBSECTION Private> |
1353 | 1384 | TP_TEXT_MIXIN_CLASS_OFFSET_QUARK |
1441 | 1472 | TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS |
1442 | 1473 | TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES |
1443 | 1474 | TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES |
1475 | TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE | |
1476 | TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE | |
1444 | 1477 | TP_IFACE_CONNECTION_INTERFACE_PRESENCE |
1445 | 1478 | TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE |
1446 | 1479 | TP_IFACE_CHANNEL |
1495 | 1528 | tp_iface_quark_connection_interface_aliasing |
1496 | 1529 | tp_iface_quark_connection_interface_avatars |
1497 | 1530 | tp_iface_quark_connection_interface_capabilities |
1531 | tp_iface_quark_connection_interface_simple_presence | |
1498 | 1532 | tp_iface_quark_connection_interface_presence |
1499 | 1533 | tp_iface_quark_connection_manager |
1500 | 1534 | tp_iface_quark_dbus_daemon |
1987 | 2021 | tp_cli_connection_interface_capabilities_callback_for_get_capabilities |
1988 | 2022 | tp_cli_connection_interface_capabilities_connect_to_capabilities_changed |
1989 | 2023 | tp_cli_connection_interface_capabilities_signal_callback_capabilities_changed |
2024 | </SECTION> | |
2025 | ||
2026 | <SECTION> | |
2027 | <FILE>connection-simple-presence</FILE> | |
2028 | <TITLE>connection-simple-presence</TITLE> | |
2029 | <INCLUDE>telepathy-glib/connection.h</INCLUDE> | |
2030 | tp_cli_connection_interface_simple_presence_run_get_presences | |
2031 | tp_cli_connection_interface_simple_presence_run_set_presence | |
2032 | tp_cli_connection_interface_simple_presence_call_get_presences | |
2033 | tp_cli_connection_interface_simple_presence_call_set_presence | |
2034 | tp_cli_connection_interface_simple_presence_callback_for_get_presences | |
2035 | tp_cli_connection_interface_simple_presence_callback_for_set_presence | |
2036 | tp_cli_connection_interface_simple_presence_connect_to_presences_changed | |
2037 | tp_cli_connection_interface_simple_presence_signal_callback_presences_changed | |
1990 | 2038 | </SECTION> |
1991 | 2039 | |
1992 | 2040 | <SECTION> |
0 | <!-- ##### SECTION Title ##### --> | |
1 | connection-simple-presence | |
2 | ||
3 | <!-- ##### SECTION Short_Description ##### --> | |
4 | ||
5 | ||
6 | <!-- ##### SECTION Long_Description ##### --> | |
7 | <para> | |
8 | ||
9 | </para> | |
10 | ||
11 | ||
12 | <!-- ##### SECTION See_Also ##### --> | |
13 | <para> | |
14 | ||
15 | </para> | |
16 | ||
17 | ||
18 | <!-- ##### SECTION Stability_Level ##### --> | |
19 | ||
20 | ||
21 | <!-- ##### FUNCTION tp_cli_connection_interface_simple_presence_run_get_presences ##### --> | |
22 | <para> | |
23 | ||
24 | </para> | |
25 | ||
26 | @proxy: | |
27 | @timeout_ms: | |
28 | @in_contacts: | |
29 | @out_presence: | |
30 | @error: | |
31 | @loop: | |
32 | @Returns: | |
33 | ||
34 | ||
35 | <!-- ##### FUNCTION tp_cli_connection_interface_simple_presence_run_set_presence ##### --> | |
36 | <para> | |
37 | ||
38 | </para> | |
39 | ||
40 | @proxy: | |
41 | @timeout_ms: | |
42 | @in_status: | |
43 | @in_status_message: | |
44 | @error: | |
45 | @loop: | |
46 | @Returns: | |
47 | ||
48 | ||
49 | <!-- ##### FUNCTION tp_cli_connection_interface_simple_presence_call_get_presences ##### --> | |
50 | <para> | |
51 | ||
52 | </para> | |
53 | ||
54 | @proxy: | |
55 | @timeout_ms: | |
56 | @in_contacts: | |
57 | @callback: | |
58 | @user_data: | |
59 | @destroy: | |
60 | @weak_object: | |
61 | @Returns: | |
62 | ||
63 | ||
64 | <!-- ##### FUNCTION tp_cli_connection_interface_simple_presence_call_set_presence ##### --> | |
65 | <para> | |
66 | ||
67 | </para> | |
68 | ||
69 | @proxy: | |
70 | @timeout_ms: | |
71 | @in_status: | |
72 | @in_status_message: | |
73 | @callback: | |
74 | @user_data: | |
75 | @destroy: | |
76 | @weak_object: | |
77 | @Returns: | |
78 | ||
79 | ||
80 | <!-- ##### USER_FUNCTION tp_cli_connection_interface_simple_presence_callback_for_get_presences ##### --> | |
81 | <para> | |
82 | ||
83 | </para> | |
84 | ||
85 | @proxy: | |
86 | @out_presence: | |
87 | @error: | |
88 | @user_data: | |
89 | @weak_object: | |
90 | ||
91 | ||
92 | <!-- ##### USER_FUNCTION tp_cli_connection_interface_simple_presence_callback_for_set_presence ##### --> | |
93 | <para> | |
94 | ||
95 | </para> | |
96 | ||
97 | @proxy: | |
98 | @error: | |
99 | @user_data: | |
100 | @weak_object: | |
101 | ||
102 | ||
103 | <!-- ##### FUNCTION tp_cli_connection_interface_simple_presence_connect_to_presences_changed ##### --> | |
104 | <para> | |
105 | ||
106 | </para> | |
107 | ||
108 | @proxy: | |
109 | @callback: | |
110 | @user_data: | |
111 | @destroy: | |
112 | @weak_object: | |
113 | @error: | |
114 | @Returns: | |
115 | ||
116 | ||
117 | <!-- ##### USER_FUNCTION tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ##### --> | |
118 | <para> | |
119 | ||
120 | </para> | |
121 | ||
122 | @proxy: | |
123 | @arg_presence: | |
124 | @user_data: | |
125 | @weak_object: | |
126 | ||
127 |
159 | 159 | @iface_data: |
160 | 160 | |
161 | 161 | |
162 | <!-- ##### FUNCTION tp_dbus_properties_mixin_get ##### --> | |
163 | <para> | |
164 | ||
165 | </para> | |
166 | ||
167 | @self: | |
168 | @interface_name: | |
169 | @property_name: | |
170 | @value: | |
171 | @error: | |
172 | @Returns: | |
173 | ||
174 |
114 | 114 | @TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY: |
115 | 115 | @TP_CONNECTION_PRESENCE_TYPE_HIDDEN: |
116 | 116 | @TP_CONNECTION_PRESENCE_TYPE_BUSY: |
117 | @TP_CONNECTION_PRESENCE_TYPE_UNKNOWN: | |
118 | @TP_CONNECTION_PRESENCE_TYPE_ERROR: | |
117 | 119 | |
118 | 120 | <!-- ##### MACRO NUM_TP_CONNECTION_PRESENCE_TYPES ##### --> |
119 | 121 | <para> |
39 | 39 | |
40 | 40 | |
41 | 41 | |
42 | <!-- ##### MACRO TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP ##### --> | |
43 | <para> | |
44 | ||
45 | </para> | |
46 | ||
47 | ||
48 | ||
42 | 49 | <!-- ##### MACRO TP_STRUCT_TYPE_PARAM_SPEC ##### --> |
43 | 50 | <para> |
44 | 51 | |
137 | 144 | |
138 | 145 | |
139 | 146 | |
147 | <!-- ##### MACRO TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES ##### --> | |
148 | <para> | |
149 | ||
150 | </para> | |
151 | ||
152 | ||
153 | ||
154 | <!-- ##### MACRO TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP ##### --> | |
155 | <para> | |
156 | ||
157 | </para> | |
158 | ||
159 | ||
160 | ||
161 | <!-- ##### MACRO TP_STRUCT_TYPE_SIMPLE_PRESENCE ##### --> | |
162 | <para> | |
163 | ||
164 | </para> | |
165 | ||
166 | ||
167 | ||
168 | <!-- ##### MACRO TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC ##### --> | |
169 | <para> | |
170 | ||
171 | </para> | |
172 | ||
173 | ||
174 | ||
140 | 175 | <!-- ##### MACRO TP_HASH_TYPE_CONTACT_PRESENCES ##### --> |
141 | 176 | <para> |
142 | 177 |
142 | 142 | |
143 | 143 | |
144 | 144 | |
145 | <!-- ##### MACRO TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE ##### --> | |
146 | <para> | |
147 | ||
148 | </para> | |
149 | ||
150 | ||
151 | ||
152 | <!-- ##### MACRO TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE ##### --> | |
153 | <para> | |
154 | ||
155 | </para> | |
156 | ||
157 | ||
158 | ||
145 | 159 | <!-- ##### MACRO TP_IFACE_CONNECTION_INTERFACE_PRESENCE ##### --> |
146 | 160 | <para> |
147 | 161 |
166 | 166 | @iface_data: |
167 | 167 | |
168 | 168 | |
169 | <!-- ##### FUNCTION tp_presence_mixin_simple_presence_iface_init ##### --> | |
170 | <para> | |
171 | ||
172 | </para> | |
173 | ||
174 | @g_iface: | |
175 | @iface_data: | |
176 | ||
177 | ||
178 | <!-- ##### FUNCTION tp_presence_mixin_simple_presence_init_dbus_properties ##### --> | |
179 | <para> | |
180 | ||
181 | </para> | |
182 | ||
183 | @cls: | |
184 | ||
185 |
383 | 383 | @arg_reason: |
384 | 384 | |
385 | 385 | |
386 | <!-- ##### STRUCT TpSvcConnectionInterfaceSimplePresence ##### --> | |
387 | <para> | |
388 | ||
389 | </para> | |
390 | ||
391 | ||
392 | <!-- ##### STRUCT TpSvcConnectionInterfaceSimplePresenceClass ##### --> | |
393 | <para> | |
394 | ||
395 | </para> | |
396 | ||
397 | ||
398 | <!-- ##### FUNCTION tp_svc_connection_interface_simple_presence_emit_presences_changed ##### --> | |
399 | <para> | |
400 | ||
401 | </para> | |
402 | ||
403 | @instance: | |
404 | @arg_presence: | |
405 | ||
406 | ||
407 | <!-- ##### USER_FUNCTION tp_svc_connection_interface_simple_presence_get_presences_impl ##### --> | |
408 | <para> | |
409 | ||
410 | </para> | |
411 | ||
412 | @self: | |
413 | @in_contacts: | |
414 | @context: | |
415 | ||
416 | ||
417 | <!-- ##### FUNCTION tp_svc_connection_interface_simple_presence_implement_get_presences ##### --> | |
418 | <para> | |
419 | ||
420 | </para> | |
421 | ||
422 | @klass: | |
423 | @impl: | |
424 | ||
425 | ||
426 | <!-- ##### FUNCTION tp_svc_connection_interface_simple_presence_implement_set_presence ##### --> | |
427 | <para> | |
428 | ||
429 | </para> | |
430 | ||
431 | @klass: | |
432 | @impl: | |
433 | ||
434 | ||
435 | <!-- ##### FUNCTION tp_svc_connection_interface_simple_presence_return_from_get_presences ##### --> | |
436 | <para> | |
437 | ||
438 | </para> | |
439 | ||
440 | @context: | |
441 | @out_presence: | |
442 | ||
443 | ||
444 | <!-- ##### FUNCTION tp_svc_connection_interface_simple_presence_return_from_set_presence ##### --> | |
445 | <para> | |
446 | ||
447 | </para> | |
448 | ||
449 | @context: | |
450 | ||
451 | ||
452 | <!-- ##### USER_FUNCTION tp_svc_connection_interface_simple_presence_set_presence_impl ##### --> | |
453 | <para> | |
454 | ||
455 | </para> | |
456 | ||
457 | @self: | |
458 | @in_status: | |
459 | @in_status_message: | |
460 | @context: | |
461 | ||
462 | ||
386 | 463 | <!-- ##### STRUCT TpSvcConnectionInterfacePresence ##### --> |
387 | 464 | <para> |
388 | 465 |
135 | 135 | @obj: |
136 | 136 | |
137 | 137 | |
138 | <!-- ##### FUNCTION tp_text_mixin_has_pending_messages ##### --> | |
139 | <para> | |
140 | ||
141 | </para> | |
142 | ||
143 | @obj: | |
144 | @first_sender: | |
145 | @Returns: | |
146 | ||
147 | ||
138 | 148 | <!-- ##### FUNCTION tp_text_mixin_iface_init ##### --> |
139 | 149 | <para> |
140 | 150 |
123 | 123 | state. |
124 | 124 | </para> |
125 | 125 | <para> |
126 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) the by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></para> | |
126 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></para> | |
127 | 127 | <para> |
128 | 128 | |
129 | 129 | </para><variablelist role="params"> |
173 | 173 | state. |
174 | 174 | </para> |
175 | 175 | <para> |
176 | Returns an array of capabilities for the given contact handles, or the connection itself (where handle is zero).</para> | |
176 | Returns an array of capabilities for the given contact handles.</para> | |
177 | 177 | <para> |
178 | 178 | |
179 | 179 | </para><variablelist role="params"> |
184 | 184 | <listitem><simpara> Timeout in milliseconds, or -1 for default |
185 | 185 | </simpara></listitem></varlistentry> |
186 | 186 | <varlistentry><term><parameter>in_handles</parameter> :</term> |
187 | <listitem><simpara> Used to pass an 'in' argument: An array of contact handles for this connection, or zero to query capabilities available on the connection itself | |
187 | <listitem><simpara> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>An array of contact handles for this connection.</p> <p>This may include zero, which originally meant a query for capabilities available on the connection itself. This usage is deprecated; clients SHOULD NOT do this, and connection managers SHOULD proceed as though zero had not been present in this list.</p> | |
188 | 188 | </simpara></listitem></varlistentry> |
189 | 189 | <varlistentry><term><parameter>out0</parameter> :</term> |
190 | <listitem><simpara> Used to return an 'out' argument if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> is returned: An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
190 | <listitem><simpara> Used to return an 'out' argument if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> is returned: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
191 | 191 | </simpara></listitem></varlistentry> |
192 | 192 | <varlistentry><term><parameter>error</parameter> :</term> |
193 | 193 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, used to return errors if <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> |
218 | 218 | Start a AdvertiseCapabilities method call. |
219 | 219 | </para> |
220 | 220 | <para> |
221 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) the by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></para> | |
221 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Used by user interfaces to indicate which channel types they are able to handle on this connection. Because these may be provided by different client processes, this method accepts channel types to add and remove from the set already advertised on this connection. The type of advertised capabilities (create versus invite) is protocol-dependent and hence cannot be set by the this method. In the case of a client adding an already advertised channel type but with new channel type specific flags, the connection manager should simply add the new flags to the set of advertised capabilities.</p> <p>Upon a successful invocation of this method, the CapabilitiesChanged signal will be emitted for the user's own handle (as returned by GetSelfHandle) by the connection manager to indicate the changes that have been made. This signal should also be monitored to ensure that the set is kept accurate - for example, a client may remove capabilities or type specific capability flags when it exits which are still provided by another client.</p></para> | |
222 | 222 | <para> |
223 | 223 | |
224 | 224 | </para><variablelist role="params"> |
275 | 275 | Start a GetCapabilities method call. |
276 | 276 | </para> |
277 | 277 | <para> |
278 | Returns an array of capabilities for the given contact handles, or the connection itself (where handle is zero).</para> | |
278 | Returns an array of capabilities for the given contact handles.</para> | |
279 | 279 | <para> |
280 | 280 | |
281 | 281 | </para><variablelist role="params"> |
287 | 287 | default |
288 | 288 | </simpara></listitem></varlistentry> |
289 | 289 | <varlistentry><term><parameter>in_handles</parameter> :</term> |
290 | <listitem><simpara> Used to pass an 'in' argument: An array of contact handles for this connection, or zero to query capabilities available on the connection itself | |
290 | <listitem><simpara> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>An array of contact handles for this connection.</p> <p>This may include zero, which originally meant a query for capabilities available on the connection itself. This usage is deprecated; clients SHOULD NOT do this, and connection managers SHOULD proceed as though zero had not been present in this list.</p> | |
291 | 291 | </simpara></listitem></varlistentry> |
292 | 292 | <varlistentry><term><parameter>callback</parameter> :</term> |
293 | 293 | <listitem><simpara> called when the method call succeeds or fails; |
363 | 363 | <listitem><simpara> the proxy on which the call was made |
364 | 364 | </simpara></listitem></varlistentry> |
365 | 365 | <varlistentry><term><parameter>out0</parameter> :</term> |
366 | <listitem><simpara> Used to return an 'out' argument if <parameter>error</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>: An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
366 | <listitem><simpara> Used to return an 'out' argument if <parameter>error</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> An array of structures containing: <ul> <li>an integer handle representing the contact</li> <li>a string channel type</li> <li>a bitwise OR of generic capability flags for the type</li> <li>a bitwise OR of type specific capability flags for the type</li> </ul> | |
367 | 367 | </simpara></listitem></varlistentry> |
368 | 368 | <varlistentry><term><parameter>error</parameter> :</term> |
369 | 369 | <listitem><simpara> <link linkend="NULL:CAPS"><literal>NULL</literal></link> on success, or an error on failure |
388 | 388 | Connect a handler to the signal CapabilitiesChanged. |
389 | 389 | </para> |
390 | 390 | <para> |
391 | Announce that there has been a change of capabilities on the given handle, or on the connection itself if the handle is zero.</para> | |
391 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Announce that there has been a change of capabilities on the given handle.</p> <p>If the handle is zero, the capabilities refer to the connection itself, in some poorly defined way. This usage is deprecated and clients should ignore it.</p></para> | |
392 | 392 | <para> |
393 | 393 | |
394 | 394 | </para><variablelist role="params"> |
0 | <?xml version="1.0"?> | |
1 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | |
2 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> | |
3 | <refentry id="telepathy-glib-connection-simple-presence"> | |
4 | <refmeta> | |
5 | <refentrytitle role="top_of_page" id="telepathy-glib-connection-simple-presence.top_of_page">Connection SimplePresence interface</refentrytitle> | |
6 | <manvolnum>3</manvolnum> | |
7 | <refmiscinfo>TELEPATHY-GLIB Library</refmiscinfo> | |
8 | </refmeta> | |
9 | ||
10 | <refnamediv> | |
11 | <refname>Connection SimplePresence interface</refname> | |
12 | <refpurpose>client-side wrappers for the SimplePresence interface</refpurpose> | |
13 | <!--[<xref linkend="desc" endterm="desc.title"/>]--> | |
14 | </refnamediv> | |
15 | ||
16 | <refsynopsisdiv id="telepathy-glib-connection-simple-presence.synopsis" role="synopsis"> | |
17 | <title role="synopsis.title">Synopsis</title> | |
18 | ||
19 | <synopsis> | |
20 | ||
21 | #include <telepathy-glib/connection.h> | |
22 | ||
23 | <link linkend="gboolean">gboolean</link> <link linkend="tp-cli-connection-interface-simple-presence-run-get-presences">tp_cli_connection_interface_simple_presence_run_get_presences</link> | |
24 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
25 | <link linkend="gint">gint</link> timeout_ms, | |
26 | const <link linkend="GArray">GArray</link> *in_contacts, | |
27 | <link linkend="GHashTable">GHashTable</link> **out_presence, | |
28 | <link linkend="GError">GError</link> **error, | |
29 | <link linkend="GMainLoop">GMainLoop</link> **loop); | |
30 | <link linkend="gboolean">gboolean</link> <link linkend="tp-cli-connection-interface-simple-presence-run-set-presence">tp_cli_connection_interface_simple_presence_run_set_presence</link> | |
31 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
32 | <link linkend="gint">gint</link> timeout_ms, | |
33 | const <link linkend="gchar">gchar</link> *in_status, | |
34 | const <link linkend="gchar">gchar</link> *in_status_message, | |
35 | <link linkend="GError">GError</link> **error, | |
36 | <link linkend="GMainLoop">GMainLoop</link> **loop); | |
37 | <link linkend="TpProxyPendingCall">TpProxyPendingCall</link>* <link linkend="tp-cli-connection-interface-simple-presence-call-get-presences">tp_cli_connection_interface_simple_presence_call_get_presences</link> | |
38 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
39 | <link linkend="gint">gint</link> timeout_ms, | |
40 | const <link linkend="GArray">GArray</link> *in_contacts, | |
41 | <link linkend="tp-cli-connection-interface-simple-presence-callback-for-get-presences">tp_cli_connection_interface_simple_presence_callback_for_get_presences</link> callback, | |
42 | <link linkend="gpointer">gpointer</link> user_data, | |
43 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
44 | <link linkend="GObject">GObject</link> *weak_object); | |
45 | <link linkend="TpProxyPendingCall">TpProxyPendingCall</link>* <link linkend="tp-cli-connection-interface-simple-presence-call-set-presence">tp_cli_connection_interface_simple_presence_call_set_presence</link> | |
46 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
47 | <link linkend="gint">gint</link> timeout_ms, | |
48 | const <link linkend="gchar">gchar</link> *in_status, | |
49 | const <link linkend="gchar">gchar</link> *in_status_message, | |
50 | <link linkend="tp-cli-connection-interface-simple-presence-callback-for-set-presence">tp_cli_connection_interface_simple_presence_callback_for_set_presence</link> callback, | |
51 | <link linkend="gpointer">gpointer</link> user_data, | |
52 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
53 | <link linkend="GObject">GObject</link> *weak_object); | |
54 | <link linkend="void">void</link> (<link linkend="tp-cli-connection-interface-simple-presence-callback-for-get-presences">*tp_cli_connection_interface_simple_presence_callback_for_get_presences</link>) | |
55 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
56 | <link linkend="GHashTable">GHashTable</link> *out_presence, | |
57 | const <link linkend="GError">GError</link> *error, | |
58 | <link linkend="gpointer">gpointer</link> user_data, | |
59 | <link linkend="GObject">GObject</link> *weak_object); | |
60 | <link linkend="void">void</link> (<link linkend="tp-cli-connection-interface-simple-presence-callback-for-set-presence">*tp_cli_connection_interface_simple_presence_callback_for_set_presence</link>) | |
61 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
62 | const <link linkend="GError">GError</link> *error, | |
63 | <link linkend="gpointer">gpointer</link> user_data, | |
64 | <link linkend="GObject">GObject</link> *weak_object); | |
65 | <link linkend="TpProxySignalConnection">TpProxySignalConnection</link>* <link linkend="tp-cli-connection-interface-simple-presence-connect-to-presences-changed">tp_cli_connection_interface_simple_presence_connect_to_presences_changed</link> | |
66 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
67 | <link linkend="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed">tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</link> callback, | |
68 | <link linkend="gpointer">gpointer</link> user_data, | |
69 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
70 | <link linkend="GObject">GObject</link> *weak_object, | |
71 | <link linkend="GError">GError</link> **error); | |
72 | <link linkend="void">void</link> (<link linkend="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed">*tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</link>) | |
73 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
74 | <link linkend="GHashTable">GHashTable</link> *arg_presence, | |
75 | <link linkend="gpointer">gpointer</link> user_data, | |
76 | <link linkend="GObject">GObject</link> *weak_object); | |
77 | </synopsis> | |
78 | </refsynopsisdiv> | |
79 | ||
80 | ||
81 | ||
82 | ||
83 | ||
84 | ||
85 | ||
86 | ||
87 | ||
88 | <refsect1 id="telepathy-glib-connection-simple-presence.description" role="desc"> | |
89 | <title role="desc.title">Description</title> | |
90 | <para> | |
91 | Most instant messaging protocols allow users to advertise their presence | |
92 | status. In Telepathy, this is represented by the SimplePresence | |
93 | interface, which lets applications advertise the presence status of the | |
94 | local user, and query the presence status of their contacts. | |
95 | </para> | |
96 | <para> | |
97 | This section documents the auto-generated C wrappers for the | |
98 | SimplePresence interface, used with <link linkend="TpConnection"><type>TpConnection</type></link> objects.</para> | |
99 | <para> | |
100 | ||
101 | </para> | |
102 | </refsect1> | |
103 | ||
104 | <refsect1 id="telepathy-glib-connection-simple-presence.details" role="details"> | |
105 | <title role="details.title">Details</title> | |
106 | <refsect2 id="tp-cli-connection-interface-simple-presence-run-get-presences" role="function"> | |
107 | <title>tp_cli_connection_interface_simple_presence_run_get_presences ()</title> | |
108 | <indexterm zone="tp-cli-connection-interface-simple-presence-run-get-presences"><primary>tp_cli_connection_interface_simple_presence_run_get_presences</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> tp_cli_connection_interface_simple_presence_run_get_presences | |
109 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
110 | <link linkend="gint">gint</link> timeout_ms, | |
111 | const <link linkend="GArray">GArray</link> *in_contacts, | |
112 | <link linkend="GHashTable">GHashTable</link> **out_presence, | |
113 | <link linkend="GError">GError</link> **error, | |
114 | <link linkend="GMainLoop">GMainLoop</link> **loop);</programlisting> | |
115 | <para> | |
116 | Call the method GetPresences and run the main loop | |
117 | until it returns. Before calling this method, you must | |
118 | add a reference to any borrowed objects you need to keep, | |
119 | and generally ensure that everything is in a consistent | |
120 | state. | |
121 | </para> | |
122 | <para> | |
123 | Get presence previously emitted by PresencesChanged for the given contacts. Data is returned in the same structure as the PresencesChanged signal; no additional network requests are made.</para> | |
124 | <para> | |
125 | ||
126 | </para><variablelist role="params"> | |
127 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
128 | <listitem><simpara> A <link linkend="TpConnection"><type>TpConnection</type></link> or subclass | |
129 | </simpara></listitem></varlistentry> | |
130 | <varlistentry><term><parameter>timeout_ms</parameter> :</term> | |
131 | <listitem><simpara> Timeout in milliseconds, or -1 for default | |
132 | </simpara></listitem></varlistentry> | |
133 | <varlistentry><term><parameter>in_contacts</parameter> :</term> | |
134 | <listitem><simpara> Used to pass an 'in' argument: An array of the contacts whose presence should be obtained. | |
135 | </simpara></listitem></varlistentry> | |
136 | <varlistentry><term><parameter>out_presence</parameter> :</term> | |
137 | <listitem><simpara> Used to return an 'out' argument if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> is returned: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Presence information in the same format as for the <tp:member-ref>PresencesChanged</tp:member-ref> signal. The returned mapping MUST include an entry for each contact in the method's argument.</p> <p>The definition of the connection presence types Unknown and Offline means that if a connection manager will return Unknown for contacts not on the subscribe list, it MUST delay the reply to this method call until it has found out which contacts are, in fact, on the subscribe list.</p> | |
138 | </simpara></listitem></varlistentry> | |
139 | <varlistentry><term><parameter>error</parameter> :</term> | |
140 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, used to return errors if <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> | |
141 | is returned | |
142 | </simpara></listitem></varlistentry> | |
143 | <varlistentry><term><parameter>loop</parameter> :</term> | |
144 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, set before re-entering | |
145 | the main loop, to point to a <link linkend="GMainLoop"><type>GMainLoop</type></link> | |
146 | which can be used to cancel this call with | |
147 | <link linkend="g-main-loop-quit"><function>g_main_loop_quit()</function></link>, causing a return of | |
148 | <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> with <parameter>error</parameter> set to <link linkend="TP-DBUS-ERROR-CANCELLED:CAPS"><literal>TP_DBUS_ERROR_CANCELLED</literal></link> | |
149 | </simpara></listitem></varlistentry> | |
150 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE and sets <parameter>error</parameter> on error | |
151 | </simpara></listitem></varlistentry> | |
152 | </variablelist></refsect2> | |
153 | <refsect2 id="tp-cli-connection-interface-simple-presence-run-set-presence" role="function"> | |
154 | <title>tp_cli_connection_interface_simple_presence_run_set_presence ()</title> | |
155 | <indexterm zone="tp-cli-connection-interface-simple-presence-run-set-presence"><primary>tp_cli_connection_interface_simple_presence_run_set_presence</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> tp_cli_connection_interface_simple_presence_run_set_presence | |
156 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
157 | <link linkend="gint">gint</link> timeout_ms, | |
158 | const <link linkend="gchar">gchar</link> *in_status, | |
159 | const <link linkend="gchar">gchar</link> *in_status_message, | |
160 | <link linkend="GError">GError</link> **error, | |
161 | <link linkend="GMainLoop">GMainLoop</link> **loop);</programlisting> | |
162 | <para> | |
163 | Call the method SetPresence and run the main loop | |
164 | until it returns. Before calling this method, you must | |
165 | add a reference to any borrowed objects you need to keep, | |
166 | and generally ensure that everything is in a consistent | |
167 | state. | |
168 | </para> | |
169 | <para> | |
170 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Request that the presence status and status message are published for the connection. Changes will be indicated by <tp:member-ref>PresencesChanged</tp:member-ref> signals being emitted.</p> <p>This method may be called on a newly-created connection while it is still in the DISCONNECTED state, to request that when the connection connects, it will do so with the selected status.</p> <p>In DISCONNECTED state the <tp:member-ref>Statuses</tp:member-ref> property will indicate which statuses are allowed to be set while DISCONNECTED (none, if the Connection Manager doesn't allow this). This value MUST NOT be cached, as the set of allowed presences might change upon connecting.</p></para> | |
171 | <para> | |
172 | ||
173 | </para><variablelist role="params"> | |
174 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
175 | <listitem><simpara> A <link linkend="TpConnection"><type>TpConnection</type></link> or subclass | |
176 | </simpara></listitem></varlistentry> | |
177 | <varlistentry><term><parameter>timeout_ms</parameter> :</term> | |
178 | <listitem><simpara> Timeout in milliseconds, or -1 for default | |
179 | </simpara></listitem></varlistentry> | |
180 | <varlistentry><term><parameter>in_status</parameter> :</term> | |
181 | <listitem><simpara> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The string identifier of the desired status. Possible status identifiers are defined in the <tp:member-ref>Statuses</tp:member-ref> property.</p> <p>Clients MUST NOT set a status whose string value they do not recognise, even if its presence type in Statuses matches what the user requested.</p> <tp:rationale> <p>Suppose a protocol has statuses that include 'phone' (of type BUSY) and 'in-a-meeting' (of type BUSY), but there is no generic 'busy' status.</p> <p>If the user requests &quot;Busy&quot; status from a menu, a client author might be tempted to pick an arbitrary status that has type BUSY. However, on this protocol, neither of the choices would be appropriate, and incorrect information about the user would be conveyed.</p> </tp:rationale> | |
182 | </simpara></listitem></varlistentry> | |
183 | <varlistentry><term><parameter>in_status_message</parameter> :</term> | |
184 | <listitem><simpara> Used to pass an 'in' argument: The status message associated with the current status. | |
185 | </simpara></listitem></varlistentry> | |
186 | <varlistentry><term><parameter>error</parameter> :</term> | |
187 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, used to return errors if <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> | |
188 | is returned | |
189 | </simpara></listitem></varlistentry> | |
190 | <varlistentry><term><parameter>loop</parameter> :</term> | |
191 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, set before re-entering | |
192 | the main loop, to point to a <link linkend="GMainLoop"><type>GMainLoop</type></link> | |
193 | which can be used to cancel this call with | |
194 | <link linkend="g-main-loop-quit"><function>g_main_loop_quit()</function></link>, causing a return of | |
195 | <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> with <parameter>error</parameter> set to <link linkend="TP-DBUS-ERROR-CANCELLED:CAPS"><literal>TP_DBUS_ERROR_CANCELLED</literal></link> | |
196 | </simpara></listitem></varlistentry> | |
197 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE and sets <parameter>error</parameter> on error | |
198 | </simpara></listitem></varlistentry> | |
199 | </variablelist></refsect2> | |
200 | <refsect2 id="tp-cli-connection-interface-simple-presence-call-get-presences" role="function"> | |
201 | <title>tp_cli_connection_interface_simple_presence_call_get_presences ()</title> | |
202 | <indexterm zone="tp-cli-connection-interface-simple-presence-call-get-presences"><primary>tp_cli_connection_interface_simple_presence_call_get_presences</primary></indexterm><programlisting><link linkend="TpProxyPendingCall">TpProxyPendingCall</link>* tp_cli_connection_interface_simple_presence_call_get_presences | |
203 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
204 | <link linkend="gint">gint</link> timeout_ms, | |
205 | const <link linkend="GArray">GArray</link> *in_contacts, | |
206 | <link linkend="tp-cli-connection-interface-simple-presence-callback-for-get-presences">tp_cli_connection_interface_simple_presence_callback_for_get_presences</link> callback, | |
207 | <link linkend="gpointer">gpointer</link> user_data, | |
208 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
209 | <link linkend="GObject">GObject</link> *weak_object);</programlisting> | |
210 | <para> | |
211 | Start a GetPresences method call. | |
212 | </para> | |
213 | <para> | |
214 | Get presence previously emitted by PresencesChanged for the given contacts. Data is returned in the same structure as the PresencesChanged signal; no additional network requests are made.</para> | |
215 | <para> | |
216 | ||
217 | </para><variablelist role="params"> | |
218 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
219 | <listitem><simpara> the <link linkend="TpProxy"><type>TpProxy</type></link> | |
220 | </simpara></listitem></varlistentry> | |
221 | <varlistentry><term><parameter>timeout_ms</parameter> :</term> | |
222 | <listitem><simpara> the timeout in milliseconds, or -1 to use the | |
223 | default | |
224 | </simpara></listitem></varlistentry> | |
225 | <varlistentry><term><parameter>in_contacts</parameter> :</term> | |
226 | <listitem><simpara> Used to pass an 'in' argument: An array of the contacts whose presence should be obtained. | |
227 | </simpara></listitem></varlistentry> | |
228 | <varlistentry><term><parameter>callback</parameter> :</term> | |
229 | <listitem><simpara> called when the method call succeeds or fails; | |
230 | may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> to make a "fire and forget" call with no | |
231 | reply tracking | |
232 | </simpara></listitem></varlistentry> | |
233 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
234 | <listitem><simpara> user-supplied data passed to the callback; | |
235 | must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
236 | </simpara></listitem></varlistentry> | |
237 | <varlistentry><term><parameter>destroy</parameter> :</term> | |
238 | <listitem><simpara> called with the user_data as argument, after the | |
239 | call has succeeded, failed or been cancelled; | |
240 | must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
241 | </simpara></listitem></varlistentry> | |
242 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
243 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, a <link linkend="GObject"><type>GObject</type></link> which will be | |
244 | weakly referenced; if it is destroyed, this call | |
245 | will automatically be cancelled. Must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if | |
246 | <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
247 | </simpara></listitem></varlistentry> | |
248 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="TpProxyPendingCall"><type>TpProxyPendingCall</type></link> representing the call in | |
249 | progress. It is borrowed from the object, and will become | |
250 | invalid when the callback is called, the call is | |
251 | cancelled or the <link linkend="TpProxy"><type>TpProxy</type></link> becomes invalid. | |
252 | </simpara></listitem></varlistentry> | |
253 | </variablelist></refsect2> | |
254 | <refsect2 id="tp-cli-connection-interface-simple-presence-call-set-presence" role="function"> | |
255 | <title>tp_cli_connection_interface_simple_presence_call_set_presence ()</title> | |
256 | <indexterm zone="tp-cli-connection-interface-simple-presence-call-set-presence"><primary>tp_cli_connection_interface_simple_presence_call_set_presence</primary></indexterm><programlisting><link linkend="TpProxyPendingCall">TpProxyPendingCall</link>* tp_cli_connection_interface_simple_presence_call_set_presence | |
257 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
258 | <link linkend="gint">gint</link> timeout_ms, | |
259 | const <link linkend="gchar">gchar</link> *in_status, | |
260 | const <link linkend="gchar">gchar</link> *in_status_message, | |
261 | <link linkend="tp-cli-connection-interface-simple-presence-callback-for-set-presence">tp_cli_connection_interface_simple_presence_callback_for_set_presence</link> callback, | |
262 | <link linkend="gpointer">gpointer</link> user_data, | |
263 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
264 | <link linkend="GObject">GObject</link> *weak_object);</programlisting> | |
265 | <para> | |
266 | Start a SetPresence method call. | |
267 | </para> | |
268 | <para> | |
269 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Request that the presence status and status message are published for the connection. Changes will be indicated by <tp:member-ref>PresencesChanged</tp:member-ref> signals being emitted.</p> <p>This method may be called on a newly-created connection while it is still in the DISCONNECTED state, to request that when the connection connects, it will do so with the selected status.</p> <p>In DISCONNECTED state the <tp:member-ref>Statuses</tp:member-ref> property will indicate which statuses are allowed to be set while DISCONNECTED (none, if the Connection Manager doesn't allow this). This value MUST NOT be cached, as the set of allowed presences might change upon connecting.</p></para> | |
270 | <para> | |
271 | ||
272 | </para><variablelist role="params"> | |
273 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
274 | <listitem><simpara> the <link linkend="TpProxy"><type>TpProxy</type></link> | |
275 | </simpara></listitem></varlistentry> | |
276 | <varlistentry><term><parameter>timeout_ms</parameter> :</term> | |
277 | <listitem><simpara> the timeout in milliseconds, or -1 to use the | |
278 | default | |
279 | </simpara></listitem></varlistentry> | |
280 | <varlistentry><term><parameter>in_status</parameter> :</term> | |
281 | <listitem><simpara> Used to pass an 'in' argument: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The string identifier of the desired status. Possible status identifiers are defined in the <tp:member-ref>Statuses</tp:member-ref> property.</p> <p>Clients MUST NOT set a status whose string value they do not recognise, even if its presence type in Statuses matches what the user requested.</p> <tp:rationale> <p>Suppose a protocol has statuses that include 'phone' (of type BUSY) and 'in-a-meeting' (of type BUSY), but there is no generic 'busy' status.</p> <p>If the user requests &quot;Busy&quot; status from a menu, a client author might be tempted to pick an arbitrary status that has type BUSY. However, on this protocol, neither of the choices would be appropriate, and incorrect information about the user would be conveyed.</p> </tp:rationale> | |
282 | </simpara></listitem></varlistentry> | |
283 | <varlistentry><term><parameter>in_status_message</parameter> :</term> | |
284 | <listitem><simpara> Used to pass an 'in' argument: The status message associated with the current status. | |
285 | </simpara></listitem></varlistentry> | |
286 | <varlistentry><term><parameter>callback</parameter> :</term> | |
287 | <listitem><simpara> called when the method call succeeds or fails; | |
288 | may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> to make a "fire and forget" call with no | |
289 | reply tracking | |
290 | </simpara></listitem></varlistentry> | |
291 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
292 | <listitem><simpara> user-supplied data passed to the callback; | |
293 | must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
294 | </simpara></listitem></varlistentry> | |
295 | <varlistentry><term><parameter>destroy</parameter> :</term> | |
296 | <listitem><simpara> called with the user_data as argument, after the | |
297 | call has succeeded, failed or been cancelled; | |
298 | must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
299 | </simpara></listitem></varlistentry> | |
300 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
301 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, a <link linkend="GObject"><type>GObject</type></link> which will be | |
302 | weakly referenced; if it is destroyed, this call | |
303 | will automatically be cancelled. Must be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if | |
304 | <parameter>callback</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
305 | </simpara></listitem></varlistentry> | |
306 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="TpProxyPendingCall"><type>TpProxyPendingCall</type></link> representing the call in | |
307 | progress. It is borrowed from the object, and will become | |
308 | invalid when the callback is called, the call is | |
309 | cancelled or the <link linkend="TpProxy"><type>TpProxy</type></link> becomes invalid. | |
310 | </simpara></listitem></varlistentry> | |
311 | </variablelist></refsect2> | |
312 | <refsect2 id="tp-cli-connection-interface-simple-presence-callback-for-get-presences" role="function"> | |
313 | <title>tp_cli_connection_interface_simple_presence_callback_for_get_presences ()</title> | |
314 | <indexterm zone="tp-cli-connection-interface-simple-presence-callback-for-get-presences"><primary>tp_cli_connection_interface_simple_presence_callback_for_get_presences</primary></indexterm><programlisting><link linkend="void">void</link> (*tp_cli_connection_interface_simple_presence_callback_for_get_presences) | |
315 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
316 | <link linkend="GHashTable">GHashTable</link> *out_presence, | |
317 | const <link linkend="GError">GError</link> *error, | |
318 | <link linkend="gpointer">gpointer</link> user_data, | |
319 | <link linkend="GObject">GObject</link> *weak_object);</programlisting> | |
320 | <para> | |
321 | Signature of the callback called when a GetPresences method call | |
322 | succeeds or fails.</para> | |
323 | <para> | |
324 | ||
325 | </para><variablelist role="params"> | |
326 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
327 | <listitem><simpara> the proxy on which the call was made | |
328 | </simpara></listitem></varlistentry> | |
329 | <varlistentry><term><parameter>out_presence</parameter> :</term> | |
330 | <listitem><simpara> Used to return an 'out' argument if <parameter>error</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Presence information in the same format as for the <tp:member-ref>PresencesChanged</tp:member-ref> signal. The returned mapping MUST include an entry for each contact in the method's argument.</p> <p>The definition of the connection presence types Unknown and Offline means that if a connection manager will return Unknown for contacts not on the subscribe list, it MUST delay the reply to this method call until it has found out which contacts are, in fact, on the subscribe list.</p> | |
331 | </simpara></listitem></varlistentry> | |
332 | <varlistentry><term><parameter>error</parameter> :</term> | |
333 | <listitem><simpara> <link linkend="NULL:CAPS"><literal>NULL</literal></link> on success, or an error on failure | |
334 | </simpara></listitem></varlistentry> | |
335 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
336 | <listitem><simpara> user-supplied data | |
337 | </simpara></listitem></varlistentry> | |
338 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
339 | <listitem><simpara> user-supplied object | |
340 | </simpara></listitem></varlistentry> | |
341 | </variablelist></refsect2> | |
342 | <refsect2 id="tp-cli-connection-interface-simple-presence-callback-for-set-presence" role="function"> | |
343 | <title>tp_cli_connection_interface_simple_presence_callback_for_set_presence ()</title> | |
344 | <indexterm zone="tp-cli-connection-interface-simple-presence-callback-for-set-presence"><primary>tp_cli_connection_interface_simple_presence_callback_for_set_presence</primary></indexterm><programlisting><link linkend="void">void</link> (*tp_cli_connection_interface_simple_presence_callback_for_set_presence) | |
345 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
346 | const <link linkend="GError">GError</link> *error, | |
347 | <link linkend="gpointer">gpointer</link> user_data, | |
348 | <link linkend="GObject">GObject</link> *weak_object);</programlisting> | |
349 | <para> | |
350 | Signature of the callback called when a SetPresence method call | |
351 | succeeds or fails.</para> | |
352 | <para> | |
353 | ||
354 | </para><variablelist role="params"> | |
355 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
356 | <listitem><simpara> the proxy on which the call was made | |
357 | </simpara></listitem></varlistentry> | |
358 | <varlistentry><term><parameter>error</parameter> :</term> | |
359 | <listitem><simpara> <link linkend="NULL:CAPS"><literal>NULL</literal></link> on success, or an error on failure | |
360 | </simpara></listitem></varlistentry> | |
361 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
362 | <listitem><simpara> user-supplied data | |
363 | </simpara></listitem></varlistentry> | |
364 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
365 | <listitem><simpara> user-supplied object | |
366 | </simpara></listitem></varlistentry> | |
367 | </variablelist></refsect2> | |
368 | <refsect2 id="tp-cli-connection-interface-simple-presence-connect-to-presences-changed" role="function"> | |
369 | <title>tp_cli_connection_interface_simple_presence_connect_to_presences_changed ()</title> | |
370 | <indexterm zone="tp-cli-connection-interface-simple-presence-connect-to-presences-changed"><primary>tp_cli_connection_interface_simple_presence_connect_to_presences_changed</primary></indexterm><programlisting><link linkend="TpProxySignalConnection">TpProxySignalConnection</link>* tp_cli_connection_interface_simple_presence_connect_to_presences_changed | |
371 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
372 | <link linkend="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed">tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</link> callback, | |
373 | <link linkend="gpointer">gpointer</link> user_data, | |
374 | <link linkend="GDestroyNotify">GDestroyNotify</link> destroy, | |
375 | <link linkend="GObject">GObject</link> *weak_object, | |
376 | <link linkend="GError">GError</link> **error);</programlisting> | |
377 | <para> | |
378 | Connect a handler to the signal PresencesChanged. | |
379 | </para> | |
380 | <para> | |
381 | This signal should be emitted when your own presence has been changed, or the presence of the member of any of the connection's channels has been changed.</para> | |
382 | <para> | |
383 | ||
384 | </para><variablelist role="params"> | |
385 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
386 | <listitem><simpara> A <link linkend="TpConnection"><type>TpConnection</type></link> or subclass | |
387 | </simpara></listitem></varlistentry> | |
388 | <varlistentry><term><parameter>callback</parameter> :</term> | |
389 | <listitem><simpara> Callback to be called when the signal is | |
390 | received | |
391 | </simpara></listitem></varlistentry> | |
392 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
393 | <listitem><simpara> User-supplied data for the callback | |
394 | </simpara></listitem></varlistentry> | |
395 | <varlistentry><term><parameter>destroy</parameter> :</term> | |
396 | <listitem><simpara> Destructor for the user-supplied data, which | |
397 | will be called when this signal is disconnected, or | |
398 | before this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> | |
399 | </simpara></listitem></varlistentry> | |
400 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
401 | <listitem><simpara> A <link linkend="GObject"><type>GObject</type></link> which will be weakly referenced; | |
402 | if it is destroyed, this callback will automatically be | |
403 | disconnected | |
404 | </simpara></listitem></varlistentry> | |
405 | <varlistentry><term><parameter>error</parameter> :</term> | |
406 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, used to raise an error if <link linkend="NULL:CAPS"><literal>NULL</literal></link> is | |
407 | returned | |
408 | </simpara></listitem></varlistentry> | |
409 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="TpProxySignalConnection"><type>TpProxySignalConnection</type></link> containing all of the | |
410 | above, which can be used to disconnect the signal; or | |
411 | <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the proxy does not have the desired interface | |
412 | or has become invalid. | |
413 | </simpara></listitem></varlistentry> | |
414 | </variablelist></refsect2> | |
415 | <refsect2 id="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed" role="function"> | |
416 | <title>tp_cli_connection_interface_simple_presence_signal_callback_presences_changed ()</title> | |
417 | <indexterm zone="tp-cli-connection-interface-simple-presence-signal-callback-presences-changed"><primary>tp_cli_connection_interface_simple_presence_signal_callback_presences_changed</primary></indexterm><programlisting><link linkend="void">void</link> (*tp_cli_connection_interface_simple_presence_signal_callback_presences_changed) | |
418 | (<link linkend="TpConnection">TpConnection</link> *proxy, | |
419 | <link linkend="GHashTable">GHashTable</link> *arg_presence, | |
420 | <link linkend="gpointer">gpointer</link> user_data, | |
421 | <link linkend="GObject">GObject</link> *weak_object);</programlisting> | |
422 | <para> | |
423 | Represents the signature of a callback for the signal PresencesChanged.</para> | |
424 | <para> | |
425 | ||
426 | </para><variablelist role="params"> | |
427 | <varlistentry><term><parameter>proxy</parameter> :</term> | |
428 | <listitem><simpara> The proxy on which <link linkend="tp-cli-connection-interface-simple-presence-connect-to-presences-changed"><function>tp_cli_connection_interface_simple_presence_connect_to_presences_changed()</function></link> | |
429 | was called | |
430 | </simpara></listitem></varlistentry> | |
431 | <varlistentry><term><parameter>arg_presence</parameter> :</term> | |
432 | <listitem><simpara> A dictionary of contact handles mapped to the status, presence type and status message. | |
433 | </simpara></listitem></varlistentry> | |
434 | <varlistentry><term><parameter>user_data</parameter> :</term> | |
435 | <listitem><simpara> User-supplied data | |
436 | </simpara></listitem></varlistentry> | |
437 | <varlistentry><term><parameter>weak_object</parameter> :</term> | |
438 | <listitem><simpara> User-supplied weakly referenced object | |
439 | </simpara></listitem></varlistentry> | |
440 | </variablelist></refsect2> | |
441 | ||
442 | </refsect1> | |
443 | ||
444 | ||
445 | ||
446 | <refsect1 id="telepathy-glib-connection-simple-presence.see-also"> | |
447 | <title>See Also</title> | |
448 | <link linkend="TpConnection"><type>TpConnection</type></link> | |
449 | </refsect1> | |
450 | ||
451 | </refentry> |
904 | 904 | Start a GetInterfaces method call. |
905 | 905 | </para> |
906 | 906 | <para> |
907 | Get the optional interfaces supported by this connection.</para> | |
907 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Get the optional interfaces supported by this connection. Before the connection status changes to CONNECTED, the return from this method may change at any time, but it is guaranteed that interfaces will only be added, not removed. After the connection status changes to CONNECTED, the return from this method cannot change further.</p> <p>There is no explicit change notification; reasonable behaviour for a client would be to retrieve the interfaces list once initially, and once more when it becomes CONNECTED.</p> <tp:rationale> <p>In some connection managers, certain capabilities of a connection are known to be implemented for all connections (e.g. support for SimplePresence), and some interfaces (like SimplePresence) can even be used before connecting. Other capabilities may or may not exist, depending on server functionality; by the time the connection goes CONNECTED, the connection manager is expected to have evaluated the server's functionality and enabled any extra interfaces for the remainder of the Connection's lifetime.</p> </tp:rationale></para> | |
908 | 908 | <para> |
909 | 909 | |
910 | 910 | </para><variablelist role="params"> |
957 | 957 | state. |
958 | 958 | </para> |
959 | 959 | <para> |
960 | Get the optional interfaces supported by this connection.</para> | |
960 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Get the optional interfaces supported by this connection. Before the connection status changes to CONNECTED, the return from this method may change at any time, but it is guaranteed that interfaces will only be added, not removed. After the connection status changes to CONNECTED, the return from this method cannot change further.</p> <p>There is no explicit change notification; reasonable behaviour for a client would be to retrieve the interfaces list once initially, and once more when it becomes CONNECTED.</p> <tp:rationale> <p>In some connection managers, certain capabilities of a connection are known to be implemented for all connections (e.g. support for SimplePresence), and some interfaces (like SimplePresence) can even be used before connecting. Other capabilities may or may not exist, depending on server functionality; by the time the connection goes CONNECTED, the connection manager is expected to have evaluated the server's functionality and enabled any extra interfaces for the remainder of the Connection's lifetime.</p> </tp:rationale></para> | |
961 | 961 | <para> |
962 | 962 | |
963 | 963 | </para><variablelist role="params"> |
64 | 64 | <link linkend="TpDBusPropertiesMixinPropImpl">TpDBusPropertiesMixinPropImpl</link> *props); |
65 | 65 | <link linkend="void">void</link> <link linkend="tp-dbus-properties-mixin-iface-init">tp_dbus_properties_mixin_iface_init</link> (<link linkend="gpointer">gpointer</link> g_iface, |
66 | 66 | <link linkend="gpointer">gpointer</link> iface_data); |
67 | <link linkend="gboolean">gboolean</link> <link linkend="tp-dbus-properties-mixin-get">tp_dbus_properties_mixin_get</link> (<link linkend="GObject">GObject</link> *self, | |
68 | const <link linkend="gchar">gchar</link> *interface_name, | |
69 | const <link linkend="gchar">gchar</link> *property_name, | |
70 | <link linkend="GValue">GValue</link> *value, | |
71 | <link linkend="GError">GError</link> **error); | |
67 | 72 | </synopsis> |
68 | 73 | </refsynopsisdiv> |
69 | 74 | |
590 | 595 | <listitem><simpara> ignored |
591 | 596 | </simpara></listitem></varlistentry> |
592 | 597 | </variablelist></refsect2> |
598 | <refsect2 id="tp-dbus-properties-mixin-get" role="function" condition="since:0.7.13"> | |
599 | <title>tp_dbus_properties_mixin_get ()</title> | |
600 | <indexterm zone="tp-dbus-properties-mixin-get" role="0.7.13"><primary>tp_dbus_properties_mixin_get</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> tp_dbus_properties_mixin_get (<link linkend="GObject">GObject</link> *self, | |
601 | const <link linkend="gchar">gchar</link> *interface_name, | |
602 | const <link linkend="gchar">gchar</link> *property_name, | |
603 | <link linkend="GValue">GValue</link> *value, | |
604 | <link linkend="GError">GError</link> **error);</programlisting> | |
605 | <para> | |
606 | Initialize <parameter>value</parameter> with the type of the property <parameter>property_name</parameter> on | |
607 | <parameter>interface_name</parameter>, and write the value of that property into it as if | |
608 | by calling the D-Bus method org.freedesktop.DBus.Properties.Get. | |
609 | </para> | |
610 | <para> | |
611 | If Get would return a D-Bus error, <parameter>value</parameter> remains unset and <parameter>error</parameter> | |
612 | is filled in instead.</para> | |
613 | <para> | |
614 | ||
615 | </para><variablelist role="params"> | |
616 | <varlistentry><term><parameter>self</parameter> :</term> | |
617 | <listitem><simpara> an object with this mixin | |
618 | </simpara></listitem></varlistentry> | |
619 | <varlistentry><term><parameter>interface_name</parameter> :</term> | |
620 | <listitem><simpara> a D-Bus interface name | |
621 | </simpara></listitem></varlistentry> | |
622 | <varlistentry><term><parameter>property_name</parameter> :</term> | |
623 | <listitem><simpara> a D-Bus property name | |
624 | </simpara></listitem></varlistentry> | |
625 | <varlistentry><term><parameter>value</parameter> :</term> | |
626 | <listitem><simpara> an unset GValue (initialized to all zeroes) | |
627 | </simpara></listitem></varlistentry> | |
628 | <varlistentry><term><parameter>error</parameter> :</term> | |
629 | <listitem><simpara> used to return an error on failure | |
630 | </simpara></listitem></varlistentry> | |
631 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> (filling <parameter>value</parameter>) on success, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> (setting <parameter>error</parameter>) | |
632 | on failure | |
633 | </simpara></listitem></varlistentry> | |
634 | </variablelist><para role="since">Since 0.7.13 | |
635 | </para></refsect2> | |
593 | 636 | |
594 | 637 | </refsect1> |
595 | 638 |
384 | 384 | TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY = 4, |
385 | 385 | TP_CONNECTION_PRESENCE_TYPE_HIDDEN = 5, |
386 | 386 | TP_CONNECTION_PRESENCE_TYPE_BUSY = 6, |
387 | TP_CONNECTION_PRESENCE_TYPE_UNKNOWN = 7, | |
388 | TP_CONNECTION_PRESENCE_TYPE_ERROR = 8, | |
387 | 389 | } TpConnectionPresenceType; |
388 | 390 | </programlisting> |
389 | 391 | <para> |
393 | 395 | </para><variablelist role="enum"> |
394 | 396 | <varlistentry id="TP-CONNECTION-PRESENCE-TYPE-UNSET:CAPS" role="constant"> |
395 | 397 | <term><literal>TP_CONNECTION_PRESENCE_TYPE_UNSET</literal></term> |
396 | <listitem><simpara> <![CDATA[ An invalid presence type used as a null value ]]> | |
398 | <listitem><simpara> <![CDATA[ An invalid presence type used as a null value. This value MUST NOT appear in the result of GetStatuses, or in the Statuses property of the SimplePresence interface. ]]> | |
397 | 399 | </simpara></listitem> |
398 | 400 | </varlistentry> |
399 | 401 | <varlistentry id="TP-CONNECTION-PRESENCE-TYPE-OFFLINE:CAPS" role="constant"> |
424 | 426 | <varlistentry id="TP-CONNECTION-PRESENCE-TYPE-BUSY:CAPS" role="constant"> |
425 | 427 | <term><literal>TP_CONNECTION_PRESENCE_TYPE_BUSY</literal></term> |
426 | 428 | <listitem><simpara> <![CDATA[ Busy, Do Not Disturb. ]]> |
429 | </simpara></listitem> | |
430 | </varlistentry> | |
431 | <varlistentry id="TP-CONNECTION-PRESENCE-TYPE-UNKNOWN:CAPS" role="constant"> | |
432 | <term><literal>TP_CONNECTION_PRESENCE_TYPE_UNKNOWN</literal></term> | |
433 | <listitem><simpara> <![CDATA[ Unknown, unable to determine presence for this contact, for example if the protocol only allows presence of subscribed contacts. ]]> | |
434 | </simpara></listitem> | |
435 | </varlistentry> | |
436 | <varlistentry id="TP-CONNECTION-PRESENCE-TYPE-ERROR:CAPS" role="constant"> | |
437 | <term><literal>TP_CONNECTION_PRESENCE_TYPE_ERROR</literal></term> | |
438 | <listitem><simpara> <![CDATA[ Error, an error occurred while trying to determine presence. The message, if set, is an error from the server. ]]> | |
427 | 439 | </simpara></listitem> |
428 | 440 | </varlistentry> |
429 | 441 | </variablelist></refsect2> |
975 | 987 | </varlistentry> |
976 | 988 | <varlistentry id="TP-CHANNEL-GROUP-FLAG-HANDLE-OWNERS-NOT-AVAILABLE:CAPS" role="constant"> |
977 | 989 | <term><literal>TP_CHANNEL_GROUP_FLAG_HANDLE_OWNERS_NOT_AVAILABLE</literal></term> |
978 | <listitem><simpara> <![CDATA[ In rooms with channel specific handles (ie Channel_Specific_Handles flag is set), this flag indicates that none of the handle owners are available, and that GetHandleOwners method will always return 0 for channel members other than the self handle. ]]> | |
990 | <listitem><simpara> <![CDATA[ In rooms with channel specific handles (ie Channel_Specific_Handles flag is set), this flag indicates that no handle owners are available, apart from the owner of the SelfHandle. This used to be an important optimization to avoid repeated GetHandleOwners calls, before we introduced the HandleOwner property and HandleOwnerChanged signal. ]]> | |
979 | 991 | </simpara></listitem> |
980 | 992 | </varlistentry> |
981 | 993 | <varlistentry id="TP-CHANNEL-GROUP-FLAG-PROPERTIES:CAPS" role="constant"> |
24 | 24 | <link linkend="GValue">GValue</link>* <link linkend="tp-dbus-specialized-value-slice-new">tp_dbus_specialized_value_slice_new</link> (<link linkend="GType">GType</link> type); |
25 | 25 | #define <link linkend="TP-HASH-TYPE-STRING-STRING-MAP:CAPS">TP_HASH_TYPE_STRING_STRING_MAP</link> |
26 | 26 | #define <link linkend="TP-HASH-TYPE-STRING-VARIANT-MAP:CAPS">TP_HASH_TYPE_STRING_VARIANT_MAP</link> |
27 | #define <link linkend="TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS">TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</link> | |
27 | 28 | |
28 | 29 | #define <link linkend="TP-STRUCT-TYPE-PARAM-SPEC:CAPS">TP_STRUCT_TYPE_PARAM_SPEC</link> |
29 | 30 | #define <link linkend="TP-ARRAY-TYPE-PARAM-SPEC-LIST:CAPS">TP_ARRAY_TYPE_PARAM_SPEC_LIST</link> |
43 | 44 | #define <link linkend="TP-ARRAY-TYPE-CAPABILITY-PAIR-LIST:CAPS">TP_ARRAY_TYPE_CAPABILITY_PAIR_LIST</link> |
44 | 45 | #define <link linkend="TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS">TP_STRUCT_TYPE_CONTACT_CAPABILITY</link> |
45 | 46 | #define <link linkend="TP-ARRAY-TYPE-CONTACT-CAPABILITY-LIST:CAPS">TP_ARRAY_TYPE_CONTACT_CAPABILITY_LIST</link> |
47 | ||
48 | #define <link linkend="TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS">TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</link> | |
49 | #define <link linkend="TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS">TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</link> | |
50 | #define <link linkend="TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS">TP_STRUCT_TYPE_SIMPLE_PRESENCE</link> | |
51 | #define <link linkend="TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS">TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</link> | |
46 | 52 | |
47 | 53 | #define <link linkend="TP-HASH-TYPE-CONTACT-PRESENCES:CAPS">TP_HASH_TYPE_CONTACT_PRESENCES</link> |
48 | 54 | #define <link linkend="TP-HASH-TYPE-MULTIPLE-STATUS-MAP:CAPS">TP_HASH_TYPE_MULTIPLE_STATUS_MAP</link> |
182 | 188 | <para> |
183 | 189 | |
184 | 190 | </para></refsect2> |
191 | <refsect2 id="TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS" role="macro"> | |
192 | <title>TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</title> | |
193 | <indexterm zone="TP-HASH-TYPE-QUALIFIED-PROPERTY-VALUE-MAP:CAPS"><primary>TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</primary></indexterm><programlisting>#define TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP</programlisting> | |
194 | <para> | |
195 | A mapping from strings representing D-Bus properties (by their namespaced names) to their values. | |
196 | </para> | |
197 | <para> | |
198 | This macro expands to a call to a function | |
199 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GHashTable"><type>GHashTable</type></link> | |
200 | appropriate for representing a D-Bus | |
201 | dictionary of signature | |
202 | <literal>a{sv}</literal>. | |
203 | </para> | |
204 | <para> | |
205 | Keys (D-Bus type <literal>s</literal>, | |
206 | type <literal>DBus_Qualified_Member</literal>, | |
207 | named <literal>Key</literal>): | |
208 | A D-Bus interface name, followed by a dot and a D-Bus property name. | |
209 | </para> | |
210 | <para> | |
211 | Values (D-Bus type <literal>v</literal>, | |
212 | named <literal>Value</literal>): | |
213 | The value of the property.</para> | |
214 | <para> | |
215 | ||
216 | </para></refsect2> | |
185 | 217 | <refsect2 id="TP-STRUCT-TYPE-PARAM-SPEC:CAPS" role="macro"> |
186 | 218 | <title>TP_STRUCT_TYPE_PARAM_SPEC</title> |
187 | 219 | <indexterm zone="TP-STRUCT-TYPE-PARAM-SPEC:CAPS"><primary>TP_STRUCT_TYPE_PARAM_SPEC</primary></indexterm><programlisting>#define TP_STRUCT_TYPE_PARAM_SPEC</programlisting> |
509 | 541 | Expands to a call to a function |
510 | 542 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GPtrArray"><type>GPtrArray</type></link> |
511 | 543 | of <link linkend="TP-STRUCT-TYPE-CONTACT-CAPABILITY:CAPS"><type>TP_STRUCT_TYPE_CONTACT_CAPABILITY</type></link>.</para> |
544 | <para> | |
545 | ||
546 | </para></refsect2> | |
547 | <refsect2 id="TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS" role="macro"> | |
548 | <title>TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</title> | |
549 | <indexterm zone="TP-HASH-TYPE-SIMPLE-CONTACT-PRESENCES:CAPS"><primary>TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</primary></indexterm><programlisting>#define TP_HASH_TYPE_SIMPLE_CONTACT_PRESENCES</programlisting> | |
550 | <para> | |
551 | Mapping returned by <tp:member-ref>GetPresences</tp:member-ref> and signalled by <tp:member-ref>PresencesChanged</tp:member-ref>, indicating the presence of a number of contacts. | |
552 | </para> | |
553 | <para> | |
554 | This macro expands to a call to a function | |
555 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GHashTable"><type>GHashTable</type></link> | |
556 | appropriate for representing a D-Bus | |
557 | dictionary of signature | |
558 | <literal>a{u(uss)}</literal>. | |
559 | </para> | |
560 | <para> | |
561 | Keys (D-Bus type <literal>u</literal>, | |
562 | type <literal>Contact_Handle</literal>, | |
563 | named <literal>Contact</literal>): | |
564 | A contact | |
565 | </para> | |
566 | <para> | |
567 | Values (D-Bus type <literal>(uss)</literal>, | |
568 | type <literal>Simple_Presence</literal>, | |
569 | named <literal>Presence</literal>): | |
570 | The contact's presence</para> | |
571 | <para> | |
572 | ||
573 | </para></refsect2> | |
574 | <refsect2 id="TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS" role="macro"> | |
575 | <title>TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</title> | |
576 | <indexterm zone="TP-HASH-TYPE-SIMPLE-STATUS-SPEC-MAP:CAPS"><primary>TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</primary></indexterm><programlisting>#define TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP</programlisting> | |
577 | <para> | |
578 | A mapping describing possible statuses. | |
579 | </para> | |
580 | <para> | |
581 | This macro expands to a call to a function | |
582 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GHashTable"><type>GHashTable</type></link> | |
583 | appropriate for representing a D-Bus | |
584 | dictionary of signature | |
585 | <literal>a{s(ubb)}</literal>. | |
586 | </para> | |
587 | <para> | |
588 | Keys (D-Bus type <literal>s</literal>, | |
589 | named <literal>Identifier</literal>): | |
590 | The string identifier of this status. | |
591 | </para> | |
592 | <para> | |
593 | Values (D-Bus type <literal>(ubb)</literal>, | |
594 | type <literal>Simple_Status_Spec</literal>, | |
595 | named <literal>Spec</literal>): | |
596 | Details of this status.</para> | |
597 | <para> | |
598 | ||
599 | </para></refsect2> | |
600 | <refsect2 id="TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS" role="macro"> | |
601 | <title>TP_STRUCT_TYPE_SIMPLE_PRESENCE</title> | |
602 | <indexterm zone="TP-STRUCT-TYPE-SIMPLE-PRESENCE:CAPS"><primary>TP_STRUCT_TYPE_SIMPLE_PRESENCE</primary></indexterm><programlisting>#define TP_STRUCT_TYPE_SIMPLE_PRESENCE</programlisting> | |
603 | <para> | |
604 | A struct representing the presence of a contact. | |
605 | ||
606 | </para> | |
607 | <para> | |
608 | This macro expands to a call to a function | |
609 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GValueArray"><type>GValueArray</type></link> | |
610 | appropriate for representing a D-Bus struct | |
611 | with signature <literal>(uss)</literal>. | |
612 | </para> | |
613 | <para> | |
614 | Member 0 (D-Bus type <literal>u</literal>, | |
615 | type <literal>Connection_Presence_Type</literal>, | |
616 | named <literal>Type</literal>): | |
617 | The presence type, e.g. Connection_Presence_Type_Away. | |
618 | </para> | |
619 | <para> | |
620 | Member 1 (D-Bus type <literal>s</literal>, | |
621 | named <literal>Status</literal>): | |
622 | The string identifier of the status, e.g. &quot;brb&quot;, as defined in the <tp:member-ref>Statuses</tp:member-ref> property. | |
623 | </para> | |
624 | <para> | |
625 | Member 2 (D-Bus type <literal>s</literal>, | |
626 | named <literal>Status_Message</literal>): | |
627 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The user-defined status message, e.g. &quot;Back soon!&quot;.</p> <p>Clients SHOULD set the status message for the local user to the empty string, unless the user has actually provided a specific message (i.e. one that conveys more information than the Status).</p> <p>User interfaces SHOULD regard an empty status message as unset, and MAY replace it with a localized string corresponding to the Status or Type.</p> <tp:rationale> Use case: Daf sets his status in Empathy by choosing the Welsh translation of &quot;Available&quot; from a menu. It is more informative for his English-speaking colleagues to see the English translation of &quot;Available&quot; (as localized by their own clients) than to see the Welsh version (which they don't understand anyway). </tp:rationale></para> | |
628 | <para> | |
629 | ||
630 | </para></refsect2> | |
631 | <refsect2 id="TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS" role="macro"> | |
632 | <title>TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</title> | |
633 | <indexterm zone="TP-STRUCT-TYPE-SIMPLE-STATUS-SPEC:CAPS"><primary>TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</primary></indexterm><programlisting>#define TP_STRUCT_TYPE_SIMPLE_STATUS_SPEC</programlisting> | |
634 | <para> | |
635 | A struct containing information about a status. | |
636 | ||
637 | </para> | |
638 | <para> | |
639 | This macro expands to a call to a function | |
640 | that returns the <link linkend="GType"><type>GType</type></link> of a <link linkend="GValueArray"><type>GValueArray</type></link> | |
641 | appropriate for representing a D-Bus struct | |
642 | with signature <literal>(ubb)</literal>. | |
643 | </para> | |
644 | <para> | |
645 | Member 0 (D-Bus type <literal>u</literal>, | |
646 | type <literal>Connection_Presence_Type</literal>, | |
647 | named <literal>Type</literal>): | |
648 | The type of a presence. This SHOULD NOT be used as a way to set statuses that the client does not recognise (as explained in <tp:member-ref>SetPresence</tp:member-ref>), but MAY be used to check that the client's assumptions about a particular status name match the connection manager's. | |
649 | </para> | |
650 | <para> | |
651 | Member 1 (D-Bus type <literal>b</literal>, | |
652 | named <literal>May_Set_On_Self</literal>): | |
653 | If true, the user can set this status on themselves using <tp:member-ref>SetPresence</tp:member-ref>. | |
654 | </para> | |
655 | <para> | |
656 | Member 2 (D-Bus type <literal>b</literal>, | |
657 | named <literal>Can_Have_Message</literal>): | |
658 | If true, a non-empty message can be set for this status. Otherwise, the empty string is the only acceptable message. <tp:rationale> On IRC you can be Away with a status message, but if you are available you cannot set a status message. </tp:rationale></para> | |
512 | 659 | <para> |
513 | 660 | |
514 | 661 | </para></refsect2> |
38 | 38 | #define <link linkend="TP-IFACE-QUARK-CONNECTION-INTERFACE-AVATARS:CAPS">TP_IFACE_QUARK_CONNECTION_INTERFACE_AVATARS</link> |
39 | 39 | #define <link linkend="TP-IFACE-CONNECTION-INTERFACE-CAPABILITIES:CAPS">TP_IFACE_CONNECTION_INTERFACE_CAPABILITIES</link> |
40 | 40 | #define <link linkend="TP-IFACE-QUARK-CONNECTION-INTERFACE-CAPABILITIES:CAPS">TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES</link> |
41 | #define <link linkend="TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS">TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</link> | |
42 | #define <link linkend="TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS">TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</link> | |
41 | 43 | #define <link linkend="TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS">TP_IFACE_CONNECTION_INTERFACE_PRESENCE</link> |
42 | 44 | #define <link linkend="TP-IFACE-QUARK-CONNECTION-INTERFACE-PRESENCE:CAPS">TP_IFACE_QUARK_CONNECTION_INTERFACE_PRESENCE</link> |
43 | 45 | #define <link linkend="TP-IFACE-CHANNEL:CAPS">TP_IFACE_CHANNEL</link> |
245 | 247 | <para> |
246 | 248 | |
247 | 249 | </para></refsect2> |
250 | <refsect2 id="TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" role="macro"> | |
251 | <title>TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</title> | |
252 | <indexterm zone="TP-IFACE-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"><primary>TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</primary></indexterm><programlisting>#define TP_IFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE</programlisting> | |
253 | <para> | |
254 | The interface name "org.freedesktop.Telepathy.Connection.Interface.SimplePresence"</para> | |
255 | <para> | |
256 | ||
257 | </para></refsect2> | |
258 | <refsect2 id="TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS" role="macro"> | |
259 | <title>TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</title> | |
260 | <indexterm zone="TP-IFACE-QUARK-CONNECTION-INTERFACE-SIMPLE-PRESENCE:CAPS"><primary>TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</primary></indexterm><programlisting>#define TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE</programlisting> | |
261 | <para> | |
262 | Expands to a call to a function that returns a quark for the interface name "org.freedesktop.Telepathy.Connection.Interface.SimplePresence"</para> | |
263 | <para> | |
264 | ||
265 | </para></refsect2> | |
248 | 266 | <refsect2 id="TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS" role="macro"> |
249 | 267 | <title>TP_IFACE_CONNECTION_INTERFACE_PRESENCE</title> |
250 | 268 | <indexterm zone="TP-IFACE-CONNECTION-INTERFACE-PRESENCE:CAPS"><primary>TP_IFACE_CONNECTION_INTERFACE_PRESENCE</primary></indexterm><programlisting>#define TP_IFACE_CONNECTION_INTERFACE_PRESENCE</programlisting> |
57 | 57 | const <link linkend="TpPresenceStatus">TpPresenceStatus</link> *status); |
58 | 58 | <link linkend="void">void</link> <link linkend="tp-presence-mixin-iface-init">tp_presence_mixin_iface_init</link> (<link linkend="gpointer">gpointer</link> g_iface, |
59 | 59 | <link linkend="gpointer">gpointer</link> iface_data); |
60 | <link linkend="void">void</link> <link linkend="tp-presence-mixin-simple-presence-iface-init">tp_presence_mixin_simple_presence_iface_init</link> | |
61 | (<link linkend="gpointer">gpointer</link> g_iface, | |
62 | <link linkend="gpointer">gpointer</link> iface_data); | |
63 | <link linkend="void">void</link> <link linkend="tp-presence-mixin-simple-presence-init-dbus-properties">tp_presence_mixin_simple_presence_init_dbus_properties</link> | |
64 | (<link linkend="GObjectClass">GObjectClass</link> *cls); | |
60 | 65 | </synopsis> |
61 | 66 | </refsynopsisdiv> |
62 | 67 | |
95 | 100 | <link linkend="TpSvcConnectionInterfacePresence"><type>TpSvcConnectionInterfacePresence</type></link>, in the function you pass to |
96 | 101 | G_IMPLEMENT_INTERFACE, you should call tp_presence_mixin_iface_init. |
97 | 102 | TpPresenceMixin implements all of the D-Bus methods in the Presence |
98 | interface.</para> | |
103 | interface. | |
104 | </para> | |
105 | <para> | |
106 | Since 0.7.13 you can also implement | |
107 | <link linkend="TpSvcConnectionInterfaceSimplePresence"><type>TpSvcConnectionInterfaceSimplePresence</type></link> by using this mixin, in this case | |
108 | you should pass tp_presence_mixin_iface_init as an argument to | |
109 | G_IMPLEMENT_INTERFACE. Note that this can cause the status_available | |
110 | callback to be called while disconnected. Also to fully implement this | |
111 | interface some dbus properties need to be supported. To do that using this | |
112 | mixin the instance needs to use the dbus properties mixin and call | |
113 | tp_presence_mixin_simple_presence_init_dbus_properties in the class init | |
114 | function</para> | |
99 | 115 | <para> |
100 | 116 | |
101 | 117 | </para> |
181 | 197 | <link linkend="guint">guint</link> which);</programlisting> |
182 | 198 | <para> |
183 | 199 | Signature of the callback used to determine if a given status is currently |
184 | available to be set on the connection.</para> | |
200 | available to be set on the connection. | |
201 | </para> | |
202 | <para> | |
203 | When implementing the | |
204 | org.freedesktop.Telepathy.Connection.Interface.SimplePresence interface | |
205 | this can be called while DISCONNECTED to determine which statuses can be set | |
206 | in that state.</para> | |
185 | 207 | <para> |
186 | 208 | |
187 | 209 | </para><variablelist role="params"> |
528 | 550 | <listitem><simpara> Ignored |
529 | 551 | </simpara></listitem></varlistentry> |
530 | 552 | </variablelist></refsect2> |
553 | <refsect2 id="tp-presence-mixin-simple-presence-iface-init" role="function" condition="since:0.7.13"> | |
554 | <title>tp_presence_mixin_simple_presence_iface_init ()</title> | |
555 | <indexterm zone="tp-presence-mixin-simple-presence-iface-init" role="0.7.13"><primary>tp_presence_mixin_simple_presence_iface_init</primary></indexterm><programlisting><link linkend="void">void</link> tp_presence_mixin_simple_presence_iface_init | |
556 | (<link linkend="gpointer">gpointer</link> g_iface, | |
557 | <link linkend="gpointer">gpointer</link> iface_data);</programlisting> | |
558 | <para> | |
559 | Fill in the vtable entries needed to implement the simple presence interface | |
560 | using this mixin. This function should usually be called via | |
561 | G_IMPLEMENT_INTERFACE.</para> | |
562 | <para> | |
563 | ||
564 | </para><variablelist role="params"> | |
565 | <varlistentry><term><parameter>g_iface</parameter> :</term> | |
566 | <listitem><simpara> A pointer to the <link linkend="TpSvcConnectionInterfaceSimplePresenceClass"><type>TpSvcConnectionInterfaceSimplePresenceClass</type></link> in | |
567 | an object class | |
568 | </simpara></listitem></varlistentry> | |
569 | <varlistentry><term><parameter>iface_data</parameter> :</term> | |
570 | <listitem><simpara> Ignored | |
571 | </simpara></listitem></varlistentry> | |
572 | </variablelist><para role="since">Since 0.7.13 | |
573 | </para></refsect2> | |
574 | <refsect2 id="tp-presence-mixin-simple-presence-init-dbus-properties" role="function" condition="since:0.7.13"> | |
575 | <title>tp_presence_mixin_simple_presence_init_dbus_properties ()</title> | |
576 | <indexterm zone="tp-presence-mixin-simple-presence-init-dbus-properties" role="0.7.13"><primary>tp_presence_mixin_simple_presence_init_dbus_properties</primary></indexterm><programlisting><link linkend="void">void</link> tp_presence_mixin_simple_presence_init_dbus_properties | |
577 | (<link linkend="GObjectClass">GObjectClass</link> *cls);</programlisting> | |
578 | <para> | |
579 | Set up <link linkend="TpDBusPropertiesMixinClass"><type>TpDBusPropertiesMixinClass</type></link> to use this mixin's implementation of | |
580 | the SimplePresence interface's properties. | |
581 | </para> | |
582 | <para> | |
583 | This uses <link linkend="tp-presence-mixin-get-simple-dbus-property"><function>tp_presence_mixin_get_simple_dbus_property()</function></link> as the property | |
584 | getter and sets up a list of the supported properties for it.</para> | |
585 | <para> | |
586 | ||
587 | </para><variablelist role="params"> | |
588 | <varlistentry><term><parameter>cls</parameter> :</term> | |
589 | <listitem><simpara> The class of an object with this mixin | |
590 | </simpara></listitem></varlistentry> | |
591 | </variablelist><para role="since">Since 0.7.13 | |
592 | </para></refsect2> | |
531 | 593 | |
532 | 594 | </refsect1> |
533 | 595 |
146 | 146 | (<link linkend="gpointer">gpointer</link> instance, |
147 | 147 | <link linkend="guint">guint</link> arg_status, |
148 | 148 | <link linkend="guint">guint</link> arg_reason); |
149 | ||
150 | ||
151 | <link linkend="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</link>; | |
152 | <link linkend="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</link>; | |
153 | <link linkend="void">void</link> <link linkend="tp-svc-connection-interface-simple-presence-emit-presences-changed">tp_svc_connection_interface_simple_presence_emit_presences_changed</link> | |
154 | (<link linkend="gpointer">gpointer</link> instance, | |
155 | <link linkend="GHashTable">GHashTable</link> *arg_presence); | |
156 | <link linkend="void">void</link> (<link linkend="tp-svc-connection-interface-simple-presence-get-presences-impl">*tp_svc_connection_interface_simple_presence_get_presences_impl</link>) | |
157 | (<link linkend="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</link> *self, | |
158 | const <link linkend="GArray">GArray</link> *in_contacts, | |
159 | <link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context); | |
160 | <link linkend="void">void</link> <link linkend="tp-svc-connection-interface-simple-presence-implement-get-presences">tp_svc_connection_interface_simple_presence_implement_get_presences</link> | |
161 | (<link linkend="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</link> *klass, | |
162 | <link linkend="tp-svc-connection-interface-simple-presence-get-presences-impl">tp_svc_connection_interface_simple_presence_get_presences_impl</link> impl); | |
163 | <link linkend="void">void</link> <link linkend="tp-svc-connection-interface-simple-presence-implement-set-presence">tp_svc_connection_interface_simple_presence_implement_set_presence</link> | |
164 | (<link linkend="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</link> *klass, | |
165 | <link linkend="tp-svc-connection-interface-simple-presence-set-presence-impl">tp_svc_connection_interface_simple_presence_set_presence_impl</link> impl); | |
166 | <link linkend="void">void</link> <link linkend="tp-svc-connection-interface-simple-presence-return-from-get-presences">tp_svc_connection_interface_simple_presence_return_from_get_presences</link> | |
167 | (<link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context, | |
168 | <link linkend="GHashTable">GHashTable</link> *out_presence); | |
169 | <link linkend="void">void</link> <link linkend="tp-svc-connection-interface-simple-presence-return-from-set-presence">tp_svc_connection_interface_simple_presence_return_from_set_presence</link> | |
170 | (<link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context); | |
171 | <link linkend="void">void</link> (<link linkend="tp-svc-connection-interface-simple-presence-set-presence-impl">*tp_svc_connection_interface_simple_presence_set_presence_impl</link>) | |
172 | (<link linkend="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</link> *self, | |
173 | const <link linkend="gchar">gchar</link> *in_status, | |
174 | const <link linkend="gchar">gchar</link> *in_status_message, | |
175 | <link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context); | |
149 | 176 | |
150 | 177 | |
151 | 178 | <link linkend="TpSvcConnectionInterfacePresence">TpSvcConnectionInterfacePresence</link>; |
1177 | 1204 | <listitem><simpara> guint (FIXME, generate documentation) |
1178 | 1205 | </simpara></listitem></varlistentry> |
1179 | 1206 | </variablelist></refsect2> |
1207 | <refsect2 id="TpSvcConnectionInterfaceSimplePresence" role="struct"> | |
1208 | <title>TpSvcConnectionInterfaceSimplePresence</title> | |
1209 | <indexterm zone="TpSvcConnectionInterfaceSimplePresence"><primary>TpSvcConnectionInterfaceSimplePresence</primary></indexterm><programlisting>typedef struct _TpSvcConnectionInterfaceSimplePresence TpSvcConnectionInterfaceSimplePresence;</programlisting> | |
1210 | <para> | |
1211 | Dummy typedef representing any implementation of this interface.</para> | |
1212 | <para> | |
1213 | ||
1214 | </para></refsect2> | |
1215 | <refsect2 id="TpSvcConnectionInterfaceSimplePresenceClass" role="struct"> | |
1216 | <title>TpSvcConnectionInterfaceSimplePresenceClass</title> | |
1217 | <indexterm zone="TpSvcConnectionInterfaceSimplePresenceClass"><primary>TpSvcConnectionInterfaceSimplePresenceClass</primary></indexterm><programlisting>typedef struct _TpSvcConnectionInterfaceSimplePresenceClass TpSvcConnectionInterfaceSimplePresenceClass;</programlisting> | |
1218 | <para> | |
1219 | The class of TpSvcConnectionInterfaceSimplePresence.</para> | |
1220 | <para> | |
1221 | ||
1222 | </para></refsect2> | |
1223 | <refsect2 id="tp-svc-connection-interface-simple-presence-emit-presences-changed" role="function"> | |
1224 | <title>tp_svc_connection_interface_simple_presence_emit_presences_changed ()</title> | |
1225 | <indexterm zone="tp-svc-connection-interface-simple-presence-emit-presences-changed"><primary>tp_svc_connection_interface_simple_presence_emit_presences_changed</primary></indexterm><programlisting><link linkend="void">void</link> tp_svc_connection_interface_simple_presence_emit_presences_changed | |
1226 | (<link linkend="gpointer">gpointer</link> instance, | |
1227 | <link linkend="GHashTable">GHashTable</link> *arg_presence);</programlisting> | |
1228 | <para> | |
1229 | Type-safe wrapper around g_signal_emit to emit the | |
1230 | PresencesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</para> | |
1231 | <para> | |
1232 | ||
1233 | </para><variablelist role="params"> | |
1234 | <varlistentry><term><parameter>instance</parameter> :</term> | |
1235 | <listitem><simpara> The object implementing this interface | |
1236 | </simpara></listitem></varlistentry> | |
1237 | <varlistentry><term><parameter>arg_presence</parameter> :</term> | |
1238 | <listitem><simpara> GHashTable * (FIXME, generate documentation) | |
1239 | </simpara></listitem></varlistentry> | |
1240 | </variablelist></refsect2> | |
1241 | <refsect2 id="tp-svc-connection-interface-simple-presence-get-presences-impl" role="function"> | |
1242 | <title>tp_svc_connection_interface_simple_presence_get_presences_impl ()</title> | |
1243 | <indexterm zone="tp-svc-connection-interface-simple-presence-get-presences-impl"><primary>tp_svc_connection_interface_simple_presence_get_presences_impl</primary></indexterm><programlisting><link linkend="void">void</link> (*tp_svc_connection_interface_simple_presence_get_presences_impl) | |
1244 | (<link linkend="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</link> *self, | |
1245 | const <link linkend="GArray">GArray</link> *in_contacts, | |
1246 | <link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context);</programlisting> | |
1247 | <para> | |
1248 | The signature of an implementation of the D-Bus method | |
1249 | GetPresences on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</para> | |
1250 | <para> | |
1251 | ||
1252 | </para><variablelist role="params"> | |
1253 | <varlistentry><term><parameter>self</parameter> :</term> | |
1254 | <listitem><simpara> The object implementing this interface | |
1255 | </simpara></listitem></varlistentry> | |
1256 | <varlistentry><term><parameter>in_contacts</parameter> :</term> | |
1257 | <listitem><simpara> const GArray * (FIXME, generate documentation) | |
1258 | </simpara></listitem></varlistentry> | |
1259 | <varlistentry><term><parameter>context</parameter> :</term> | |
1260 | <listitem><simpara> Used to return values or throw an error | |
1261 | </simpara></listitem></varlistentry> | |
1262 | </variablelist></refsect2> | |
1263 | <refsect2 id="tp-svc-connection-interface-simple-presence-implement-get-presences" role="function"> | |
1264 | <title>tp_svc_connection_interface_simple_presence_implement_get_presences ()</title> | |
1265 | <indexterm zone="tp-svc-connection-interface-simple-presence-implement-get-presences"><primary>tp_svc_connection_interface_simple_presence_implement_get_presences</primary></indexterm><programlisting><link linkend="void">void</link> tp_svc_connection_interface_simple_presence_implement_get_presences | |
1266 | (<link linkend="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</link> *klass, | |
1267 | <link linkend="tp-svc-connection-interface-simple-presence-get-presences-impl">tp_svc_connection_interface_simple_presence_get_presences_impl</link> impl);</programlisting> | |
1268 | <para> | |
1269 | Register an implementation for the GetPresences method in the vtable | |
1270 | of an implementation of this interface. To be called from | |
1271 | the interface init function.</para> | |
1272 | <para> | |
1273 | ||
1274 | </para><variablelist role="params"> | |
1275 | <varlistentry><term><parameter>klass</parameter> :</term> | |
1276 | <listitem><simpara> A class whose instances implement this interface | |
1277 | </simpara></listitem></varlistentry> | |
1278 | <varlistentry><term><parameter>impl</parameter> :</term> | |
1279 | <listitem><simpara> A callback used to implement the GetPresences D-Bus method | |
1280 | </simpara></listitem></varlistentry> | |
1281 | </variablelist></refsect2> | |
1282 | <refsect2 id="tp-svc-connection-interface-simple-presence-implement-set-presence" role="function"> | |
1283 | <title>tp_svc_connection_interface_simple_presence_implement_set_presence ()</title> | |
1284 | <indexterm zone="tp-svc-connection-interface-simple-presence-implement-set-presence"><primary>tp_svc_connection_interface_simple_presence_implement_set_presence</primary></indexterm><programlisting><link linkend="void">void</link> tp_svc_connection_interface_simple_presence_implement_set_presence | |
1285 | (<link linkend="TpSvcConnectionInterfaceSimplePresenceClass">TpSvcConnectionInterfaceSimplePresenceClass</link> *klass, | |
1286 | <link linkend="tp-svc-connection-interface-simple-presence-set-presence-impl">tp_svc_connection_interface_simple_presence_set_presence_impl</link> impl);</programlisting> | |
1287 | <para> | |
1288 | Register an implementation for the SetPresence method in the vtable | |
1289 | of an implementation of this interface. To be called from | |
1290 | the interface init function.</para> | |
1291 | <para> | |
1292 | ||
1293 | </para><variablelist role="params"> | |
1294 | <varlistentry><term><parameter>klass</parameter> :</term> | |
1295 | <listitem><simpara> A class whose instances implement this interface | |
1296 | </simpara></listitem></varlistentry> | |
1297 | <varlistentry><term><parameter>impl</parameter> :</term> | |
1298 | <listitem><simpara> A callback used to implement the SetPresence D-Bus method | |
1299 | </simpara></listitem></varlistentry> | |
1300 | </variablelist></refsect2> | |
1301 | <refsect2 id="tp-svc-connection-interface-simple-presence-return-from-get-presences" role="function"> | |
1302 | <title>tp_svc_connection_interface_simple_presence_return_from_get_presences ()</title> | |
1303 | <indexterm zone="tp-svc-connection-interface-simple-presence-return-from-get-presences"><primary>tp_svc_connection_interface_simple_presence_return_from_get_presences</primary></indexterm><programlisting><link linkend="void">void</link> tp_svc_connection_interface_simple_presence_return_from_get_presences | |
1304 | (<link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context, | |
1305 | <link linkend="GHashTable">GHashTable</link> *out_presence);</programlisting> | |
1306 | <para> | |
1307 | Return successfully by calling <link linkend="dbus-g-method-return"><function>dbus_g_method_return()</function></link>. | |
1308 | This inline function exists only to provide type-safety.</para> | |
1309 | <para> | |
1310 | ||
1311 | </para><variablelist role="params"> | |
1312 | <varlistentry><term><parameter>context</parameter> :</term> | |
1313 | <listitem><simpara> The D-Bus method invocation context | |
1314 | </simpara></listitem></varlistentry> | |
1315 | <varlistentry><term><parameter>out_presence</parameter> :</term> | |
1316 | <listitem><simpara> GHashTable * (FIXME, generate documentation) | |
1317 | </simpara></listitem></varlistentry> | |
1318 | </variablelist></refsect2> | |
1319 | <refsect2 id="tp-svc-connection-interface-simple-presence-return-from-set-presence" role="function"> | |
1320 | <title>tp_svc_connection_interface_simple_presence_return_from_set_presence ()</title> | |
1321 | <indexterm zone="tp-svc-connection-interface-simple-presence-return-from-set-presence"><primary>tp_svc_connection_interface_simple_presence_return_from_set_presence</primary></indexterm><programlisting><link linkend="void">void</link> tp_svc_connection_interface_simple_presence_return_from_set_presence | |
1322 | (<link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context);</programlisting> | |
1323 | <para> | |
1324 | Return successfully by calling <link linkend="dbus-g-method-return"><function>dbus_g_method_return()</function></link>. | |
1325 | This inline function exists only to provide type-safety.</para> | |
1326 | <para> | |
1327 | ||
1328 | </para><variablelist role="params"> | |
1329 | <varlistentry><term><parameter>context</parameter> :</term> | |
1330 | <listitem><simpara> The D-Bus method invocation context | |
1331 | </simpara></listitem></varlistentry> | |
1332 | </variablelist></refsect2> | |
1333 | <refsect2 id="tp-svc-connection-interface-simple-presence-set-presence-impl" role="function"> | |
1334 | <title>tp_svc_connection_interface_simple_presence_set_presence_impl ()</title> | |
1335 | <indexterm zone="tp-svc-connection-interface-simple-presence-set-presence-impl"><primary>tp_svc_connection_interface_simple_presence_set_presence_impl</primary></indexterm><programlisting><link linkend="void">void</link> (*tp_svc_connection_interface_simple_presence_set_presence_impl) | |
1336 | (<link linkend="TpSvcConnectionInterfaceSimplePresence">TpSvcConnectionInterfaceSimplePresence</link> *self, | |
1337 | const <link linkend="gchar">gchar</link> *in_status, | |
1338 | const <link linkend="gchar">gchar</link> *in_status_message, | |
1339 | <link linkend="DBusGMethodInvocation">DBusGMethodInvocation</link> *context);</programlisting> | |
1340 | <para> | |
1341 | The signature of an implementation of the D-Bus method | |
1342 | SetPresence on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.</para> | |
1343 | <para> | |
1344 | ||
1345 | </para><variablelist role="params"> | |
1346 | <varlistentry><term><parameter>self</parameter> :</term> | |
1347 | <listitem><simpara> The object implementing this interface | |
1348 | </simpara></listitem></varlistentry> | |
1349 | <varlistentry><term><parameter>in_status</parameter> :</term> | |
1350 | <listitem><simpara> const gchar * (FIXME, generate documentation) | |
1351 | </simpara></listitem></varlistentry> | |
1352 | <varlistentry><term><parameter>in_status_message</parameter> :</term> | |
1353 | <listitem><simpara> const gchar * (FIXME, generate documentation) | |
1354 | </simpara></listitem></varlistentry> | |
1355 | <varlistentry><term><parameter>context</parameter> :</term> | |
1356 | <listitem><simpara> Used to return values or throw an error | |
1357 | </simpara></listitem></varlistentry> | |
1358 | </variablelist></refsect2> | |
1180 | 1359 | <refsect2 id="TpSvcConnectionInterfacePresence" role="struct"> |
1181 | 1360 | <title>TpSvcConnectionInterfacePresence</title> |
1182 | 1361 | <indexterm zone="TpSvcConnectionInterfacePresence"><primary>TpSvcConnectionInterfacePresence</primary></indexterm><programlisting>typedef struct _TpSvcConnectionInterfacePresence TpSvcConnectionInterfacePresence;</programlisting> |
50 | 50 | <link linkend="GArray">GArray</link> **ret, |
51 | 51 | <link linkend="GError">GError</link> **error); |
52 | 52 | <link linkend="void">void</link> <link linkend="tp-text-mixin-clear">tp_text_mixin_clear</link> (<link linkend="GObject">GObject</link> *obj); |
53 | <link linkend="gboolean">gboolean</link> <link linkend="tp-text-mixin-has-pending-messages">tp_text_mixin_has_pending_messages</link> (<link linkend="GObject">GObject</link> *obj, | |
54 | <link linkend="TpHandle">TpHandle</link> *first_sender); | |
53 | 55 | <link linkend="void">void</link> <link linkend="tp-text-mixin-iface-init">tp_text_mixin_iface_init</link> (<link linkend="gpointer">gpointer</link> g_iface, |
54 | 56 | <link linkend="gpointer">gpointer</link> iface_data); |
55 | 57 | </synopsis> |
343 | 345 | <listitem><simpara> An object with this mixin |
344 | 346 | </simpara></listitem></varlistentry> |
345 | 347 | </variablelist></refsect2> |
348 | <refsect2 id="tp-text-mixin-has-pending-messages" role="function"> | |
349 | <title>tp_text_mixin_has_pending_messages ()</title> | |
350 | <indexterm zone="tp-text-mixin-has-pending-messages"><primary>tp_text_mixin_has_pending_messages</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> tp_text_mixin_has_pending_messages (<link linkend="GObject">GObject</link> *obj, | |
351 | <link linkend="TpHandle">TpHandle</link> *first_sender);</programlisting> | |
352 | <para> | |
353 | Return whether the channel <parameter>obj</parameter> has unacknowledged messages. If so, and | |
354 | <parameter>first_sender</parameter> is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the handle of the sender of the first message | |
355 | is placed in it, without incrementing the handle's reference count.</para> | |
356 | <para> | |
357 | ||
358 | </para><variablelist role="params"> | |
359 | <varlistentry><term><parameter>obj</parameter> :</term> | |
360 | <listitem><simpara> An object with this mixin | |
361 | </simpara></listitem></varlistentry> | |
362 | <varlistentry><term><parameter>first_sender</parameter> :</term> | |
363 | <listitem><simpara> If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, used to store the sender of the oldest pending | |
364 | message | |
365 | </simpara></listitem></varlistentry> | |
366 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there are pending messages | |
367 | </simpara></listitem></varlistentry> | |
368 | </variablelist></refsect2> | |
346 | 369 | <refsect2 id="tp-text-mixin-iface-init" role="function"> |
347 | 370 | <title>tp_text_mixin_iface_init ()</title> |
348 | 371 | <indexterm zone="tp-text-mixin-iface-init"><primary>tp_text_mixin_iface_init</primary></indexterm><programlisting><link linkend="void">void</link> tp_text_mixin_iface_init (<link linkend="gpointer">gpointer</link> g_iface, |
90 | 90 | <tp:docstring> |
91 | 91 | Request a list of the hats worn by the given contacts. |
92 | 92 | </tp:docstring> |
93 | <arg direction="in" name="Contact" type="au" tp:type="Contact_Handle"> | |
93 | <arg direction="in" name="Contact" type="au" tp:type="Contact_Handle[]"> | |
94 | 94 | <tp:docstring> |
95 | 95 | The handles of the contacts whose hats are requested |
96 | 96 | </tp:docstring> |
115 | 115 | Indicate that the hat currently being worn by the local user |
116 | 116 | has changed. |
117 | 117 | </tp:docstring> |
118 | <arg name="Color" type="s"> | |
118 | <arg name="Color" type="s" direction="in"> | |
119 | 119 | <tp:docstring> |
120 | 120 | The color of the contact's hat. |
121 | 121 | </tp:docstring> |
122 | 122 | </arg> |
123 | <arg name="Style" type="u" tp:type="Hat_Style"> | |
123 | <arg name="Style" type="u" tp:type="Hat_Style" direction="in"> | |
124 | 124 | <tp:docstring> |
125 | 125 | The style of the contact's hat. |
126 | 126 | </tp:docstring> |
127 | 127 | </arg> |
128 | <arg name="Properties" type="a{sv}" tp:type="String_Variant_Map"> | |
128 | <arg name="Properties" type="a{sv}" tp:type="String_Variant_Map" | |
129 | direction="in"> | |
129 | 130 | <tp:docstring> |
130 | 131 | There's always an a{sv}... |
131 | 132 | </tp:docstring> |
297 | 297 | </tp:possible-errors> |
298 | 298 | </method> |
299 | 299 | |
300 | <tp:struct name="Account_Presence"> | |
301 | <tp:docstring> | |
302 | A simplified form of the presence statuses seen in the Presence | |
303 | interface. | |
304 | </tp:docstring> | |
305 | ||
306 | <tp:member name="Type" type="u" tp:type="Connection_Presence_Type"> | |
307 | <tp:docstring> | |
308 | The presence type, e.g. Connection_Presence_Type_Away. | |
309 | </tp:docstring> | |
310 | </tp:member> | |
311 | ||
312 | <tp:member name="Status" type="s"> | |
313 | <tp:docstring> | |
314 | The connection-manager-specific string identifier of the presence | |
315 | status, e.g. "brb". | |
316 | </tp:docstring> | |
317 | </tp:member> | |
318 | ||
319 | <tp:member name="Message" type="s"> | |
320 | <tp:docstring> | |
321 | The user-defined status message, e.g. "Back soon!". This will be | |
322 | used as the value for the 'message' keyword in the Presence | |
323 | interface's dictionary, if possible. | |
324 | </tp:docstring> | |
325 | </tp:member> | |
326 | </tp:struct> | |
327 | ||
328 | 300 | <property name="AutomaticPresence" type="(uss)" access="readwrite" |
329 | tp:type="Account_Presence"> | |
301 | tp:type="Simple_Presence"> | |
330 | 302 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> |
331 | 303 | <p>The presence status that this account should have if it is brought |
332 | 304 | online.</p> |
404 | 376 | </property> |
405 | 377 | |
406 | 378 | <property name="CurrentPresence" type="(uss)" access="read" |
407 | tp:type="Account_Presence"> | |
379 | tp:type="Simple_Presence"> | |
408 | 380 | <tp:docstring> |
409 | 381 | The actual presence. If the connection is not online, this should be |
410 | 382 | (Connection_Presence_Type_Offline, "", ""). |
420 | 392 | </property> |
421 | 393 | |
422 | 394 | <property name="RequestedPresence" type="(uss)" access="readwrite" |
423 | tp:type="Account_Presence"> | |
395 | tp:type="Simple_Presence"> | |
424 | 396 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> |
425 | 397 | <p>The requested presence for this account. When this is changed, the |
426 | 398 | account manager should attempt to manipulate the connection manager |
248 | 248 | </dl> |
249 | 249 | </tp:docstring> |
250 | 250 | |
251 | <tp:enum name="Delivery_Status" value-prefix="Delivery_Status"> | |
251 | <tp:enum name="Delivery_Status" value-prefix="Delivery_Status" type="u"> | |
252 | 252 | <tp:docstring> |
253 | 253 | <p>The status of a message as indicated by a delivery report.</p> |
254 | 254 | |
303 | 303 | </tp:enum> |
304 | 304 | |
305 | 305 | <tp:flags name="Delivery_Reporting_Support_Flags" |
306 | value-prefix="Delivery_Reporting_Support_Flag"> | |
306 | value-prefix="Delivery_Reporting_Support_Flag" type="u"> | |
307 | 307 | <tp:docstring> |
308 | 308 | Flags indicating the level of support for delivery reporting on this |
309 | 309 | channel. Any future flags added to this set will conform to the |
191 | 191 | <tp:flag suffix="Handle_Owners_Not_Available" value="1024"> |
192 | 192 | <tp:docstring> |
193 | 193 | In rooms with channel specific handles (ie Channel_Specific_Handles |
194 | flag is set), this flag indicates that none of the handle owners are | |
195 | available, and that GetHandleOwners method will always return 0 for | |
196 | channel members other than the self handle. | |
194 | flag is set), this flag indicates that no handle owners are | |
195 | available, apart from the owner of the SelfHandle. | |
196 | ||
197 | <tp:rationale> | |
198 | This used to be an important optimization to avoid repeated | |
199 | GetHandleOwners calls, before we introduced the HandleOwner | |
200 | property and HandleOwnerChanged signal. | |
201 | </tp:rationale> | |
197 | 202 | </tp:docstring> |
198 | 203 | </tp:flag> |
199 | 204 | <tp:flag suffix="Properties" value="2048"> |
64 | 64 | another process. |
65 | 65 | </tp:docstring> |
66 | 66 | |
67 | <arg name="HoldState" direction="out" type="u" | |
68 | tp:type="Local_Hold_State"> | |
67 | <arg name="HoldState" type="u" tp:type="Local_Hold_State"> | |
69 | 68 | <tp:docstring> |
70 | 69 | The state of the channel |
71 | 70 | </tp:docstring> |
72 | 71 | </arg> |
73 | 72 | |
74 | <arg name="Reason" direction="out" type="u" | |
75 | tp:type="Local_Hold_State_Reason"> | |
73 | <arg name="Reason" type="u" tp:type="Local_Hold_State_Reason"> | |
76 | 74 | <tp:docstring> |
77 | 75 | The reason for the state change |
78 | 76 | </tp:docstring> |
80 | 80 | </property> |
81 | 81 | |
82 | 82 | <tp:flags name="Message_Part_Support_Flags" |
83 | value-prefix="Message_Part_Support_Flag"> | |
83 | value-prefix="Message_Part_Support_Flag" type="u"> | |
84 | 84 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> |
85 | 85 | <p>Flags indicating the level of support for message parts on this |
86 | 86 | channel. They are designed such that setting more flags always |
470 | 470 | </tp:possible-errors> |
471 | 471 | </method> |
472 | 472 | |
473 | <tp:flags name="Message_Sending_Flags" value-prefix="Message_Sending_Flag"> | |
473 | <tp:flags name="Message_Sending_Flags" value-prefix="Message_Sending_Flag" | |
474 | type="u"> | |
474 | 475 | <tp:docstring> |
475 | 476 | Flags altering the way a message is sent. The "most usual" action |
476 | 477 | should always be to have these flags unset. |
456 | 456 | |
457 | 457 | <p>On protocols where a conversation with a user is actually just |
458 | 458 | a nameless chat room starting with exactly two members, to which |
459 | more members can be invited, calling RequestChannel with type Text | |
459 | more members can be invited, calling | |
460 | <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">RequestChannel</tp:dbus-ref> | |
461 | with type Text | |
460 | 462 | and handle type CONTACT should continue to succeed, but may return |
461 | 463 | a channel with handle type 0, handle 0, the group interface, |
462 | 464 | and the local and remote contacts in its members.</p> |
72 | 72 | </tp:docstring> |
73 | 73 | </arg> |
74 | 74 | |
75 | <tp:docstring> | |
76 | Get the optional interfaces supported by this connection. | |
77 | </tp:docstring> | |
78 | ||
79 | <tp:possible-errors> | |
80 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> | |
75 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
76 | <p>Get the optional interfaces supported by this connection. | |
77 | Before the connection status changes to CONNECTED, the return | |
78 | from this method may change at any time, but it is guaranteed that | |
79 | interfaces will only be added, not removed. After the connection | |
80 | status changes to CONNECTED, the return from this method cannot | |
81 | change further.</p> | |
82 | ||
83 | <p>There is no explicit change notification; reasonable behaviour | |
84 | for a client would be to retrieve the interfaces list once | |
85 | initially, and once more when it becomes CONNECTED.</p> | |
86 | ||
87 | <tp:rationale> | |
88 | <p>In some connection managers, certain capabilities of a connection | |
89 | are known to be implemented for all connections (e.g. support | |
90 | for SimplePresence), and some interfaces (like SimplePresence) can | |
91 | even be used before connecting. Other capabilities may | |
92 | or may not exist, depending on server functionality; by the time | |
93 | the connection goes CONNECTED, the connection manager is expected | |
94 | to have evaluated the server's functionality and enabled any extra | |
95 | interfaces for the remainder of the Connection's lifetime.</p> | |
96 | </tp:rationale> | |
97 | </tp:docstring> | |
98 | ||
99 | <tp:possible-errors> | |
100 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"> | |
101 | <tp:docstring> | |
102 | Before version 0.17.UNRELEASED calling GetInterfaces while | |
103 | on a connection that is not yet CONNECTED wasn't allowed. If a | |
104 | CM returns this error, its list of interfaces should be regarded | |
105 | as empty until it becomes CONNECTED. | |
106 | </tp:docstring> | |
107 | </tp:error> | |
81 | 108 | </tp:possible-errors> |
82 | 109 | </method> |
83 | 110 | |
293 | 320 | <tp:possible-errors> |
294 | 321 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> |
295 | 322 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> |
296 | The handle type is invalid | |
323 | <tp:docstring> | |
324 | The handle type is invalid | |
325 | </tp:docstring> | |
297 | 326 | </tp:error> |
298 | 327 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"> |
299 | One of the given handles is not valid | |
328 | <tp:docstring> | |
329 | One of the given handles is not valid | |
330 | </tp:docstring> | |
300 | 331 | </tp:error> |
301 | 332 | <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"> |
302 | One of the given handles is not held by this client | |
333 | <tp:docstring> | |
334 | One of the given handles is not held by this client | |
335 | </tp:docstring> | |
303 | 336 | </tp:error> |
304 | 337 | </tp:possible-errors> |
305 | 338 | </method> |
482 | 515 | <tp:possible-errors> |
483 | 516 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> |
484 | 517 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> |
485 | The handle type is invalid | |
518 | <tp:docstring> | |
519 | The handle type is invalid | |
520 | </tp:docstring> | |
486 | 521 | </tp:error> |
487 | 522 | <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"> |
488 | The given name is not a valid entity of the given type | |
523 | <tp:docstring> | |
524 | The given name is not a valid entity of the given type | |
525 | </tp:docstring> | |
489 | 526 | </tp:error> |
490 | 527 | </tp:possible-errors> |
491 | 528 | </method> |
27 | 27 | manager that it will ordinarily be able to create a channel when given |
28 | 28 | a request with the given type and handle.</p> |
29 | 29 | |
30 | <p>Capabilities can pertain to a certain contact handle, representing | |
31 | activities such as having a text chat or a voice call with the user, or | |
32 | can be on the connection itself (where the handle will be zero), where | |
33 | they represent the ability to create channels for chat rooms or | |
34 | activities such as searching and room listing. The activities are | |
35 | represented by the D-Bus interface name of the channel type for that | |
36 | activity.</p> | |
30 | <p>Capabilities pertain to particular contact handles, and represent | |
31 | activities such as having a text chat or a voice call with the user. | |
32 | The activities are represented by the D-Bus interface name of the | |
33 | channel type for that activity.</p> | |
37 | 34 | |
38 | 35 | <p>The generic capability flags are defined by |
39 | Connection_Capability_Flags.</p> | |
36 | <tp:type>Connection_Capability_Flags</tp:type>.</p> | |
40 | 37 | |
41 | 38 | <p>In addition, channel types may have type specific capability flags of |
42 | 39 | their own, which are described in the documentation for each channel |
48 | 45 | interface names of channel types and the type specific flags pertaining |
49 | 46 | to them which are implemented by available client processes.</p> |
50 | 47 | </tp:docstring> |
48 | ||
49 | <tp:changed version="0.17.UNRELEASED">Previously, this interface | |
50 | also expressed capabilities of the connection itself, indicating what | |
51 | sorts of channels could be requested (for instance, the ability to | |
52 | open chatroom lists or chatrooms). However, this was never very | |
53 | well-defined or consistent, and as far as we know it was never | |
54 | implemented correctly. This usage is now deprecated.</tp:changed> | |
55 | ||
56 | <!-- FIXME: are the type-specific flags sufficient, in a world that has | |
57 | the Requests interface? It'd be nice if we could advertise capabilities | |
58 | that are not defined in terms of a channel type but rather in terms of | |
59 | a property or something, e.g. Channel.Interface.TLS.Secure for | |
60 | individually TLS'd channels. --> | |
51 | 61 | |
52 | 62 | <tp:flags name="Connection_Capability_Flags" |
53 | 63 | value-prefix="Connection_Capability_Flag" type="u"> |
135 | 145 | |
136 | 146 | <p>Upon a successful invocation of this method, the CapabilitiesChanged |
137 | 147 | signal will be emitted for the user's own handle (as returned by |
138 | GetSelfHandle) the by the connection manager to indicate the changes | |
148 | GetSelfHandle) by the connection manager to indicate the changes | |
139 | 149 | that have been made. This signal should also be monitored to ensure |
140 | 150 | that the set is kept accurate - for example, a client may remove |
141 | 151 | capabilities or type specific capability flags when it exits |
161 | 171 | </ul> |
162 | 172 | </tp:docstring> |
163 | 173 | </arg> |
164 | <tp:docstring> | |
165 | Announce that there has been a change of capabilities on the | |
166 | given handle, or on the connection itself if the handle is zero. | |
174 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
175 | <p>Announce that there has been a change of capabilities on the | |
176 | given handle.</p> | |
177 | ||
178 | <p>If the handle is zero, the capabilities refer to the connection | |
179 | itself, in some poorly defined way. This usage is deprecated and | |
180 | clients should ignore it.</p> | |
167 | 181 | </tp:docstring> |
168 | 182 | </signal> |
169 | 183 | |
170 | 184 | <method name="GetCapabilities"> |
171 | 185 | <arg direction="in" name="handles" type="au" tp:type="Contact_Handle[]"> |
172 | <tp:docstring> | |
173 | An array of contact handles for this connection, or zero to query capabilities available on the connection itself | |
186 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
187 | <p>An array of contact handles for this connection.</p> | |
188 | ||
189 | <p>This may include zero, which originally meant a query for | |
190 | capabilities available on the connection itself. This usage | |
191 | is deprecated; clients SHOULD NOT do this, and connection managers | |
192 | SHOULD proceed as though zero had not been present in this | |
193 | list.</p> | |
174 | 194 | </tp:docstring> |
175 | 195 | </arg> |
176 | 196 | <arg direction="out" type="a(usuu)" tp:type="Contact_Capability[]"> |
177 | <tp:docstring> | |
197 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
178 | 198 | An array of structures containing: |
179 | 199 | <ul> |
180 | 200 | <li>an integer handle representing the contact</li> |
185 | 205 | </tp:docstring> |
186 | 206 | </arg> |
187 | 207 | <tp:docstring> |
188 | Returns an array of capabilities for the given contact handles, or | |
189 | the connection itself (where handle is zero). | |
208 | Returns an array of capabilities for the given contact handles. | |
190 | 209 | </tp:docstring> |
191 | 210 | <tp:possible-errors> |
192 | 211 | <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/> |
193 | 212 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> |
194 | 213 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"> |
195 | 214 | <tp:docstring> |
196 | The handle does not represent a contact | |
215 | The handle does not represent a contact and is not zero | |
197 | 216 | </tp:docstring> |
198 | 217 | </tp:error> |
199 | 218 | <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/> |
0 | <?xml version="1.0" ?> | |
1 | <node name="/Connection_Interface_Contact_Attributes" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> | |
2 | <tp:copyright> Copyright (C) 2005-2008 Collabora Limited </tp:copyright> | |
3 | <tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright> | |
4 | <tp:copyright> Copyright (C) 2006 INdT </tp:copyright> | |
5 | <tp:license xmlns="http://www.w3.org/1999/xhtml"> | |
6 | <p>This library is free software; you can redistribute it and/or modify it | |
7 | under the terms of the GNU Lesser General Public License as published by | |
8 | the Free Software Foundation; either version 2.1 of the License, or (at | |
9 | your option) any later version.</p> | |
10 | ||
11 | <p>This library is distributed in the hope that it will be useful, but | |
12 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser | |
14 | General Public License for more details.</p> | |
15 | ||
16 | <p>You should have received a copy of the GNU Lesser General Public License | |
17 | along with this library; if not, write to the Free Software Foundation, | |
18 | Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p> | |
19 | </tp:license> | |
20 | <interface name="org.freedesktop.Telepathy.Connection.Interface.Contacts.DRAFT" | |
21 | tp:causes-havoc="experimental"> | |
22 | <tp:requires interface="org.freedesktop.Telepathy.Connection"/> | |
23 | ||
24 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
25 | <p>This interface allows many attributes of many contacts to be | |
26 | obtained in a single D-Bus round trip.</p> | |
27 | ||
28 | <p>Each contact attribute has an string identifier | |
29 | (<tp:type>Contact_Attribute</tp:type>), which is namespaced | |
30 | by the D-Bus interface which defines it.</p> | |
31 | ||
32 | <p>While this interface is a draft, an initial set of contact | |
33 | attributes is defined here. The definitions of these attributes | |
34 | will be moved to the spec for individual interfaces when this interface | |
35 | is finalized.</p> | |
36 | ||
37 | <dl> | |
38 | <dt>org.freedesktop.Telepathy.Connection/contact-id | |
39 | (type s)</dt> | |
40 | <dd>The same string that would be returned by <tp:dbus-ref | |
41 | namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref> | |
42 | (always present in the result) | |
43 | </dd> | |
44 | <dt>org.freedesktop.Telepathy.Connection.Interface.Aliasing/alias | |
45 | (type s)</dt> | |
46 | <dd>The contact's alias as defined by the <tp:dbus-ref | |
47 | namespace="org.freedesktop.Telepathy.Connection.Interface">Aliasing</tp:dbus-ref> | |
48 | interface (always present with some value, possibly the | |
49 | same as Connection/contact-id, if information from the | |
50 | Aliasing interface was requested) | |
51 | </dd> | |
52 | <dt>org.freedesktop.Telepathy.Connection.Interface.Avatars/token | |
53 | (type s</dt> | |
54 | <dd>The same string that would be returned by <tp:dbus-ref | |
55 | namespace="org.freedesktop.Telepathy.Connection.Interface.Avatars">GetAvatarTokens</tp:dbus-ref> | |
56 | (omitted from the result if the contact's avatar token is not known, | |
57 | present as an empty string if the contact is known not to have | |
58 | an avatar) | |
59 | </dd> | |
60 | <dt>org.freedesktop.Telepathy.Connection.Interface.SimplePresence/presence | |
61 | (type (uss), <tp:type>Simple_Presence</tp:type>)</dt> | |
62 | <dd> The same struct that would be returned by | |
63 | <tp:dbus-ref | |
64 | namespace="org.freedesktop.Telepathy.Connection.Interface.SimplePresence">GetPresences</tp:dbus-ref> | |
65 | (always present with some value if information from the | |
66 | SimplePresence interface was requested) | |
67 | </dd> | |
68 | <dt>org.freedesktop.Telepathy.Connection.Interface.Capabilities/caps | |
69 | (type a(usuu), <tp:type>Contact_Capability</tp:type>)</dt> | |
70 | <dd>The same structs that would be returned by | |
71 | <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface.Capabilities">GetCapabilities</tp:dbus-ref> | |
72 | (all of them will redundantly have the contact's handle as the | |
73 | first member). Omitted from the result if the contact's capabilities | |
74 | are not known; present in the result as an empty array if the | |
75 | contact is known to have no capabilities at all.</dd> | |
76 | </dl> | |
77 | </tp:docstring> | |
78 | ||
79 | <tp:simple-type name="Contact_Attribute" type="s"> | |
80 | <tp:docstring> | |
81 | A <tp:type>DBus_Interface</tp:type>, followed by a slash '/' character | |
82 | and an identifier for an attribute defined by that interface. The | |
83 | attribute identifier SHOULD be in lower case. | |
84 | ||
85 | <tp:rationale> | |
86 | These aren't D-Bus core Properties, and we want them to look visibly | |
87 | different. | |
88 | </tp:rationale> | |
89 | </tp:docstring> | |
90 | </tp:simple-type> | |
91 | ||
92 | <tp:mapping name="Single_Contact_Attributes_Map"> | |
93 | <tp:docstring> | |
94 | Some of the attributes of a single contact. | |
95 | </tp:docstring> | |
96 | ||
97 | <tp:member type="s" tp:type="Contact_Attribute" name="Attribute"> | |
98 | <tp:docstring> | |
99 | The name of the attribute | |
100 | </tp:docstring> | |
101 | </tp:member> | |
102 | ||
103 | <tp:member type="v" name="Value"> | |
104 | <tp:docstring> | |
105 | The value of the attribute | |
106 | </tp:docstring> | |
107 | </tp:member> | |
108 | </tp:mapping> | |
109 | ||
110 | <tp:mapping name="Contact_Attributes_Map"> | |
111 | <tp:docstring>Mapping returned by InspectContacts, representing a | |
112 | collection of Contacts and their requested attributes.</tp:docstring> | |
113 | ||
114 | <tp:member type="u" tp:type="Contact_Handle" name="Contact"> | |
115 | <tp:docstring> | |
116 | A contact | |
117 | </tp:docstring> | |
118 | </tp:member> | |
119 | ||
120 | <tp:member type="a{sv}" tp:type="Single_Contact_Attributes_Map" | |
121 | name="Attributes"> | |
122 | <tp:docstring> | |
123 | Attributes of that contact | |
124 | </tp:docstring> | |
125 | </tp:member> | |
126 | </tp:mapping> | |
127 | ||
128 | <property name="InspectableInterfaces" access="read" type="as" | |
129 | tp:type="DBus_Interface[]"> | |
130 | <tp:docstring> | |
131 | A list of D-Bus interfaces for which | |
132 | <tp:member-ref>InspectContacts</tp:member-ref> is expected to work. | |
133 | This cannot change during the lifetime of the Connection. | |
134 | </tp:docstring> | |
135 | </property> | |
136 | ||
137 | <method name="InspectContacts"> | |
138 | <tp:docstring> | |
139 | Return any number of contact attributes for the given handles. | |
140 | </tp:docstring> | |
141 | ||
142 | <arg direction="in" name="Handles" type="au" tp:type="Contact_Handle[]"> | |
143 | <tp:docstring> | |
144 | An array of handles representing contacts. | |
145 | </tp:docstring> | |
146 | </arg> | |
147 | ||
148 | <arg direction="in" name="Interfaces" type="as" | |
149 | tp:type="DBus_Interface[]"> | |
150 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
151 | <p>A list of strings indicating which D-Bus interfaces the calling | |
152 | process is interested in. All supported attributes from these | |
153 | interfaces, whose values can be obtained without additional network | |
154 | activity, will be in the reply.</p> | |
155 | ||
156 | <p>It is an error to request interfaces that are not supported by | |
157 | this Connection (i.e. mentioned in the | |
158 | <tp:member-ref>InspectableInterfaces</tp:member-ref> property).</p> | |
159 | ||
160 | <tp:rationale> | |
161 | <p>This makes it possible to distinguish between interfaces for | |
162 | which the Connection has nothing to say (e.g. we don't know the | |
163 | avatar tokens of any of the contacts, so we omitted them all), | |
164 | and interfaces for which this API isn't supported.</p> | |
165 | </tp:rationale> | |
166 | ||
167 | <p>Attributes from the interface | |
168 | <tp:dbus-ref>org.freedesktop.Telepathy.Connection</tp:dbus-ref> | |
169 | are always returned, and need not be requested explicitly.</p> | |
170 | ||
171 | <p>As well as returning cached information immediately, the | |
172 | connection MAY start asynchronous requests to obtain better | |
173 | values for the contact attributes. If better values are later | |
174 | obtained by this process, they will be indicated with the usual | |
175 | signals (such as AliasesChanged).</p> | |
176 | ||
177 | <tp:rationale> | |
178 | For instance, an XMPP connection manager could download vCards | |
179 | in response to a request for Aliasing attributes. | |
180 | </tp:rationale> | |
181 | </tp:docstring> | |
182 | </arg> | |
183 | ||
184 | <arg direction="in" name="Hold" type="b"> | |
185 | <tp:docstring> | |
186 | If true, all handles in the result have been held on behalf of the | |
187 | calling process, as if by a call to | |
188 | <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.HoldHandles</tp:dbus-ref>. | |
189 | ||
190 | <tp:rationale> | |
191 | For further round-trip avoidance. | |
192 | </tp:rationale> | |
193 | </tp:docstring> | |
194 | </arg> | |
195 | ||
196 | <arg direction="out" type="a{ua{sv}}" name="Attributes" | |
197 | tp:type="Contact_Attributes_Map"> | |
198 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
199 | <p>A dictionary mapping the contact handles to contact attributes. | |
200 | If any of the requested handles are in fact invalid, they are | |
201 | simply omitted from this mapping. If contact attributes are not | |
202 | immediately known, the behaviour is defined by the interface; | |
203 | the attribute should either be omitted from the result or | |
204 | replaced with a default value.</p> | |
205 | ||
206 | <p>Each contact's attributes will always include at least the | |
207 | identifier that would be obtained by inspecting the handle | |
208 | (<code>org.freedesktop.Telepathy.Connection/contact-id</code>).</p> | |
209 | </tp:docstring> | |
210 | </arg> | |
211 | ||
212 | <tp:possible-errors> | |
213 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> | |
214 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> | |
215 | <tp:docstring> | |
216 | One of the requested interfaces is not supported (mentioned in | |
217 | <tp:member-ref>InspectableInterfaces</tp:member-ref>). | |
218 | </tp:docstring> | |
219 | </tp:error> | |
220 | </tp:possible-errors> | |
221 | </method> | |
222 | </interface> | |
223 | </node> | |
224 | <!-- vim:set sw=2 sts=2 et ft=xml: --> |
257 | 257 | </tp:possible-errors> |
258 | 258 | </method> |
259 | 259 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> |
260 | <p>This interface is for services which have a concept of presence which can | |
261 | be published for yourself and monitored on your contacts. Telepathy's | |
262 | definition of presence is based on that used by the Galago project | |
263 | (see http://www.galago-project.org/).</p> | |
260 | <p>This interface will become deprecated in future versions. New | |
261 | client implementations MAY use | |
262 | org.freedesktop.Telepathy.Connection.Interface.SimplePresence | |
263 | instead; new connection managers SHOULD implement both | |
264 | Presence and SimplePresence.</p> | |
265 | ||
266 | <p>This interface is for services which have a concept of presence which | |
267 | can be published for yourself and monitored on your contacts. | |
268 | Telepathy's definition of presence is based on that used by | |
269 | <a href="http://www.galago-project.org/">the Galago | |
270 | project</a>.</p> | |
264 | 271 | |
265 | 272 | <p>Presence on an individual (yourself or one of your contacts) is modelled as |
266 | 273 | a last activity time along with a set of zero or more statuses, each of |
275 | 282 | choices:</p> |
276 | 283 | |
277 | 284 | <ul> |
278 | <li>available</li> | |
279 | <li>away</li> | |
280 | <li>brb (Be Right Back)</li> | |
281 | <li>busy</li> | |
282 | <li>dnd (Do Not Disturb),</li> | |
283 | <li>xa (Extended Away)</li> | |
284 | <li>hidden (aka Invisible)</li> | |
285 | <li>offline</li> | |
285 | <li>available (corresponding to Connection_Presence_Type_Available)</li> | |
286 | <li>away (corresponding to Connection_Presence_Type_Away)</li> | |
287 | <li>brb (Be Right Back) (corresponding to | |
288 | Connection_Presence_Type_Away, but more specific)</li> | |
289 | <li>busy (corresponding to Connection_Presence_Type_Busy)</li> | |
290 | <li>dnd (Do Not Disturb) (corresponding to | |
291 | Connection_Presence_Type_Busy, but more specific)</li> | |
292 | <li>xa (Extended Away) (corresponding to | |
293 | Connection_Presence_Type_Extended_Away)</li> | |
294 | <li>hidden (aka Invisible) (corresponding to | |
295 | Connection_Presence_Type_Hidden)</li> | |
296 | <li>offline (corresponding to Connection_Presence_Type_Offline)</li> | |
297 | <li>unknown (corresponding to Connection_Presence_Type_Unknown)</li> | |
298 | <li>error (corresponding to Connection_Presence_Type_Error)</li> | |
286 | 299 | </ul> |
287 | 300 | |
288 | 301 | <p>As well as these well-known status identifiers, every status also has a |
316 | 329 | <tp:enum name="Connection_Presence_Type" type="u"> |
317 | 330 | <tp:enumvalue suffix="Unset" value="0"> |
318 | 331 | <tp:docstring> |
319 | An invalid presence type used as a null value | |
332 | An invalid presence type used as a null value. This value MUST NOT | |
333 | appear in the result of GetStatuses, or in the Statuses property | |
334 | of the SimplePresence interface. | |
320 | 335 | </tp:docstring> |
321 | 336 | </tp:enumvalue> |
322 | 337 | <tp:enumvalue suffix="Offline" value="1"> |
348 | 363 | <tp:added version="0.17.0"/> |
349 | 364 | <tp:docstring> |
350 | 365 | Busy, Do Not Disturb. |
366 | </tp:docstring> | |
367 | </tp:enumvalue> | |
368 | <tp:enumvalue suffix="Unknown" value="7"> | |
369 | <tp:added version="0.17.UNRELEASED"/> | |
370 | <tp:docstring> | |
371 | Unknown, unable to determine presence for this contact, for example | |
372 | if the protocol only allows presence of subscribed contacts. | |
373 | </tp:docstring> | |
374 | </tp:enumvalue> | |
375 | <tp:enumvalue suffix="Error" value="8"> | |
376 | <tp:added version="0.17.UNRELEASED"/> | |
377 | <tp:docstring> | |
378 | Error, an error occurred while trying to determine presence. The | |
379 | message, if set, is an error from the server. | |
351 | 380 | </tp:docstring> |
352 | 381 | </tp:enumvalue> |
353 | 382 | </tp:enum> |
0 | <?xml version="1.0" ?> | |
1 | <node name="/Connection_Interface_Simple_Presence" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> | |
2 | <tp:copyright> Copyright (C) 2005-2008 Collabora Limited </tp:copyright> | |
3 | <tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright> | |
4 | <tp:copyright> Copyright (C) 2006 INdT </tp:copyright> | |
5 | <tp:license xmlns="http://www.w3.org/1999/xhtml"> | |
6 | <p>This library is free software; you can redistribute it and/or modify it | |
7 | under the terms of the GNU Lesser General Public License as published by | |
8 | the Free Software Foundation; either version 2.1 of the License, or (at | |
9 | your option) any later version.</p> | |
10 | ||
11 | <p>This library is distributed in the hope that it will be useful, but | |
12 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser | |
14 | General Public License for more details.</p> | |
15 | ||
16 | <p>You should have received a copy of the GNU Lesser General Public License | |
17 | along with this library; if not, write to the Free Software Foundation, | |
18 | Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p> | |
19 | </tp:license> | |
20 | ||
21 | <interface name="org.freedesktop.Telepathy.Connection.Interface.SimplePresence"> | |
22 | <tp:requires interface="org.freedesktop.Telepathy.Connection"/> | |
23 | ||
24 | <tp:struct name="Simple_Presence"> | |
25 | <tp:docstring> | |
26 | A struct representing the presence of a contact. | |
27 | </tp:docstring> | |
28 | <tp:member type="u" tp:type="Connection_Presence_Type" name="Type"> | |
29 | <tp:docstring> | |
30 | The presence type, e.g. Connection_Presence_Type_Away. | |
31 | </tp:docstring> | |
32 | </tp:member> | |
33 | <tp:member type="s" name="Status"> | |
34 | <tp:docstring> | |
35 | The string identifier of the status, e.g. "brb", as defined in the | |
36 | <tp:member-ref>Statuses</tp:member-ref> property. | |
37 | </tp:docstring> | |
38 | </tp:member> | |
39 | <tp:member type="s" name="Status_Message"> | |
40 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
41 | <p>The user-defined status message, e.g. "Back soon!".</p> | |
42 | ||
43 | <p>Clients SHOULD set the status message for the local | |
44 | user to the empty string, unless the user has actually provided | |
45 | a specific message (i.e. one that conveys more information than the | |
46 | Status).</p> | |
47 | ||
48 | <p>User interfaces SHOULD regard an empty status message as unset, | |
49 | and MAY replace it with a localized string corresponding to the | |
50 | Status or Type.</p> | |
51 | ||
52 | <tp:rationale> | |
53 | Use case: Daf sets his status in Empathy by choosing the Welsh | |
54 | translation of "Available" from a menu. | |
55 | It is more informative for his English-speaking colleagues | |
56 | to see the English translation of "Available" (as localized | |
57 | by their own clients) than to see the Welsh version (which they | |
58 | don't understand anyway). | |
59 | </tp:rationale> | |
60 | </tp:docstring> | |
61 | </tp:member> | |
62 | </tp:struct> | |
63 | ||
64 | <tp:mapping name="Simple_Contact_Presences"> | |
65 | <tp:docstring> | |
66 | Mapping returned by <tp:member-ref>GetPresences</tp:member-ref> | |
67 | and signalled by <tp:member-ref>PresencesChanged</tp:member-ref>, | |
68 | indicating the presence of a number of contacts. | |
69 | </tp:docstring> | |
70 | <tp:member type="u" tp:type="Contact_Handle" name="Contact"> | |
71 | <tp:docstring> | |
72 | A contact | |
73 | </tp:docstring> | |
74 | </tp:member> | |
75 | <tp:member type="(uss)" tp:type="Simple_Presence" name="Presence"> | |
76 | <tp:docstring> | |
77 | The contact's presence | |
78 | </tp:docstring> | |
79 | </tp:member> | |
80 | </tp:mapping> | |
81 | ||
82 | <tp:struct name="Simple_Status_Spec"> | |
83 | <tp:docstring> | |
84 | A struct containing information about a status. | |
85 | </tp:docstring> | |
86 | <tp:member type="u" tp:type="Connection_Presence_Type" name="Type"> | |
87 | <tp:docstring> | |
88 | The type of a presence. This SHOULD NOT be used as a way to set | |
89 | statuses that the client does not recognise (as explained in | |
90 | <tp:member-ref>SetPresence</tp:member-ref>), but MAY be used to check | |
91 | that the client's assumptions about a particular status name | |
92 | match the connection manager's. | |
93 | </tp:docstring> | |
94 | </tp:member> | |
95 | <tp:member type="b" name="May_Set_On_Self"> | |
96 | <tp:docstring> | |
97 | If true, the user can set this status on themselves using | |
98 | <tp:member-ref>SetPresence</tp:member-ref>. | |
99 | </tp:docstring> | |
100 | </tp:member> | |
101 | <tp:member type="b" name="Can_Have_Message"> | |
102 | <tp:docstring> | |
103 | If true, a non-empty message can be set for this status. Otherwise, | |
104 | the empty string is the only acceptable message. | |
105 | ||
106 | <tp:rationale> | |
107 | On IRC you can be Away with a status message, but if you are | |
108 | available you cannot set a status message. | |
109 | </tp:rationale> | |
110 | </tp:docstring> | |
111 | </tp:member> | |
112 | </tp:struct> | |
113 | ||
114 | <tp:mapping name="Simple_Status_Spec_Map"> | |
115 | <tp:docstring> | |
116 | A mapping describing possible statuses. | |
117 | </tp:docstring> | |
118 | ||
119 | <tp:member type="s" name="Identifier"> | |
120 | <tp:docstring> | |
121 | The string identifier of this status. | |
122 | </tp:docstring> | |
123 | </tp:member> | |
124 | <tp:member type="(ubb)" tp:type="Simple_Status_Spec" name="Spec"> | |
125 | <tp:docstring> | |
126 | Details of this status. | |
127 | </tp:docstring> | |
128 | </tp:member> | |
129 | </tp:mapping> | |
130 | ||
131 | <method name="SetPresence"> | |
132 | <arg direction="in" name="status" type="s"> | |
133 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
134 | <p>The string identifier of the desired status. Possible status | |
135 | identifiers are defined in the | |
136 | <tp:member-ref>Statuses</tp:member-ref> property.</p> | |
137 | ||
138 | <p>Clients MUST NOT set a status whose string value they do not | |
139 | recognise, even if its presence type in Statuses | |
140 | matches what the user requested.</p> | |
141 | ||
142 | <tp:rationale> | |
143 | <p>Suppose a protocol has statuses that include 'phone' (of type | |
144 | BUSY) and 'in-a-meeting' (of type BUSY), but there is no | |
145 | generic 'busy' status.</p> | |
146 | ||
147 | <p>If the user requests "Busy" status from a menu, a | |
148 | client author might be tempted to pick an arbitrary status | |
149 | that has type BUSY. However, on this protocol, neither of | |
150 | the choices would be appropriate, and incorrect information | |
151 | about the user would be conveyed.</p> | |
152 | </tp:rationale> | |
153 | </tp:docstring> | |
154 | </arg> | |
155 | <arg direction="in" name="status_message" type="s"> | |
156 | <tp:docstring> | |
157 | The status message associated with the current status. | |
158 | </tp:docstring> | |
159 | </arg> | |
160 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
161 | <p>Request that the presence status and status message are published for | |
162 | the connection. Changes will be indicated by | |
163 | <tp:member-ref>PresencesChanged</tp:member-ref> | |
164 | signals being emitted.</p> | |
165 | ||
166 | <p>This method may be called on a newly-created connection while it | |
167 | is still in the DISCONNECTED state, to request that when the | |
168 | connection connects, it will do so with the selected status.</p> | |
169 | ||
170 | <p>In DISCONNECTED state the | |
171 | <tp:member-ref>Statuses</tp:member-ref> | |
172 | property will indicate which statuses are allowed to be set | |
173 | while DISCONNECTED (none, if the Connection Manager doesn't allow | |
174 | this). This value MUST NOT be cached, as the set of allowed | |
175 | presences might change upon connecting.</p> | |
176 | </tp:docstring> | |
177 | <tp:possible-errors> | |
178 | <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/> | |
179 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> | |
180 | <tp:docstring> | |
181 | Either the specified status is not supported, the specified | |
182 | status cannot be set on the user themselves, or a non-empty | |
183 | message was supplied for a status that does not | |
184 | accept a message. | |
185 | </tp:docstring> | |
186 | </tp:error> | |
187 | <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/> | |
188 | </tp:possible-errors> | |
189 | </method> | |
190 | ||
191 | <method name="GetPresences"> | |
192 | <arg direction="in" name="contacts" type="au" tp:type="Contact_Handle[]"> | |
193 | <tp:docstring> | |
194 | An array of the contacts whose presence should be obtained. | |
195 | </tp:docstring> | |
196 | </arg> | |
197 | <arg direction="out" name="presence" type="a{u(uss)}" | |
198 | tp:type="Simple_Contact_Presences"> | |
199 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
200 | <p>Presence information in the same format as for the | |
201 | <tp:member-ref>PresencesChanged</tp:member-ref> signal. | |
202 | The returned mapping MUST include an entry for each contact | |
203 | in the method's argument.</p> | |
204 | ||
205 | <p>The definition of the connection presence types Unknown | |
206 | and Offline means that if a connection manager will return | |
207 | Unknown for contacts not on the subscribe list, it MUST delay | |
208 | the reply to this method call until it has found out which | |
209 | contacts are, in fact, on the subscribe list.</p> | |
210 | </tp:docstring> | |
211 | </arg> | |
212 | <tp:docstring> | |
213 | Get presence previously emitted by PresencesChanged for the given | |
214 | contacts. Data is returned in the same structure as the | |
215 | PresencesChanged signal; no additional network requests are made. | |
216 | </tp:docstring> | |
217 | <tp:possible-errors> | |
218 | <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> | |
219 | <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/> | |
220 | <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"> | |
221 | <tp:docstring> | |
222 | While discovering the subscribe list in order to distinguish | |
223 | between Unknown and Offline statuses, a network error occurred. | |
224 | </tp:docstring> | |
225 | </tp:error> | |
226 | <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/> | |
227 | </tp:possible-errors> | |
228 | </method> | |
229 | ||
230 | <property name="Statuses" access="read" | |
231 | type="a{s(ubb)}" tp:type="Simple_Status_Spec_Map"> | |
232 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
233 | <p>A dictionary where the keys are the presence statuses that the user | |
234 | can set on themselves for this connection, and the values are the | |
235 | corresponding presence types.</p> | |
236 | ||
237 | <p>While the connection is in the DISCONNECTED state, it contains | |
238 | the set of presence statuses allowed to be set before connecting. | |
239 | The connection manager will attempt to set the appropriate status | |
240 | when the connection becomes connected, but cannot necessarily | |
241 | guarantee it. The available statuses cannot change until the | |
242 | connection status changes, so there is no change notification.</p> | |
243 | ||
244 | <p>While the connection is in the CONNECTED state, this property | |
245 | contains the set of presence statuses which are actually available | |
246 | on this protocol. This set is constant for the remaining lifetime | |
247 | of the connection, so again, there is no change notification.</p> | |
248 | ||
249 | <p>While the connection is in the CONNECTING state, the value of | |
250 | this property is undefined and SHOULD NOT be used. It can change | |
251 | at any time without notification (in particular, any cached values | |
252 | from when the connection was in the DISCONNECTED or CONNECTING | |
253 | state MUST NOT be assumed to still be correct when the state has | |
254 | become CONNECTED).</p> | |
255 | ||
256 | <p>This property MUST include the special statuses "unknown" and | |
257 | "error" if and only if the connection manager can emit them | |
258 | as a contact's status.</p> | |
259 | ||
260 | <tp:rationale> | |
261 | For instance, connection managers for local-xmpp (XEP-0174) would | |
262 | omit "unknown" since there is no such concept. | |
263 | </tp:rationale> | |
264 | </tp:docstring> | |
265 | </property> | |
266 | ||
267 | <signal name="PresencesChanged"> | |
268 | <arg name="presence" type="a{u(uss)}" tp:type="Simple_Contact_Presences"> | |
269 | <tp:docstring> | |
270 | A dictionary of contact handles mapped to the status, | |
271 | presence type and status message. | |
272 | </tp:docstring> | |
273 | </arg> | |
274 | <tp:docstring> | |
275 | This signal should be emitted when your own presence has been changed, | |
276 | or the presence of the member of any of the connection's channels has | |
277 | been changed. | |
278 | </tp:docstring> | |
279 | </signal> | |
280 | ||
281 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
282 | <p>This interface is for services which have a concept of presence which | |
283 | can be published for yourself and monitored on your contacts.</p> | |
284 | ||
285 | <p>Presence on an individual (yourself or one of your contacts) is | |
286 | modelled as a status and a status message. Valid statuses are defined | |
287 | per connection, and a list of those that can be set on youself | |
288 | can be obtained from the | |
289 | <tp:member-ref>Statuses</tp:member-ref> | |
290 | property.</p> | |
291 | ||
292 | <p>Each status has an arbitrary string identifier which should have an | |
293 | agreed meaning between the connection manager and any client which is | |
294 | expected to make use of it. The following well-known values should be | |
295 | used where possible to allow clients to identify common choices:</p> | |
296 | ||
297 | <table> | |
298 | <tr> | |
299 | <th>status identifier</th> | |
300 | <th>Connection_Presence_Type</th> | |
301 | <th>comments</th> | |
302 | </tr> | |
303 | <tr> | |
304 | <td>available</td> | |
305 | <td>Connection_Presence_Type_Available</td> | |
306 | <td></td> | |
307 | </tr> | |
308 | <tr> | |
309 | <td>away</td> | |
310 | <td>Connection_Presence_Type_Away</td> | |
311 | <td></td> | |
312 | </tr> | |
313 | <tr> | |
314 | <td>brb</td> | |
315 | <td>Connection_Presence_Type_Away</td> | |
316 | <td>Be Right Back (a more specific form of Away)</td> | |
317 | </tr> | |
318 | <tr> | |
319 | <td>busy</td> | |
320 | <td>Connection_Presence_Type_Busy</td> | |
321 | <td></td> | |
322 | </tr> | |
323 | <tr><td>dnd</td> | |
324 | <td>Connection_Presence_Type_Busy</td> | |
325 | <td>Do Not Disturb (a more specific form of Busy)</td> | |
326 | </tr> | |
327 | <tr> | |
328 | <td>xa</td> | |
329 | <td>Connection_Presence_Type_Extended_Away</td> | |
330 | <td>Extended Away</td> | |
331 | </tr> | |
332 | <tr> | |
333 | <td>hidden</td> | |
334 | <td>Connection_Presence_Type_Hidden</td> | |
335 | <td>Also known as "Invisible" or "Appear Offline"</td> | |
336 | </tr> | |
337 | <tr> | |
338 | <td>offline</td> | |
339 | <td>Connection_Presence_Type_Offline</td> | |
340 | <td></td> | |
341 | </tr> | |
342 | <tr> | |
343 | <td>unknown</td> | |
344 | <td>Connection_Presence_Type_Unknown</td> | |
345 | <td>special, see below</td> | |
346 | </tr> | |
347 | <tr> | |
348 | <td>error</td> | |
349 | <td>Connection_Presence_Type_Error</td> | |
350 | <td>special, see below</td> | |
351 | </tr> | |
352 | </table> | |
353 | ||
354 | <p>As well as these well-known status identifiers, every status also has | |
355 | a numerical type value chosen from ConnectionPresenceType which can be | |
356 | used by the client to classify even unknown statuses into different | |
357 | fundamental types.</p> | |
358 | ||
359 | <p>These numerical types exist so that even if a client does not | |
360 | understand the string identifier being used, and hence cannot present | |
361 | the presence to the user to set on themselves, it may display an | |
362 | approximation of the presence if it is set on a contact.</p> | |
363 | ||
364 | <p>As well as the normal status identifiers, there are two special ones | |
365 | that may be present: 'unknown' with type Unknown and 'error' with type | |
366 | Error. 'unknown' indicates that it is impossible to determine the | |
367 | presence of a contact at this time, for example because it's not on the | |
368 | 'subscribe' list and the protocol only allows one to determine the | |
369 | presence of contacts you're subscribed to. 'error' indicates that there | |
370 | was a failure in determining the status of a contact.</p> | |
371 | ||
372 | <p>If the connection has a 'subscribe' contact list, PresencesChanged | |
373 | signals should be emitted to indicate changes of contacts on this list, | |
374 | and should also be emitted for changes in your own presence. Depending | |
375 | on the protocol, the signal may also be emitted for others such as | |
376 | people with whom you are communicating, and any user interface should | |
377 | be updated accordingly.</p> | |
378 | </tp:docstring> | |
379 | </interface> | |
380 | </node> | |
381 | <!-- vim:set sw=2 sts=2 et ft=xml: --> |
20 | 20 | <interface name="org.freedesktop.Telepathy.ConnectionManager"> |
21 | 21 | |
22 | 22 | <tp:simple-type name="Connection_Manager_Name" type="s"> |
23 | <tp:docstring> | |
24 | The name of a connection manager, found in its well-known | |
25 | bus name and object path. This must be a non-empty string of | |
26 | ASCII letters, digits and underscores, starting with a letter. | |
27 | This is typically the name of the executable with any "telepathy-" | |
28 | prefix removed, and any hyphen/minus signs replaced by | |
29 | underscores. | |
23 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
24 | <p>The name of a connection manager, found in its well-known | |
25 | bus name and object path. This must be a non-empty string of | |
26 | ASCII letters, digits and underscores, starting with a letter. | |
27 | This is typically the name of the executable with any "telepathy-" | |
28 | prefix removed, and any hyphen/minus signs replaced by | |
29 | underscores.</p> | |
30 | ||
31 | <p>Connection manager names SHOULD NOT be the same as the name of | |
32 | the protocol they implement.</p> | |
33 | ||
34 | <tp:rationale> | |
35 | <p>This is likely to lead to conflicts between different | |
36 | implementations of the same protocol (or indeed inability | |
37 | to distinguish between the different implementations!). The | |
38 | Telepathy project traditionally uses some sort of pun (Haze is | |
39 | based on libpurple, Salut implements a protocol often called | |
40 | Bonjour, and Wilde implements the OSCAR protocol).</p> | |
41 | </tp:rationale> | |
42 | ||
43 | <p>Connection manager names SHOULD NOT be the same as the name of | |
44 | a library on which they are based.</p> | |
45 | ||
46 | <tp:rationale> | |
47 | <p>We often abbreviate, for instance, telepathy-haze as "Haze", | |
48 | but abbreviating telepathy-sofiasip to "Sofia-SIP" would cause | |
49 | confusion between the connection manager and the library it | |
50 | uses. Please don't repeat that mistake.</p> | |
51 | </tp:rationale> | |
30 | 52 | </tp:docstring> |
31 | 53 | <tp:changed version="0.17.1">Prior to version 0.17.1, the allowed |
32 | 54 | characters were not specified</tp:changed> |
297 | 319 | </tp:possible-errors> |
298 | 320 | </method> |
299 | 321 | |
322 | <property name="Interfaces" type="as" access="read"> | |
323 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> | |
324 | <p>A list of the extra interfaces provided by this connection manager | |
325 | (i.e. extra functionality that can be provided even before a | |
326 | connection has been created).</p> | |
327 | ||
328 | <p>No interfaces suitable for listing in this property are currently | |
329 | defined; it's provided as a hook for possible future | |
330 | functionality.</p> | |
331 | ||
332 | <p>To be compatible with older connection managers, if retrieving | |
333 | this property fails, clients SHOULD assume that its value is | |
334 | an empty list.</p> | |
335 | </tp:docstring> | |
336 | <tp:added version="0.17.UNRELEASED"/> | |
337 | </property> | |
338 | ||
339 | <!-- FIXME: One thing we could perhaps use Interfaces for would be a | |
340 | ConnectionManager.Interface.Capabilities that can give hints regarding | |
341 | the capabilities (in the sense of | |
342 | Connection.Interface.Requests.AvailableChannelClasses and/or | |
343 | Connection.GetInterfaces()) that a Connection from this CM is likely | |
344 | to have --> | |
345 | ||
300 | 346 | <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> |
301 | 347 | <p>A D-Bus service which allows connections to be created. The manager |
302 | 348 | processes are intended to be started by D-Bus service activation.</p> |
27 | 27 | Connection_Interface_Avatars.xml \ |
28 | 28 | Connection_Interface_Capabilities.xml \ |
29 | 29 | Connection_Interface_Contact_Info.xml \ |
30 | Connection_Interface_Contacts.xml \ | |
30 | 31 | Connection_Interface_Forwarding.xml \ |
32 | Connection_Interface_Simple_Presence.xml \ | |
31 | 33 | Connection_Interface_Presence.xml \ |
32 | 34 | Connection_Interface_Privacy.xml \ |
33 | 35 | Connection_Interface_Renaming.xml \ |
215 | 215 | Connection_Interface_Avatars.xml \ |
216 | 216 | Connection_Interface_Capabilities.xml \ |
217 | 217 | Connection_Interface_Contact_Info.xml \ |
218 | Connection_Interface_Contacts.xml \ | |
218 | 219 | Connection_Interface_Forwarding.xml \ |
220 | Connection_Interface_Simple_Presence.xml \ | |
219 | 221 | Connection_Interface_Presence.xml \ |
220 | 222 | Connection_Interface_Privacy.xml \ |
221 | 223 | Connection_Interface_Renaming.xml \ |
2 | 2 | xmlns:xi="http://www.w3.org/2001/XInclude"> |
3 | 3 | |
4 | 4 | <tp:title>Telepathy D-Bus Interface Specification</tp:title> |
5 | <tp:version>0.17.7</tp:version> | |
5 | <tp:version>0.17.8</tp:version> | |
6 | 6 | |
7 | 7 | <tp:copyright>Copyright (C) 2005-2008 Collabora Limited</tp:copyright> |
8 | 8 | <tp:copyright>Copyright (C) 2005-2008 Nokia Corporation</tp:copyright> |
29 | 29 | <xi:include href="Connection_Interface_Aliasing.xml"/> |
30 | 30 | <xi:include href="Connection_Interface_Avatars.xml"/> |
31 | 31 | <xi:include href="Connection_Interface_Capabilities.xml"/> |
32 | <xi:include href="Connection_Interface_Contacts.xml"/> | |
32 | 33 | <!-- Never implemented, is a terrible API |
33 | 34 | <xi:include href="Connection_Interface_Contact_Info.xml"/> --> |
34 | 35 | <!-- Never implemented, insufficient (needs conditions) |
35 | 36 | <xi:include href="Connection_Interface_Forwarding.xml"/> --> |
37 | <xi:include href="Connection_Interface_Simple_Presence.xml"/> | |
36 | 38 | <xi:include href="Connection_Interface_Presence.xml"/> |
37 | 39 | <!-- Never implemented, vague |
38 | 40 | <xi:include href="Connection_Interface_Privacy.xml"/> --> |
16 | 16 | </tp:simple-type> |
17 | 17 | |
18 | 18 | <tp:simple-type name="DBus_Interface" type="s"> |
19 | <tp:docstring>A string representing a D-Bus interface</tp:docstring> | |
19 | <tp:docstring>An ASCII string representing a D-Bus interface - two or more | |
20 | elements separated by dots, where each element is a non-empty | |
21 | string of ASCII letters, digits and underscores, not starting with | |
22 | a digit. The maximum total length is 255 characters. For example, | |
23 | "org.freedesktop.DBus.Peer".</tp:docstring> | |
20 | 24 | </tp:simple-type> |
21 | 25 | |
22 | 26 | <tp:simple-type name="DBus_Signature" type="s"> |
24 | 28 | (the 'g' type isn't used because of poor interoperability, particularly |
25 | 29 | with dbus-glib)</tp:docstring> |
26 | 30 | </tp:simple-type> |
31 | ||
32 | <tp:simple-type name="DBus_Member" type="s"> | |
33 | <tp:docstring>An ASCII string representing a D-Bus method, signal | |
34 | or property name - a non-empty string of ASCII letters, digits and | |
35 | underscores, not starting with a digit, with a maximum length of 255 | |
36 | characters. For example, "Ping".</tp:docstring> | |
37 | </tp:simple-type> | |
38 | ||
39 | <tp:simple-type name="DBus_Qualified_Member" type="s"> | |
40 | <tp:docstring>A string representing the full name of a D-Bus method, | |
41 | signal or property, consisting of a DBus_Interface, followed by | |
42 | a dot, followed by a DBus_Member. For example, | |
43 | "org.freedesktop.DBus.Peer.Ping".</tp:docstring> | |
44 | </tp:simple-type> | |
45 | ||
46 | <tp:mapping name="Qualified_Property_Value_Map"> | |
47 | <tp:docstring>A mapping from strings representing D-Bus | |
48 | properties (by their namespaced names) to their values.</tp:docstring> | |
49 | <tp:member type="s" name="Key" tp:type="DBus_Qualified_Member"> | |
50 | <tp:docstring> | |
51 | A D-Bus interface name, followed by a dot and a D-Bus property name. | |
52 | </tp:docstring> | |
53 | </tp:member> | |
54 | <tp:member type="v" name="Value"> | |
55 | <tp:docstring> | |
56 | The value of the property. | |
57 | </tp:docstring> | |
58 | </tp:member> | |
59 | </tp:mapping> | |
27 | 60 | |
28 | 61 | <tp:mapping name="String_Variant_Map"> |
29 | 62 | <tp:docstring>A mapping from strings to variants representing extra |
14 | 14 | versions/0.7.8.abi \ |
15 | 15 | versions/0.7.9.abi \ |
16 | 16 | versions/0.7.10.abi \ |
17 | versions/0.7.12.abi | |
17 | versions/0.7.12.abi \ | |
18 | versions/0.7.13.abi | |
18 | 19 | |
19 | 20 | EXTRA_DIST = \ |
20 | 21 | $(ABI_LISTS) \ |
266 | 266 | versions/0.7.8.abi \ |
267 | 267 | versions/0.7.9.abi \ |
268 | 268 | versions/0.7.10.abi \ |
269 | versions/0.7.12.abi | |
269 | versions/0.7.12.abi \ | |
270 | versions/0.7.13.abi | |
270 | 271 | |
271 | 272 | EXTRA_DIST = \ |
272 | 273 | $(ABI_LISTS) \ |
836 | 836 | tp_channel_is_ready; |
837 | 837 | } TELEPATHY_GLIB_0.7.10; |
838 | 838 | |
839 | TELEPATHY_GLIB_0.7.13 { | |
840 | global: | |
841 | tp_cli_connection_interface_simple_presence_call_get_presences; | |
842 | tp_cli_connection_interface_simple_presence_call_set_presence; | |
843 | tp_cli_connection_interface_simple_presence_connect_to_presences_changed; | |
844 | tp_cli_connection_interface_simple_presence_run_get_presences; | |
845 | tp_cli_connection_interface_simple_presence_run_set_presence; | |
846 | tp_dbus_properties_mixin_get; | |
847 | tp_iface_quark_connection_interface_simple_presence; | |
848 | tp_presence_mixin_simple_presence_iface_init; | |
849 | tp_presence_mixin_simple_presence_init_dbus_properties; | |
850 | tp_svc_connection_interface_simple_presence_emit_presences_changed; | |
851 | tp_svc_connection_interface_simple_presence_get_type; | |
852 | tp_svc_connection_interface_simple_presence_implement_get_presences; | |
853 | tp_svc_connection_interface_simple_presence_implement_set_presence; | |
854 | tp_text_mixin_has_pending_messages; | |
855 | tp_type_dbus_hash_s_28ubb_29; | |
856 | tp_type_dbus_hash_u_28uss_29; | |
857 | tp_type_dbus_struct_ubb; | |
858 | tp_type_dbus_struct_uss; | |
859 | } TELEPATHY_GLIB_0.7.12; | |
860 |
8 | 8 | <xi:include href="../spec/Connection_Interface_Aliasing.xml"/> |
9 | 9 | <xi:include href="../spec/Connection_Interface_Avatars.xml"/> |
10 | 10 | <xi:include href="../spec/Connection_Interface_Capabilities.xml"/> |
11 | <xi:include href="../spec/Connection_Interface_Simple_Presence.xml"/> | |
11 | 12 | <xi:include href="../spec/Connection_Interface_Presence.xml"/> |
12 | 13 | |
13 | 14 | </tp:spec> |
592 | 592 | |
593 | 593 | static TpDBusPropertiesMixinIfaceImpl * |
594 | 594 | _tp_dbus_properties_mixin_find_iface_impl (GObject *self, |
595 | const gchar *name, | |
596 | DBusGMethodInvocation *context) | |
595 | const gchar *name) | |
597 | 596 | { |
598 | 597 | GType type; |
599 | 598 | GQuark offset_quark = _prop_mixin_offset_quark (); |
645 | 644 | static TpDBusPropertiesMixinPropImpl * |
646 | 645 | _tp_dbus_properties_mixin_find_prop_impl |
647 | 646 | (TpDBusPropertiesMixinIfaceImpl *iface_impl, |
648 | const gchar *name, | |
649 | DBusGMethodInvocation *context) | |
647 | const gchar *name) | |
650 | 648 | { |
651 | 649 | GQuark prop_quark = g_quark_try_string (name); |
652 | 650 | TpDBusPropertiesMixinPropImpl *prop_impl; |
665 | 663 | } |
666 | 664 | |
667 | 665 | return NULL; |
666 | } | |
667 | ||
668 | ||
669 | /** | |
670 | * tp_dbus_properties_mixin_get: | |
671 | * @self: an object with this mixin | |
672 | * @interface_name: a D-Bus interface name | |
673 | * @property_name: a D-Bus property name | |
674 | * @value: an unset GValue (initialized to all zeroes) | |
675 | * @error: used to return an error on failure | |
676 | * | |
677 | * Initialize @value with the type of the property @property_name on | |
678 | * @interface_name, and write the value of that property into it as if | |
679 | * by calling the D-Bus method org.freedesktop.DBus.Properties.Get. | |
680 | * | |
681 | * If Get would return a D-Bus error, @value remains unset and @error | |
682 | * is filled in instead. | |
683 | * | |
684 | * Returns: %TRUE (filling @value) on success, %FALSE (setting @error) | |
685 | * on failure | |
686 | * Since: 0.7.13 | |
687 | */ | |
688 | gboolean | |
689 | tp_dbus_properties_mixin_get (GObject *self, | |
690 | const gchar *interface_name, | |
691 | const gchar *property_name, | |
692 | GValue *value, | |
693 | GError **error) | |
694 | { | |
695 | TpDBusPropertiesMixinIfaceImpl *iface_impl; | |
696 | TpDBusPropertiesMixinIfaceInfo *iface_info; | |
697 | TpDBusPropertiesMixinPropImpl *prop_impl; | |
698 | TpDBusPropertiesMixinPropInfo *prop_info; | |
699 | ||
700 | iface_impl = _tp_dbus_properties_mixin_find_iface_impl (self, | |
701 | interface_name); | |
702 | ||
703 | if (iface_impl == NULL) | |
704 | { | |
705 | g_set_error (error, TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED, | |
706 | "No properties known for interface %s", interface_name); | |
707 | return FALSE; | |
708 | } | |
709 | ||
710 | iface_info = iface_impl->mixin_priv; | |
711 | ||
712 | prop_impl = _tp_dbus_properties_mixin_find_prop_impl (iface_impl, | |
713 | property_name); | |
714 | ||
715 | if (prop_impl == NULL) | |
716 | { | |
717 | g_set_error (error, TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED, | |
718 | "Unknown property %s on %s", property_name, interface_name); | |
719 | return FALSE; | |
720 | } | |
721 | ||
722 | prop_info = prop_impl->mixin_priv; | |
723 | ||
724 | if ((prop_info->flags & TP_DBUS_PROPERTIES_MIXIN_FLAG_READ) == 0) | |
725 | { | |
726 | g_set_error (error, TP_ERRORS, TP_ERROR_PERMISSION_DENIED, | |
727 | "Property %s on %s is read-only", property_name, interface_name); | |
728 | return FALSE; | |
729 | } | |
730 | ||
731 | g_value_init (value, prop_info->type); | |
732 | iface_impl->getter (self, iface_info->dbus_interface, | |
733 | prop_info->name, value, prop_impl->getter_data); | |
734 | ||
735 | return TRUE; | |
668 | 736 | } |
669 | 737 | |
670 | 738 | static void |
674 | 742 | DBusGMethodInvocation *context) |
675 | 743 | { |
676 | 744 | GObject *self = G_OBJECT (iface); |
677 | TpDBusPropertiesMixinIfaceImpl *iface_impl; | |
678 | TpDBusPropertiesMixinIfaceInfo *iface_info; | |
679 | TpDBusPropertiesMixinPropImpl *prop_impl; | |
680 | TpDBusPropertiesMixinPropInfo *prop_info; | |
681 | 745 | GValue value = { 0 }; |
682 | ||
683 | iface_impl = _tp_dbus_properties_mixin_find_iface_impl (self, | |
684 | interface_name, context); | |
685 | ||
686 | if (iface_impl == NULL) | |
687 | { | |
688 | GError e = { TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED, | |
689 | "No properties known for that interface" }; | |
690 | ||
691 | dbus_g_method_return_error (context, &e); | |
692 | return; | |
693 | } | |
694 | ||
695 | iface_info = iface_impl->mixin_priv; | |
696 | ||
697 | prop_impl = _tp_dbus_properties_mixin_find_prop_impl (iface_impl, | |
698 | property_name, context); | |
699 | ||
700 | if (prop_impl == NULL) | |
701 | { | |
702 | GError e = { TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED, | |
703 | "Unknown property" }; | |
704 | ||
705 | dbus_g_method_return_error (context, &e); | |
706 | return; | |
707 | } | |
708 | ||
709 | prop_info = prop_impl->mixin_priv; | |
710 | ||
711 | if ((prop_info->flags & TP_DBUS_PROPERTIES_MIXIN_FLAG_READ) == 0) | |
712 | { | |
713 | GError e = { TP_ERRORS, TP_ERROR_PERMISSION_DENIED, | |
714 | "This property is write-only" }; | |
715 | ||
716 | dbus_g_method_return_error (context, &e); | |
717 | return; | |
718 | } | |
719 | ||
720 | g_value_init (&value, prop_info->type); | |
721 | iface_impl->getter (self, iface_info->dbus_interface, | |
722 | prop_info->name, &value, prop_impl->getter_data); | |
723 | tp_svc_dbus_properties_return_from_get (context, &value); | |
724 | g_value_unset (&value); | |
746 | GError *error = NULL; | |
747 | ||
748 | if (tp_dbus_properties_mixin_get (self, interface_name, property_name, | |
749 | &value, &error)) | |
750 | { | |
751 | tp_svc_dbus_properties_return_from_get (context, &value); | |
752 | g_value_unset (&value); | |
753 | } | |
754 | else | |
755 | { | |
756 | dbus_g_method_return_error (context, error); | |
757 | g_error_free (error); | |
758 | } | |
725 | 759 | } |
726 | 760 | |
727 | 761 | static void |
738 | 772 | (GDestroyNotify) tp_g_value_slice_free); |
739 | 773 | |
740 | 774 | iface_impl = _tp_dbus_properties_mixin_find_iface_impl (self, |
741 | interface_name, context); | |
775 | interface_name); | |
742 | 776 | |
743 | 777 | if (iface_impl == NULL) |
744 | 778 | goto out; /* no properties, but we need to return that */ |
782 | 816 | GError *error = NULL; |
783 | 817 | |
784 | 818 | iface_impl = _tp_dbus_properties_mixin_find_iface_impl (self, |
785 | interface_name, context); | |
819 | interface_name); | |
786 | 820 | |
787 | 821 | if (iface_impl == NULL) |
788 | 822 | { |
796 | 830 | iface_info = iface_impl->mixin_priv; |
797 | 831 | |
798 | 832 | prop_impl = _tp_dbus_properties_mixin_find_prop_impl (iface_impl, |
799 | property_name, context); | |
833 | property_name); | |
800 | 834 | |
801 | 835 | if (prop_impl == NULL) |
802 | 836 | { |
120 | 120 | void tp_dbus_properties_mixin_iface_init (gpointer g_iface, |
121 | 121 | gpointer iface_data); |
122 | 122 | |
123 | gboolean tp_dbus_properties_mixin_get (GObject *self, | |
124 | const gchar *interface_name, const gchar *property_name, | |
125 | GValue *value, GError **error); | |
126 | ||
123 | 127 | G_END_DECLS |
124 | 128 | |
125 | 129 | #endif /* #ifndef __TP_DBUS_PROPERTIES_MIXIN_H__ */ |
397 | 397 | */ |
398 | 398 | |
399 | 399 | /** |
400 | * SECTION:connection-simple-presence | |
401 | * @title: Connection SimplePresence interface | |
402 | * @short_description: client-side wrappers for the SimplePresence interface | |
403 | * @see_also: #TpConnection | |
404 | * | |
405 | * Most instant messaging protocols allow users to advertise their presence | |
406 | * status. In Telepathy, this is represented by the SimplePresence | |
407 | * interface, which lets applications advertise the presence status of the | |
408 | * local user, and query the presence status of their contacts. | |
409 | * | |
410 | * This section documents the auto-generated C wrappers for the | |
411 | * SimplePresence interface, used with #TpConnection objects. | |
412 | */ | |
413 | ||
414 | /** | |
400 | 415 | * SECTION:connection-presence |
401 | 416 | * @title: Connection Presence interface |
402 | 417 | * @short_description: client-side wrappers for the Presence interface |
0 | 0 | /* |
1 | 1 | * presence-mixin.c - Source for TpPresenceMixin |
2 | * Copyright (C) 2005-2007 Collabora Ltd. | |
2 | * Copyright (C) 2005-2008 Collabora Ltd. | |
3 | 3 | * Copyright (C) 2005-2007 Nokia Corporation |
4 | 4 | * |
5 | 5 | * This library is free software; you can redistribute it and/or |
47 | 47 | * TpPresenceMixin implements all of the D-Bus methods in the Presence |
48 | 48 | * interface. |
49 | 49 | * |
50 | * Since 0.7.13 you can also implement | |
51 | * #TpSvcConnectionInterfaceSimplePresence by using this mixin, in this case | |
52 | * you should pass tp_presence_mixin_iface_init as an argument to | |
53 | * G_IMPLEMENT_INTERFACE. Note that this can cause the status_available | |
54 | * callback to be called while disconnected. Also to fully implement this | |
55 | * interface some dbus properties need to be supported. To do that using this | |
56 | * mixin the instance needs to use the dbus properties mixin and call | |
57 | * tp_presence_mixin_simple_presence_init_dbus_properties in the class init | |
58 | * function | |
59 | * | |
60 | * | |
50 | 61 | * Since: 0.5.13 |
51 | 62 | */ |
52 | 63 | |
59 | 70 | #include <telepathy-glib/enums.h> |
60 | 71 | #include <telepathy-glib/errors.h> |
61 | 72 | #include <telepathy-glib/gtypes.h> |
73 | #include <telepathy-glib/interfaces.h> | |
62 | 74 | |
63 | 75 | #define DEBUG_FLAG TP_DEBUG_PRESENCE |
64 | 76 | |
70 | 82 | /* ... */ |
71 | 83 | }; |
72 | 84 | |
85 | static GHashTable *construct_simple_presence_hash ( | |
86 | const TpPresenceStatusSpec *supported_statuses, | |
87 | GHashTable *contact_statuses); | |
73 | 88 | |
74 | 89 | /** |
75 | 90 | * deep_copy_hashtable |
369 | 384 | presence_hash); |
370 | 385 | |
371 | 386 | g_hash_table_destroy (presence_hash); |
387 | ||
388 | if (g_type_interface_peek (G_OBJECT_GET_CLASS (obj), | |
389 | TP_TYPE_SVC_CONNECTION_INTERFACE_SIMPLE_PRESENCE) != NULL) | |
390 | { | |
391 | presence_hash = construct_simple_presence_hash (mixin_cls->statuses, | |
392 | contact_statuses); | |
393 | tp_svc_connection_interface_simple_presence_emit_presences_changed (obj, | |
394 | presence_hash); | |
395 | ||
396 | g_hash_table_destroy (presence_hash); | |
397 | } | |
372 | 398 | } |
373 | 399 | |
374 | 400 | |
764 | 790 | }; |
765 | 791 | |
766 | 792 | |
793 | static int | |
794 | check_for_status (GObject *object, const gchar *status, GError **error) | |
795 | { | |
796 | TpPresenceMixinClass *mixin_cls = | |
797 | TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (object)); | |
798 | int i; | |
799 | ||
800 | for (i = 0; mixin_cls->statuses[i].name != NULL; i++) | |
801 | { | |
802 | if (!tp_strdiff (mixin_cls->statuses[i].name, status)) | |
803 | break; | |
804 | } | |
805 | ||
806 | if (mixin_cls->statuses[i].name != NULL) | |
807 | { | |
808 | DEBUG ("Found status \"%s\", checking if it's available...", | |
809 | (const gchar *) status); | |
810 | ||
811 | if (mixin_cls->status_available | |
812 | && !mixin_cls->status_available (object, i)) | |
813 | { | |
814 | DEBUG ("requested status %s is not available", | |
815 | (const gchar *) status); | |
816 | g_set_error (error, TP_ERRORS, TP_ERROR_NOT_AVAILABLE, | |
817 | "requested status '%s' is not available on this connection", | |
818 | (const gchar *) status); | |
819 | return -1; | |
820 | } | |
821 | } | |
822 | else | |
823 | { | |
824 | DEBUG ("got unknown status identifier %s", status); | |
825 | g_set_error (error, TP_ERRORS, TP_ERROR_INVALID_ARGUMENT, | |
826 | "unknown status identifier: %s", status); | |
827 | return -1; | |
828 | } | |
829 | ||
830 | return i; | |
831 | } | |
832 | ||
767 | 833 | static void |
768 | 834 | set_status_foreach (gpointer key, gpointer value, gpointer user_data) |
769 | 835 | { |
772 | 838 | TpPresenceMixinClass *mixin_cls = |
773 | 839 | TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (data->obj)); |
774 | 840 | TpPresenceStatus status_to_set = { 0, }; |
775 | int i; | |
841 | int status; | |
842 | GHashTable *optional_arguments = NULL; | |
776 | 843 | |
777 | 844 | DEBUG ("called."); |
778 | 845 | |
781 | 848 | * tp_presence_mixin_set_status(). Therefore there are no problems with |
782 | 849 | * sharing the foreach data like this. |
783 | 850 | */ |
784 | ||
785 | for (i = 0; mixin_cls->statuses[i].name != NULL; i++) | |
786 | { | |
787 | if (!tp_strdiff (mixin_cls->statuses[i].name, (const gchar *) key)) | |
788 | break; | |
789 | } | |
790 | ||
791 | if (mixin_cls->statuses[i].name != NULL) | |
792 | { | |
793 | GHashTable *optional_arguments = NULL; | |
794 | ||
795 | DEBUG ("Found status \"%s\", checking if it's available...", | |
796 | (const gchar *) key); | |
797 | ||
798 | if (mixin_cls->status_available | |
799 | && !mixin_cls->status_available (data->obj, i)) | |
851 | status = check_for_status (data->obj, (const gchar *) key, data->error); | |
852 | ||
853 | if (status == -1) | |
854 | { | |
855 | data->retval = FALSE; | |
856 | return; | |
857 | } | |
858 | ||
859 | DEBUG ("The status is available."); | |
860 | ||
861 | if (value) | |
862 | { | |
863 | GHashTable *provided_arguments = (GHashTable *) value; | |
864 | int j; | |
865 | const TpPresenceStatusOptionalArgumentSpec *specs = | |
866 | mixin_cls->statuses[status].optional_arguments; | |
867 | ||
868 | for (j=0; specs != NULL && specs[j].name != NULL; j++) | |
800 | 869 | { |
801 | DEBUG ("requested status %s is not available", (const gchar *) key); | |
802 | g_set_error (data->error, TP_ERRORS, TP_ERROR_NOT_AVAILABLE, | |
803 | "requested status '%s' is not available on this connection", | |
804 | (const gchar *) key); | |
805 | data->retval = FALSE; | |
806 | return; | |
870 | GValue *provided_value = | |
871 | g_hash_table_lookup (provided_arguments, specs[j].name); | |
872 | GValue *new_value; | |
873 | ||
874 | if (!provided_value) | |
875 | continue; | |
876 | new_value = tp_g_value_slice_dup (provided_value); | |
877 | ||
878 | if (!optional_arguments) | |
879 | optional_arguments = | |
880 | g_hash_table_new_full (g_str_hash, g_str_equal, NULL, | |
881 | (GDestroyNotify) tp_g_value_slice_free); | |
882 | ||
883 | if (DEBUGGING) | |
884 | { | |
885 | gchar *value_contents = g_strdup_value_contents (new_value); | |
886 | DEBUG ("Got optional argument (\"%s\", %s)", specs[j].name, | |
887 | value_contents); | |
888 | g_free (value_contents); | |
889 | } | |
890 | ||
891 | g_hash_table_insert (optional_arguments, | |
892 | (gpointer) specs[j].name, new_value); | |
807 | 893 | } |
808 | ||
809 | DEBUG ("The status is available."); | |
810 | ||
811 | if (value) | |
812 | { | |
813 | GHashTable *provided_arguments = (GHashTable *) value; | |
814 | int j; | |
815 | const TpPresenceStatusOptionalArgumentSpec *specs = | |
816 | mixin_cls->statuses[i].optional_arguments; | |
817 | ||
818 | for (j=0; specs != NULL && specs[j].name != NULL; j++) | |
819 | { | |
820 | GValue *provided_value = | |
821 | g_hash_table_lookup (provided_arguments, specs[j].name); | |
822 | GValue *new_value; | |
823 | ||
824 | if (!provided_value) | |
825 | continue; | |
826 | new_value = tp_g_value_slice_dup (provided_value); | |
827 | ||
828 | if (!optional_arguments) | |
829 | optional_arguments = | |
830 | g_hash_table_new_full (g_str_hash, g_str_equal, NULL, | |
831 | (GDestroyNotify) tp_g_value_slice_free); | |
832 | ||
833 | if (DEBUGGING) | |
834 | { | |
835 | gchar *value_contents = g_strdup_value_contents (new_value); | |
836 | DEBUG ("Got optional argument (\"%s\", %s)", specs[j].name, | |
837 | value_contents); | |
838 | g_free (value_contents); | |
839 | } | |
840 | ||
841 | g_hash_table_insert (optional_arguments, | |
842 | (gpointer) specs[j].name, new_value); | |
843 | } | |
844 | } | |
845 | ||
846 | status_to_set.index = i; | |
847 | status_to_set.optional_arguments = optional_arguments; | |
848 | ||
849 | DEBUG ("About to try setting status \"%s\"", mixin_cls->statuses[i].name); | |
850 | ||
851 | if (!mixin_cls->set_own_status (data->obj, &status_to_set, data->error)) | |
852 | { | |
853 | DEBUG ("failed to set status"); | |
854 | data->retval = FALSE; | |
855 | } | |
856 | ||
857 | if (optional_arguments) | |
858 | g_hash_table_destroy (optional_arguments); | |
859 | } | |
860 | else | |
861 | { | |
862 | DEBUG ("got unknown status identifier %s", (const gchar *) key); | |
863 | g_set_error (data->error, TP_ERRORS, TP_ERROR_INVALID_ARGUMENT, | |
864 | "unknown status identifier: %s", (const gchar *) key); | |
894 | } | |
895 | ||
896 | status_to_set.index = status; | |
897 | status_to_set.optional_arguments = optional_arguments; | |
898 | ||
899 | DEBUG ("About to try setting status \"%s\"", | |
900 | mixin_cls->statuses[status].name); | |
901 | ||
902 | if (!mixin_cls->set_own_status (data->obj, &status_to_set, data->error)) | |
903 | { | |
904 | DEBUG ("failed to set status"); | |
865 | 905 | data->retval = FALSE; |
866 | 906 | } |
907 | ||
908 | if (optional_arguments) | |
909 | g_hash_table_destroy (optional_arguments); | |
867 | 910 | } |
868 | 911 | |
869 | 912 | |
943 | 986 | IMPLEMENT(set_status); |
944 | 987 | #undef IMPLEMENT |
945 | 988 | } |
989 | ||
990 | enum { | |
991 | MIXIN_DP_SIMPLE_STATUSES, | |
992 | NUM_MIXIN_SIMPLE_DBUS_PROPERTIES | |
993 | }; | |
994 | ||
995 | static TpDBusPropertiesMixinPropImpl known_simple_presence_props[] = { | |
996 | { "Statuses", NULL, NULL }, | |
997 | { NULL } | |
998 | }; | |
999 | ||
1000 | static void | |
1001 | tp_presence_mixin_get_simple_presence_dbus_property (GObject *object, | |
1002 | GQuark interface, | |
1003 | GQuark name, | |
1004 | GValue *value, | |
1005 | gpointer unused | |
1006 | G_GNUC_UNUSED) | |
1007 | { | |
1008 | static GQuark q[NUM_MIXIN_SIMPLE_DBUS_PROPERTIES] = { 0, }; | |
1009 | ||
1010 | DEBUG ("called."); | |
1011 | ||
1012 | if (G_UNLIKELY (q[0] == 0)) | |
1013 | { | |
1014 | q[MIXIN_DP_SIMPLE_STATUSES] = g_quark_from_static_string ("Statuses"); | |
1015 | } | |
1016 | ||
1017 | g_return_if_fail (object != NULL); | |
1018 | ||
1019 | if (name == q[MIXIN_DP_SIMPLE_STATUSES]) | |
1020 | { | |
1021 | TpPresenceMixinClass *mixin_cls = | |
1022 | TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (object)); | |
1023 | GHashTable *ret; | |
1024 | GValueArray *status; | |
1025 | int i; | |
1026 | ||
1027 | g_return_if_fail (G_VALUE_HOLDS_BOXED (value)); | |
1028 | ||
1029 | ret = g_hash_table_new_full (g_str_hash, g_str_equal, | |
1030 | NULL, (GDestroyNotify) g_value_array_free); | |
1031 | ||
1032 | for (i=0; mixin_cls->statuses[i].name != NULL; i++) | |
1033 | { | |
1034 | const TpPresenceStatusOptionalArgumentSpec *specs; | |
1035 | int j; | |
1036 | gboolean message = FALSE; | |
1037 | ||
1038 | if (mixin_cls->status_available | |
1039 | && !mixin_cls->status_available(object, i)) | |
1040 | continue; | |
1041 | ||
1042 | specs = mixin_cls->statuses[i].optional_arguments; | |
1043 | ||
1044 | for (j = 0; specs != NULL && specs[j].name != NULL; j++) | |
1045 | { | |
1046 | if (!tp_strdiff (specs[j].name, "message")) | |
1047 | { | |
1048 | message = TRUE; | |
1049 | break; | |
1050 | } | |
1051 | } | |
1052 | ||
1053 | status = g_value_array_new (3); | |
1054 | ||
1055 | g_value_array_append (status, NULL); | |
1056 | g_value_init (g_value_array_get_nth (status, 0), G_TYPE_UINT); | |
1057 | g_value_set_uint (g_value_array_get_nth (status, 0), | |
1058 | mixin_cls->statuses[i].presence_type); | |
1059 | ||
1060 | g_value_array_append (status, NULL); | |
1061 | g_value_init (g_value_array_get_nth (status, 1), G_TYPE_BOOLEAN); | |
1062 | g_value_set_boolean (g_value_array_get_nth (status, 1), | |
1063 | mixin_cls->statuses[i].self); | |
1064 | ||
1065 | g_value_array_append (status, NULL); | |
1066 | g_value_init (g_value_array_get_nth (status, 2), G_TYPE_BOOLEAN); | |
1067 | g_value_set_boolean (g_value_array_get_nth (status, 2), message); | |
1068 | ||
1069 | g_hash_table_insert (ret, (gchar*) mixin_cls->statuses[i].name, | |
1070 | status); | |
1071 | } | |
1072 | g_value_take_boxed (value, ret); | |
1073 | } | |
1074 | else | |
1075 | { | |
1076 | g_return_if_reached (); | |
1077 | } | |
1078 | ||
1079 | } | |
1080 | ||
1081 | /** | |
1082 | * tp_presence_mixin_simple_presence_init_dbus_properties: | |
1083 | * @cls: The class of an object with this mixin | |
1084 | * | |
1085 | * Set up #TpDBusPropertiesMixinClass to use this mixin's implementation of | |
1086 | * the SimplePresence interface's properties. | |
1087 | * | |
1088 | * This uses tp_presence_mixin_get_simple_dbus_property() as the property | |
1089 | * getter and sets up a list of the supported properties for it. | |
1090 | * | |
1091 | * Since: 0.7.13 | |
1092 | */ | |
1093 | void | |
1094 | tp_presence_mixin_simple_presence_init_dbus_properties (GObjectClass *cls) | |
1095 | { | |
1096 | ||
1097 | tp_dbus_properties_mixin_implement_interface (cls, | |
1098 | TP_IFACE_QUARK_CONNECTION_INTERFACE_SIMPLE_PRESENCE, | |
1099 | tp_presence_mixin_get_simple_presence_dbus_property, | |
1100 | NULL, known_simple_presence_props); | |
1101 | } | |
1102 | ||
1103 | /** | |
1104 | * tp_presence_mixin_simple_presence_set_presence | |
1105 | * | |
1106 | * Implements D-Bus method SetPresence | |
1107 | * on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence | |
1108 | * | |
1109 | * @context: The D-Bus invocation context to use to return values | |
1110 | * or throw an error. | |
1111 | */ | |
1112 | static void | |
1113 | tp_presence_mixin_simple_presence_set_presence ( | |
1114 | TpSvcConnectionInterfaceSimplePresence *iface, | |
1115 | const gchar *status, | |
1116 | const gchar *message, | |
1117 | DBusGMethodInvocation *context) | |
1118 | { | |
1119 | GObject *obj = (GObject *) iface; | |
1120 | TpPresenceMixinClass *mixin_cls = | |
1121 | TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (obj)); | |
1122 | TpPresenceStatus status_to_set = { 0, }; | |
1123 | int s; | |
1124 | GError *error = NULL; | |
1125 | GHashTable *optional_arguments = NULL; | |
1126 | GValue vmessage = { 0, }; | |
1127 | ||
1128 | DEBUG ("called."); | |
1129 | ||
1130 | s = check_for_status (obj, status, &error); | |
1131 | if (s == -1) | |
1132 | goto out; | |
1133 | ||
1134 | status_to_set.index = s; | |
1135 | ||
1136 | if (*message != '\0') | |
1137 | { | |
1138 | g_value_init (&vmessage, G_TYPE_STRING); | |
1139 | g_value_set_string (&vmessage, message); | |
1140 | ||
1141 | optional_arguments = g_hash_table_new (g_str_hash, g_str_equal); | |
1142 | ||
1143 | g_hash_table_insert (optional_arguments, "message", &vmessage); | |
1144 | ||
1145 | status_to_set.optional_arguments = optional_arguments; | |
1146 | } | |
1147 | ||
1148 | mixin_cls->set_own_status (obj, &status_to_set, &error); | |
1149 | ||
1150 | out: | |
1151 | if (error == NULL) | |
1152 | { | |
1153 | tp_svc_connection_interface_simple_presence_return_from_set_presence ( | |
1154 | context); | |
1155 | } | |
1156 | else | |
1157 | { | |
1158 | dbus_g_method_return_error (context, error); | |
1159 | g_error_free (error); | |
1160 | } | |
1161 | ||
1162 | if (optional_arguments != NULL) | |
1163 | g_hash_table_destroy (optional_arguments); | |
1164 | } | |
1165 | ||
1166 | static void | |
1167 | construct_simple_presence_hash_foreach (gpointer key, | |
1168 | gpointer value, | |
1169 | gpointer user_data) | |
1170 | { | |
1171 | TpHandle handle = GPOINTER_TO_UINT (key); | |
1172 | TpPresenceStatus *status = (TpPresenceStatus *) value; | |
1173 | struct _i_absolutely_love_g_hash_table_foreach *data = | |
1174 | (struct _i_absolutely_love_g_hash_table_foreach *) user_data; | |
1175 | GValueArray *presence; | |
1176 | const gchar *status_name; | |
1177 | TpConnectionPresenceType status_type; | |
1178 | const gchar *message = NULL; | |
1179 | ||
1180 | status_name = data->supported_statuses[status->index].name; | |
1181 | status_type = data->supported_statuses[status->index].presence_type; | |
1182 | ||
1183 | if (status->optional_arguments != NULL) | |
1184 | { | |
1185 | GValue *val; | |
1186 | val = g_hash_table_lookup (status->optional_arguments, "message"); | |
1187 | if (val != NULL) | |
1188 | message = g_value_get_string (val); | |
1189 | } | |
1190 | ||
1191 | if (message == NULL) | |
1192 | message = ""; | |
1193 | ||
1194 | presence = g_value_array_new (3); | |
1195 | ||
1196 | g_value_array_append (presence, NULL); | |
1197 | g_value_init (g_value_array_get_nth (presence, 0), G_TYPE_UINT); | |
1198 | g_value_set_uint (g_value_array_get_nth (presence, 0), status_type); | |
1199 | ||
1200 | g_value_array_append (presence, NULL); | |
1201 | g_value_init (g_value_array_get_nth (presence, 1), G_TYPE_STRING); | |
1202 | g_value_set_string (g_value_array_get_nth (presence, 1), status_name); | |
1203 | ||
1204 | g_value_array_append (presence, NULL); | |
1205 | g_value_init (g_value_array_get_nth (presence, 2), G_TYPE_STRING); | |
1206 | g_value_set_string (g_value_array_get_nth (presence, 2), message); | |
1207 | ||
1208 | g_hash_table_insert (data->presence_hash, GUINT_TO_POINTER (handle), | |
1209 | presence); | |
1210 | } | |
1211 | ||
1212 | static GHashTable * | |
1213 | construct_simple_presence_hash (const TpPresenceStatusSpec *supported_statuses, | |
1214 | GHashTable *contact_statuses) | |
1215 | { | |
1216 | struct _i_absolutely_love_g_hash_table_foreach data = { supported_statuses, | |
1217 | contact_statuses, NULL }; | |
1218 | ||
1219 | DEBUG ("called."); | |
1220 | ||
1221 | data.presence_hash = g_hash_table_new_full (NULL, NULL, NULL, | |
1222 | (GDestroyNotify) (GDestroyNotify) g_value_array_free); | |
1223 | ||
1224 | g_hash_table_foreach (contact_statuses, | |
1225 | construct_simple_presence_hash_foreach, &data); | |
1226 | ||
1227 | return data.presence_hash; | |
1228 | } | |
1229 | ||
1230 | /** | |
1231 | * tp_presence_mixin_get_simple_presence: | |
1232 | * | |
1233 | * Implements D-Bus method GetPresence | |
1234 | * on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence | |
1235 | * | |
1236 | * @context: The D-Bus invocation context to use to return values | |
1237 | * or throw an error. | |
1238 | */ | |
1239 | static void | |
1240 | tp_presence_mixin_simple_presence_get_presences ( | |
1241 | TpSvcConnectionInterfaceSimplePresence *iface, | |
1242 | const GArray *contacts, | |
1243 | DBusGMethodInvocation *context) | |
1244 | { | |
1245 | GObject *obj = (GObject *) iface; | |
1246 | TpBaseConnection *conn = TP_BASE_CONNECTION (obj); | |
1247 | TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (conn, | |
1248 | TP_HANDLE_TYPE_CONTACT); | |
1249 | TpPresenceMixinClass *mixin_cls = | |
1250 | TP_PRESENCE_MIXIN_CLASS (G_OBJECT_GET_CLASS (obj)); | |
1251 | GHashTable *contact_statuses; | |
1252 | GHashTable *presence_hash; | |
1253 | GError *error = NULL; | |
1254 | ||
1255 | DEBUG ("called."); | |
1256 | ||
1257 | TP_BASE_CONNECTION_ERROR_IF_NOT_CONNECTED (conn, context); | |
1258 | ||
1259 | if (contacts->len == 0) | |
1260 | { | |
1261 | presence_hash = g_hash_table_new (g_direct_hash, g_direct_equal); | |
1262 | tp_svc_connection_interface_simple_presence_return_from_get_presences ( | |
1263 | context, presence_hash); | |
1264 | g_hash_table_destroy (presence_hash); | |
1265 | return; | |
1266 | } | |
1267 | ||
1268 | if (!tp_handles_are_valid (contact_repo, contacts, FALSE, &error)) | |
1269 | { | |
1270 | dbus_g_method_return_error (context, error); | |
1271 | g_error_free (error); | |
1272 | return; | |
1273 | } | |
1274 | ||
1275 | contact_statuses = mixin_cls->get_contact_statuses (obj, contacts, &error); | |
1276 | ||
1277 | if (!contact_statuses) | |
1278 | { | |
1279 | dbus_g_method_return_error (context, error); | |
1280 | g_error_free(error); | |
1281 | return; | |
1282 | } | |
1283 | ||
1284 | presence_hash = construct_simple_presence_hash (mixin_cls->statuses, | |
1285 | contact_statuses); | |
1286 | tp_svc_connection_interface_simple_presence_return_from_get_presences ( | |
1287 | context, presence_hash); | |
1288 | g_hash_table_destroy (presence_hash); | |
1289 | g_hash_table_destroy (contact_statuses); | |
1290 | } | |
1291 | ||
1292 | /** | |
1293 | * tp_presence_mixin_simple_presence_iface_init: | |
1294 | * @g_iface: A pointer to the #TpSvcConnectionInterfaceSimplePresenceClass in | |
1295 | * an object class | |
1296 | * @iface_data: Ignored | |
1297 | * | |
1298 | * Fill in the vtable entries needed to implement the simple presence interface | |
1299 | * using this mixin. This function should usually be called via | |
1300 | * G_IMPLEMENT_INTERFACE. | |
1301 | * | |
1302 | * Since: 0.7.13 | |
1303 | */ | |
1304 | void | |
1305 | tp_presence_mixin_simple_presence_iface_init (gpointer g_iface, | |
1306 | gpointer iface_data) | |
1307 | { | |
1308 | TpSvcConnectionInterfaceSimplePresenceClass *klass = | |
1309 | (TpSvcConnectionInterfaceSimplePresenceClass *)g_iface; | |
1310 | ||
1311 | #define IMPLEMENT(x) tp_svc_connection_interface_simple_presence_implement_##x\ | |
1312 | (klass, tp_presence_mixin_simple_presence_##x) | |
1313 | IMPLEMENT(set_presence); | |
1314 | IMPLEMENT(get_presences); | |
1315 | #undef IMPLEMENT | |
1316 | } |
115 | 115 | * |
116 | 116 | * Signature of the callback used to determine if a given status is currently |
117 | 117 | * available to be set on the connection. |
118 | * | |
119 | * When implementing the | |
120 | * org.freedesktop.Telepathy.Connection.Interface.SimplePresence interface | |
121 | * this can be called while DISCONNECTED to determine which statuses can be set | |
122 | * in that state. | |
118 | 123 | * |
119 | 124 | * Returns: %TRUE if the status is available, %FALSE if not. |
120 | 125 | */ |
250 | 255 | TpHandle handle, const TpPresenceStatus *status); |
251 | 256 | |
252 | 257 | void tp_presence_mixin_iface_init (gpointer g_iface, gpointer iface_data); |
258 | void tp_presence_mixin_simple_presence_iface_init (gpointer g_iface, gpointer iface_data); | |
259 | void tp_presence_mixin_simple_presence_init_dbus_properties (GObjectClass *cls); | |
253 | 260 | |
254 | 261 | G_END_DECLS |
255 | 262 |
576 | 576 | } |
577 | 577 | |
578 | 578 | /** |
579 | * tp_text_mixin_has_pending_messages: | |
580 | * @obj: An object with this mixin | |
581 | * @first_sender: If not %NULL, used to store the sender of the oldest pending | |
582 | * message | |
583 | * | |
584 | * Return whether the channel @obj has unacknowledged messages. If so, and | |
585 | * @first_sender is not %NULL, the handle of the sender of the first message | |
586 | * is placed in it, without incrementing the handle's reference count. | |
587 | * | |
588 | * Returns: %TRUE if there are pending messages | |
589 | */ | |
590 | gboolean | |
591 | tp_text_mixin_has_pending_messages (GObject *obj, | |
592 | TpHandle *first_sender) | |
593 | { | |
594 | TpTextMixin *mixin = TP_TEXT_MIXIN (obj); | |
595 | _PendingMessage *msg = g_queue_peek_head (mixin->priv->pending); | |
596 | ||
597 | if (msg != NULL && first_sender != NULL) | |
598 | { | |
599 | *first_sender = msg->sender; | |
600 | } | |
601 | ||
602 | return (msg != NULL); | |
603 | } | |
604 | ||
605 | /** | |
579 | 606 | * tp_text_mixin_iface_init: |
580 | 607 | * @g_iface: A pointer to the #TpSvcChannelTypeTextClass in an object class |
581 | 608 | * @iface_data: Ignored |
96 | 96 | GError **error); |
97 | 97 | void tp_text_mixin_clear (GObject *obj); |
98 | 98 | |
99 | gboolean tp_text_mixin_has_pending_messages (GObject *obj, | |
100 | TpHandle *first_sender); | |
101 | ||
99 | 102 | void tp_text_mixin_iface_init (gpointer g_iface, gpointer iface_data); |
100 | 103 | |
101 | 104 | G_END_DECLS |
0 | Version: TELEPATHY_GLIB_0.7.13 | |
1 | Extends: TELEPATHY_GLIB_0.7.12 | |
2 | Release: 0.7.13 | |
3 | ||
4 | tp_cli_connection_interface_simple_presence_call_get_presences | |
5 | tp_cli_connection_interface_simple_presence_call_set_presence | |
6 | tp_cli_connection_interface_simple_presence_connect_to_presences_changed | |
7 | tp_cli_connection_interface_simple_presence_run_get_presences | |
8 | tp_cli_connection_interface_simple_presence_run_set_presence | |
9 | tp_dbus_properties_mixin_get | |
10 | tp_iface_quark_connection_interface_simple_presence | |
11 | tp_presence_mixin_simple_presence_iface_init | |
12 | tp_presence_mixin_simple_presence_init_dbus_properties | |
13 | tp_svc_connection_interface_simple_presence_emit_presences_changed | |
14 | tp_svc_connection_interface_simple_presence_get_type | |
15 | tp_svc_connection_interface_simple_presence_implement_get_presences | |
16 | tp_svc_connection_interface_simple_presence_implement_set_presence | |
17 | tp_text_mixin_has_pending_messages | |
18 | tp_type_dbus_hash_s_28ubb_29 | |
19 | tp_type_dbus_hash_u_28uss_29 | |
20 | tp_type_dbus_struct_ubb | |
21 | tp_type_dbus_struct_uss |
196 | 196 | static void |
197 | 197 | service_iface_init (gpointer g_iface, gpointer iface_data) |
198 | 198 | { |
199 | TpSvcConnectionClass *klass = (TpSvcConnectionClass *)g_iface; | |
199 | TpSvcConnectionClass *klass = g_iface; | |
200 | 200 | |
201 | 201 | #define IMPLEMENT(prefix,x) tp_svc_connection_implement_##x (klass, \ |
202 | 202 | bug16307_connection_##prefix##x) |
23 | 23 | fail=1 |
24 | 24 | fi |
25 | 25 | |
26 | if grep -En '[(][[:alnum:]_]+ ?\*[)][(]?[[:alpha:]_]' "$@"; then | |
27 | echo "^^^ Our coding style is to have a space between a cast and the " | |
28 | echo " thing being cast" | |
29 | fail=1 | |
30 | fi | |
31 | ||
32 | # this only spots casts | |
33 | if grep -En '[(][[:alnum:]_]+\*+[)]' "$@"; then | |
34 | echo "^^^ Our coding style is to have a space before the * of pointer types" | |
35 | echo " (regex 1)" | |
36 | fail=1 | |
37 | fi | |
38 | # ... and this only spots variable declarations and function return types | |
39 | if grep -En '^ *(static |const |)* *[[:alnum:]_]+\*+([[:alnum:]_]|;|$)' \ | |
40 | "$@"; then | |
41 | echo "^^^ Our coding style is to have a space before the * of pointer types" | |
42 | echo " (regex 2)" | |
43 | fail=1 | |
44 | fi | |
45 | ||
26 | 46 | if test -n "$CHECK_FOR_LONG_LINES" |
27 | 47 | then |
28 | 48 | if egrep -n '.{80,}' "$@" |
22 | 22 | xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" |
23 | 23 | xmlns:html="http://www.w3.org/1999/xhtml" |
24 | 24 | exclude-result-prefixes="tp html"> |
25 | <!--Don't move the declaration of the HTML namespace up here - XMLNSs | |
25 | <!--Don't move the declaration of the HTML namespace up here — XMLNSs | |
26 | 26 | don't work ideally in the presence of two things that want to use the |
27 | 27 | absence of a prefix, sadly. --> |
28 | ||
29 | <xsl:param name="allow-undefined-interfaces" select="false()"/> | |
28 | 30 | |
29 | 31 | <xsl:template match="html:* | @*" mode="html"> |
30 | 32 | <xsl:copy> |
38 | 40 | </xsl:call-template> |
39 | 41 | </xsl:template> |
40 | 42 | |
43 | <!-- tp:dbus-ref: reference a D-Bus interface, signal, method or property --> | |
44 | <xsl:template match="tp:dbus-ref" mode="html"> | |
45 | <xsl:variable name="name"> | |
46 | <xsl:choose> | |
47 | <xsl:when test="@namespace"> | |
48 | <xsl:value-of select="@namespace"/> | |
49 | <xsl:text>.</xsl:text> | |
50 | </xsl:when> | |
51 | </xsl:choose> | |
52 | <xsl:value-of select="string(.)"/> | |
53 | </xsl:variable> | |
54 | ||
55 | <xsl:choose> | |
56 | <xsl:when test="//interface[@name=$name] | |
57 | or //interface/method[concat(../@name, '.', @name)=$name] | |
58 | or //interface/signal[concat(../@name, '.', @name)=$name] | |
59 | or //interface/property[concat(../@name, '.', @name)=$name] | |
60 | or //interface[@name=concat($name, '.DRAFT')] | |
61 | or //interface/method[ | |
62 | concat(../@name, '.', @name)=concat($name, '.DRAFT')] | |
63 | or //interface/signal[ | |
64 | concat(../@name, '.', @name)=concat($name, '.DRAFT')] | |
65 | or //interface/property[ | |
66 | concat(../@name, '.', @name)=concat($name, '.DRAFT')] | |
67 | "> | |
68 | <a xmlns="http://www.w3.org/1999/xhtml" href="#{$name}"> | |
69 | <xsl:value-of select="string(.)"/> | |
70 | </a> | |
71 | </xsl:when> | |
72 | ||
73 | <xsl:when test="$allow-undefined-interfaces"> | |
74 | <span xmlns="http://www.w3.org/1999/xhtml" title="defined elsewhere"> | |
75 | <xsl:value-of select="string(.)"/> | |
76 | </span> | |
77 | </xsl:when> | |
78 | ||
79 | <xsl:otherwise> | |
80 | <xsl:message terminate="yes"> | |
81 | <xsl:text>ERR: cannot find D-Bus interface, method, </xsl:text> | |
82 | <xsl:text>signal or property called '</xsl:text> | |
83 | <xsl:value-of select="$name"/> | |
84 | <xsl:text>' </xsl:text> | |
85 | </xsl:message> | |
86 | </xsl:otherwise> | |
87 | </xsl:choose> | |
88 | </xsl:template> | |
89 | ||
90 | <!-- tp:member-ref: reference a property of the current interface --> | |
91 | <xsl:template match="tp:member-ref" mode="html"> | |
92 | <xsl:variable name="prefix" select="concat(ancestor::interface/@name, | |
93 | '.')"/> | |
94 | <xsl:variable name="name" select="string(.)"/> | |
95 | ||
96 | <xsl:if test="not(ancestor::interface)"> | |
97 | <xsl:message terminate="yes"> | |
98 | <xsl:text>ERR: Cannot use tp:member-ref when not in an</xsl:text> | |
99 | <xsl:text> <interface> </xsl:text> | |
100 | </xsl:message> | |
101 | </xsl:if> | |
102 | ||
103 | <xsl:choose> | |
104 | <xsl:when test="ancestor::interface/signal[@name=$name]"/> | |
105 | <xsl:when test="ancestor::interface/method[@name=$name]"/> | |
106 | <xsl:when test="ancestor::interface/property[@name=$name]"/> | |
107 | <xsl:otherwise> | |
108 | <xsl:message terminate="yes"> | |
109 | <xsl:text>ERR: interface </xsl:text> | |
110 | <xsl:value-of select="ancestor::interface/@name"/> | |
111 | <xsl:text> has no signal/method/property called </xsl:text> | |
112 | <xsl:value-of select="$name"/> | |
113 | <xsl:text> </xsl:text> | |
114 | </xsl:message> | |
115 | </xsl:otherwise> | |
116 | </xsl:choose> | |
117 | ||
118 | <a xmlns="http://www.w3.org/1999/xhtml" href="#{$prefix}{$name}"> | |
119 | <xsl:value-of select="$name"/> | |
120 | </a> | |
121 | </xsl:template> | |
122 | ||
41 | 123 | <xsl:template match="*" mode="identity"> |
42 | 124 | <xsl:copy> |
43 | 125 | <xsl:apply-templates mode="identity"/> |
45 | 127 | </xsl:template> |
46 | 128 | |
47 | 129 | <xsl:template match="tp:docstring"> |
48 | <xsl:apply-templates select="text() | html:* | tp:rationale" mode="html"/> | |
130 | <xsl:apply-templates mode="html"/> | |
49 | 131 | </xsl:template> |
50 | 132 | |
51 | 133 | <xsl:template match="tp:added"> |
52 | <p class="added">Added in version <xsl:value-of select="@version"/>. | |
134 | <p class="added" xmlns="http://www.w3.org/1999/xhtml">Added in | |
135 | version <xsl:value-of select="@version"/>. | |
53 | 136 | <xsl:apply-templates select="node()" mode="html"/></p> |
54 | 137 | </xsl:template> |
55 | 138 | |
56 | 139 | <xsl:template match="tp:changed"> |
57 | 140 | <xsl:choose> |
58 | 141 | <xsl:when test="node()"> |
59 | <p class="changed">Changed in version <xsl:value-of select="@version"/>: | |
142 | <p class="changed" xmlns="http://www.w3.org/1999/xhtml">Changed in | |
143 | version <xsl:value-of select="@version"/>: | |
60 | 144 | <xsl:apply-templates select="node()" mode="html"/></p> |
61 | 145 | </xsl:when> |
62 | 146 | <xsl:otherwise> |
67 | 151 | </xsl:template> |
68 | 152 | |
69 | 153 | <xsl:template match="tp:deprecated"> |
70 | <p class="deprecated">Deprecated since version | |
71 | <xsl:value-of select="@version"/>. | |
154 | <p class="deprecated" xmlns="http://www.w3.org/1999/xhtml">Deprecated | |
155 | since version <xsl:value-of select="@version"/>. | |
72 | 156 | <xsl:apply-templates select="node()" mode="html"/></p> |
73 | 157 | </xsl:template> |
74 | 158 | |
130 | 214 | |
131 | 215 | <xsl:template match="/tp:spec/tp:copyright"> |
132 | 216 | <div xmlns="http://www.w3.org/1999/xhtml"> |
133 | <xsl:apply-templates/> | |
217 | <xsl:apply-templates mode="text"/> | |
134 | 218 | </div> |
135 | 219 | </xsl:template> |
136 | 220 | <xsl:template match="/tp:spec/tp:license"> |
223 | 307 | </xsl:template> |
224 | 308 | |
225 | 309 | <xsl:template match="tp:flags"> |
310 | ||
311 | <xsl:if test="not(@name) or @name = ''"> | |
312 | <xsl:message terminate="yes"> | |
313 | <xsl:text>ERR: missing @name on a tp:flags type </xsl:text> | |
314 | </xsl:message> | |
315 | </xsl:if> | |
316 | ||
317 | <xsl:if test="not(@type) or @type = ''"> | |
318 | <xsl:message terminate="yes"> | |
319 | <xsl:text>ERR: missing @type on tp:flags type</xsl:text> | |
320 | <xsl:value-of select="@name"/> | |
321 | <xsl:text> </xsl:text> | |
322 | </xsl:message> | |
323 | </xsl:if> | |
324 | ||
226 | 325 | <h3> |
227 | 326 | <a name="type-{@name}"> |
228 | 327 | <xsl:value-of select="@name"/> |
263 | 362 | </xsl:template> |
264 | 363 | |
265 | 364 | <xsl:template match="tp:enum"> |
365 | ||
366 | <xsl:if test="not(@name) or @name = ''"> | |
367 | <xsl:message terminate="yes"> | |
368 | <xsl:text>ERR: missing @name on a tp:enum type </xsl:text> | |
369 | </xsl:message> | |
370 | </xsl:if> | |
371 | ||
372 | <xsl:if test="not(@type) or @type = ''"> | |
373 | <xsl:message terminate="yes"> | |
374 | <xsl:text>ERR: missing @type on tp:enum type</xsl:text> | |
375 | <xsl:value-of select="@name"/> | |
376 | <xsl:text> </xsl:text> | |
377 | </xsl:message> | |
378 | </xsl:if> | |
379 | ||
266 | 380 | <h3 xmlns="http://www.w3.org/1999/xhtml"> |
267 | 381 | <a name="type-{@name}"> |
268 | 382 | <xsl:value-of select="@name"/> |
303 | 417 | </xsl:template> |
304 | 418 | |
305 | 419 | <xsl:template match="property"> |
420 | ||
421 | <xsl:if test="not(parent::interface)"> | |
422 | <xsl:message terminate="yes"> | |
423 | <xsl:text>ERR: property </xsl:text> | |
424 | <xsl:value-of select="@name"/> | |
425 | <xsl:text> does not have an interface as parent </xsl:text> | |
426 | </xsl:message> | |
427 | </xsl:if> | |
428 | ||
429 | <xsl:if test="not(@name) or @name = ''"> | |
430 | <xsl:message terminate="yes"> | |
431 | <xsl:text>ERR: missing @name on a property of </xsl:text> | |
432 | <xsl:value-of select="../@name"/> | |
433 | <xsl:text> </xsl:text> | |
434 | </xsl:message> | |
435 | </xsl:if> | |
436 | ||
437 | <xsl:if test="not(@type) or @type = ''"> | |
438 | <xsl:message terminate="yes"> | |
439 | <xsl:text>ERR: missing @type on property </xsl:text> | |
440 | <xsl:value-of select="concat(../@name, '.', @name)"/> | |
441 | <xsl:text>: '</xsl:text> | |
442 | <xsl:value-of select="@access"/> | |
443 | <xsl:text>' </xsl:text> | |
444 | </xsl:message> | |
445 | </xsl:if> | |
446 | ||
306 | 447 | <dt xmlns="http://www.w3.org/1999/xhtml"> |
307 | 448 | <a name="{concat(../@name, '.', @name)}"> |
308 | 449 | <code><xsl:value-of select="@name"/></code> |
309 | 450 | </a> |
310 | <xsl:text> - </xsl:text> | |
451 | <xsl:text> − </xsl:text> | |
311 | 452 | <code><xsl:value-of select="@type"/></code> |
312 | 453 | <xsl:call-template name="parenthesized-tp-type"/> |
313 | 454 | <xsl:text>, </xsl:text> |
322 | 463 | <xsl:text>read/write</xsl:text> |
323 | 464 | </xsl:when> |
324 | 465 | <xsl:otherwise> |
325 | <xsl:text>access: </xsl:text> | |
326 | <code><xsl:value-of select="@access"/></code> | |
466 | <xsl:message terminate="yes"> | |
467 | <xsl:text>ERR: unknown or missing value for </xsl:text> | |
468 | <xsl:text>@access on property </xsl:text> | |
469 | <xsl:value-of select="concat(../@name, '.', @name)"/> | |
470 | <xsl:text>: '</xsl:text> | |
471 | <xsl:value-of select="@access"/> | |
472 | <xsl:text>' </xsl:text> | |
473 | </xsl:message> | |
327 | 474 | </xsl:otherwise> |
328 | 475 | </xsl:choose> |
329 | 476 | </dt> |
338 | 485 | <xsl:template match="tp:property"> |
339 | 486 | <dt xmlns="http://www.w3.org/1999/xhtml"> |
340 | 487 | <xsl:if test="@name"> |
341 | <code><xsl:value-of select="@name"/></code> - | |
488 | <code><xsl:value-of select="@name"/></code> − | |
342 | 489 | </xsl:if> |
343 | 490 | <code><xsl:value-of select="@type"/></code> |
344 | 491 | </dt> |
355 | 502 | <h3> |
356 | 503 | <a name="type-{@name}"> |
357 | 504 | <xsl:value-of select="@name"/> |
358 | </a> - a{ | |
505 | </a> − a{ | |
359 | 506 | <xsl:for-each select="tp:member"> |
360 | 507 | <xsl:value-of select="@type"/> |
361 | 508 | <xsl:text>: </xsl:text> |
385 | 532 | |
386 | 533 | <xsl:template match="tp:simple-type | tp:enum | tp:flags | tp:external-type" |
387 | 534 | mode="in-index"> |
388 | - <xsl:value-of select="@type"/> | |
535 | − <xsl:value-of select="@type"/> | |
389 | 536 | </xsl:template> |
390 | 537 | |
391 | 538 | <xsl:template match="tp:simple-type"> |
539 | ||
540 | <xsl:if test="not(@name) or @name = ''"> | |
541 | <xsl:message terminate="yes"> | |
542 | <xsl:text>ERR: missing @name on a tp:simple-type </xsl:text> | |
543 | </xsl:message> | |
544 | </xsl:if> | |
545 | ||
546 | <xsl:if test="not(@type) or @type = ''"> | |
547 | <xsl:message terminate="yes"> | |
548 | <xsl:text>ERR: missing @type on tp:simple-type</xsl:text> | |
549 | <xsl:value-of select="@name"/> | |
550 | <xsl:text> </xsl:text> | |
551 | </xsl:message> | |
552 | </xsl:if> | |
553 | ||
392 | 554 | <div xmlns="http://www.w3.org/1999/xhtml" class="simple-type"> |
393 | 555 | <h3> |
394 | 556 | <a name="type-{@name}"> |
395 | 557 | <xsl:value-of select="@name"/> |
396 | </a> - <xsl:value-of select="@type"/> | |
558 | </a> − <xsl:value-of select="@type"/> | |
397 | 559 | </h3> |
398 | 560 | <div class="docstring"> |
399 | 561 | <xsl:apply-templates select="tp:docstring"/> |
405 | 567 | </xsl:template> |
406 | 568 | |
407 | 569 | <xsl:template match="tp:external-type"> |
570 | ||
571 | <xsl:if test="not(@name) or @name = ''"> | |
572 | <xsl:message terminate="yes"> | |
573 | <xsl:text>ERR: missing @name on a tp:external-type </xsl:text> | |
574 | </xsl:message> | |
575 | </xsl:if> | |
576 | ||
577 | <xsl:if test="not(@type) or @type = ''"> | |
578 | <xsl:message terminate="yes"> | |
579 | <xsl:text>ERR: missing @type on tp:external-type</xsl:text> | |
580 | <xsl:value-of select="@name"/> | |
581 | <xsl:text> </xsl:text> | |
582 | </xsl:message> | |
583 | </xsl:if> | |
584 | ||
408 | 585 | <div xmlns="http://www.w3.org/1999/xhtml" class="external-type"> |
409 | 586 | <dt> |
410 | 587 | <a name="type-{@name}"> |
411 | 588 | <xsl:value-of select="@name"/> |
412 | </a> - <xsl:value-of select="@type"/> | |
589 | </a> − <xsl:value-of select="@type"/> | |
413 | 590 | </dt> |
414 | 591 | <dd>Defined by: <xsl:value-of select="@from"/></dd> |
415 | 592 | </div> |
416 | 593 | </xsl:template> |
417 | 594 | |
418 | 595 | <xsl:template match="tp:struct" mode="in-index"> |
419 | - ( <xsl:for-each select="tp:member"> | |
596 | − ( <xsl:for-each select="tp:member"> | |
420 | 597 | <xsl:value-of select="@type"/> |
421 | 598 | <xsl:if test="position() != last()">, </xsl:if> |
422 | 599 | </xsl:for-each> ) |
423 | 600 | </xsl:template> |
424 | 601 | |
425 | 602 | <xsl:template match="tp:mapping" mode="in-index"> |
426 | - a{ <xsl:for-each select="tp:member"> | |
603 | − a{ <xsl:for-each select="tp:member"> | |
427 | 604 | <xsl:value-of select="@type"/> |
428 | 605 | <xsl:if test="position() != last()"> → </xsl:if> |
429 | 606 | </xsl:for-each> } |
434 | 611 | <h3> |
435 | 612 | <a name="type-{@name}"> |
436 | 613 | <xsl:value-of select="@name"/> |
437 | </a> - ( | |
614 | </a> − ( | |
438 | 615 | <xsl:for-each select="tp:member"> |
439 | 616 | <xsl:value-of select="@type"/> |
440 | 617 | <xsl:text>: </xsl:text> |
470 | 647 | </xsl:template> |
471 | 648 | |
472 | 649 | <xsl:template match="method"> |
650 | ||
651 | <xsl:if test="not(parent::interface)"> | |
652 | <xsl:message terminate="yes"> | |
653 | <xsl:text>ERR: method </xsl:text> | |
654 | <xsl:value-of select="@name"/> | |
655 | <xsl:text> does not have an interface as parent </xsl:text> | |
656 | </xsl:message> | |
657 | </xsl:if> | |
658 | ||
659 | <xsl:if test="not(@name) or @name = ''"> | |
660 | <xsl:message terminate="yes"> | |
661 | <xsl:text>ERR: missing @name on a method of </xsl:text> | |
662 | <xsl:value-of select="../@name"/> | |
663 | <xsl:text> </xsl:text> | |
664 | </xsl:message> | |
665 | </xsl:if> | |
666 | ||
667 | <xsl:for-each select="arg"> | |
668 | <xsl:if test="not(@type) or @type = ''"> | |
669 | <xsl:message terminate="yes"> | |
670 | <xsl:text>ERR: an arg of method </xsl:text> | |
671 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
672 | <xsl:text> has no type</xsl:text> | |
673 | </xsl:message> | |
674 | </xsl:if> | |
675 | <xsl:choose> | |
676 | <xsl:when test="@direction='in'"> | |
677 | <xsl:if test="not(@name) or @name = ''"> | |
678 | <xsl:message terminate="yes"> | |
679 | <xsl:text>ERR: an 'in' arg of method </xsl:text> | |
680 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
681 | <xsl:text> has no name</xsl:text> | |
682 | </xsl:message> | |
683 | </xsl:if> | |
684 | </xsl:when> | |
685 | <xsl:when test="@direction='out'"> | |
686 | <!-- FIXME: This is commented out until someone with a lot of time | |
687 | on their hands goes through the spec adding names to all the "out" | |
688 | arguments | |
689 | ||
690 | <xsl:if test="not(@name) or @name = ''"> | |
691 | <xsl:message terminate="no"> | |
692 | <xsl:text>INFO: an 'out' arg of method </xsl:text> | |
693 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
694 | <xsl:text> has no name</xsl:text> | |
695 | </xsl:message> | |
696 | </xsl:if>--> | |
697 | </xsl:when> | |
698 | <xsl:otherwise> | |
699 | <xsl:message terminate="yes"> | |
700 | <xsl:text>ERR: an arg of method </xsl:text> | |
701 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
702 | <xsl:text> has direction neither 'in' nor 'out'</xsl:text> | |
703 | </xsl:message> | |
704 | </xsl:otherwise> | |
705 | </xsl:choose> | |
706 | </xsl:for-each> | |
707 | ||
473 | 708 | <div xmlns="http://www.w3.org/1999/xhtml" class="method"> |
474 | 709 | <h3 xmlns="http://www.w3.org/1999/xhtml"> |
475 | 710 | <a name="{concat(../@name, concat('.', @name))}"> |
531 | 766 | |
532 | 767 | <xsl:template name="tp-type"> |
533 | 768 | <xsl:param name="tp-type"/> |
769 | <xsl:param name="type"/> | |
534 | 770 | |
535 | 771 | <xsl:variable name="single-type"> |
536 | 772 | <xsl:choose> |
543 | 779 | </xsl:choose> |
544 | 780 | </xsl:variable> |
545 | 781 | |
546 | <xsl:choose> | |
547 | <xsl:when test="//tp:simple-type[@name=$single-type]" /> | |
548 | <xsl:when test="//tp:struct[@name=$single-type]" /> | |
549 | <xsl:when test="//tp:enum[@name=$single-type]" /> | |
550 | <xsl:when test="//tp:flags[@name=$single-type]" /> | |
551 | <xsl:when test="//tp:mapping[@name=$single-type]" /> | |
552 | <xsl:when test="//tp:external-type[@name=$single-type]" /> | |
553 | <xsl:otherwise> | |
554 | <xsl:message terminate="yes"> | |
555 | <xsl:text>ERR: Unable to find type '</xsl:text> | |
556 | <xsl:value-of select="$tp-type"/> | |
557 | <xsl:text>' </xsl:text> | |
558 | </xsl:message> | |
559 | </xsl:otherwise> | |
560 | </xsl:choose> | |
782 | <xsl:variable name="type-of-tp-type"> | |
783 | <xsl:if test="contains($tp-type, '[]')"> | |
784 | <!-- one 'a', plus one for each [ after the [], and delete all ] --> | |
785 | <xsl:value-of select="concat('a', | |
786 | translate(substring-after($tp-type, '[]'), '[]', 'a'))"/> | |
787 | </xsl:if> | |
788 | ||
789 | <xsl:choose> | |
790 | <xsl:when test="//tp:simple-type[@name=$single-type]"> | |
791 | <xsl:value-of select="string(//tp:simple-type[@name=$single-type]/@type)"/> | |
792 | </xsl:when> | |
793 | <xsl:when test="//tp:struct[@name=$single-type]"> | |
794 | <xsl:text>(</xsl:text> | |
795 | <xsl:for-each select="//tp:struct[@name=$single-type]/tp:member"> | |
796 | <xsl:value-of select="@type"/> | |
797 | </xsl:for-each> | |
798 | <xsl:text>)</xsl:text> | |
799 | </xsl:when> | |
800 | <xsl:when test="//tp:enum[@name=$single-type]"> | |
801 | <xsl:value-of select="string(//tp:enum[@name=$single-type]/@type)"/> | |
802 | </xsl:when> | |
803 | <xsl:when test="//tp:flags[@name=$single-type]"> | |
804 | <xsl:value-of select="string(//tp:flags[@name=$single-type]/@type)"/> | |
805 | </xsl:when> | |
806 | <xsl:when test="//tp:mapping[@name=$single-type]"> | |
807 | <xsl:text>a{</xsl:text> | |
808 | <xsl:for-each select="//tp:mapping[@name=$single-type]/tp:member"> | |
809 | <xsl:value-of select="@type"/> | |
810 | </xsl:for-each> | |
811 | <xsl:text>}</xsl:text> | |
812 | </xsl:when> | |
813 | <xsl:when test="//tp:external-type[@name=$single-type]"> | |
814 | <xsl:value-of select="string(//tp:external-type[@name=$single-type]/@type)"/> | |
815 | </xsl:when> | |
816 | <xsl:otherwise> | |
817 | <xsl:message terminate="yes"> | |
818 | <xsl:text>ERR: Unable to find type '</xsl:text> | |
819 | <xsl:value-of select="$tp-type"/> | |
820 | <xsl:text>' </xsl:text> | |
821 | </xsl:message> | |
822 | </xsl:otherwise> | |
823 | </xsl:choose> | |
824 | </xsl:variable> | |
825 | ||
826 | <xsl:if test="string($type) != '' and | |
827 | string($type-of-tp-type) != string($type)"> | |
828 | <xsl:message terminate="yes"> | |
829 | <xsl:text>ERR: tp:type '</xsl:text> | |
830 | <xsl:value-of select="$tp-type"/> | |
831 | <xsl:text>' has D-Bus type '</xsl:text> | |
832 | <xsl:value-of select="$type-of-tp-type"/> | |
833 | <xsl:text>' but has been used with type='</xsl:text> | |
834 | <xsl:value-of select="$type"/> | |
835 | <xsl:text>' </xsl:text> | |
836 | </xsl:message> | |
837 | </xsl:if> | |
838 | ||
561 | 839 | <a href="#type-{$single-type}"><xsl:value-of select="$tp-type"/></a> |
562 | 840 | |
563 | 841 | </xsl:template> |
564 | 842 | |
565 | 843 | <xsl:template name="parenthesized-tp-type"> |
566 | 844 | <xsl:if test="@tp:type"> |
567 | <xsl:text>(</xsl:text> | |
845 | <xsl:text> (</xsl:text> | |
568 | 846 | <xsl:call-template name="tp-type"> |
569 | 847 | <xsl:with-param name="tp-type" select="@tp:type"/> |
848 | <xsl:with-param name="type" select="@type"/> | |
570 | 849 | </xsl:call-template> |
571 | 850 | <xsl:text>)</xsl:text> |
572 | 851 | </xsl:if> |
574 | 853 | |
575 | 854 | <xsl:template match="tp:member" mode="members-in-docstring"> |
576 | 855 | <dt xmlns="http://www.w3.org/1999/xhtml"> |
577 | <code><xsl:value-of select="@name"/></code> - | |
856 | <code><xsl:value-of select="@name"/></code> − | |
578 | 857 | <code><xsl:value-of select="@type"/></code> |
579 | 858 | <xsl:call-template name="parenthesized-tp-type"/> |
580 | 859 | </dt> |
592 | 871 | |
593 | 872 | <xsl:template match="arg" mode="parameters-in-docstring"> |
594 | 873 | <dt xmlns="http://www.w3.org/1999/xhtml"> |
595 | <code><xsl:value-of select="@name"/></code> - | |
874 | <code><xsl:value-of select="@name"/></code> − | |
596 | 875 | <code><xsl:value-of select="@type"/></code> |
597 | 876 | <xsl:call-template name="parenthesized-tp-type"/> |
598 | 877 | </dt> |
604 | 883 | <xsl:template match="arg" mode="returns-in-docstring"> |
605 | 884 | <dt xmlns="http://www.w3.org/1999/xhtml"> |
606 | 885 | <xsl:if test="@name"> |
607 | <code><xsl:value-of select="@name"/></code> - | |
886 | <code><xsl:value-of select="@name"/></code> − | |
608 | 887 | </xsl:if> |
609 | 888 | <code><xsl:value-of select="@type"/></code> |
610 | 889 | <xsl:call-template name="parenthesized-tp-type"/> |
635 | 914 | </xsl:template> |
636 | 915 | |
637 | 916 | <xsl:template match="signal"> |
917 | ||
918 | <xsl:if test="not(parent::interface)"> | |
919 | <xsl:message terminate="yes"> | |
920 | <xsl:text>ERR: signal </xsl:text> | |
921 | <xsl:value-of select="@name"/> | |
922 | <xsl:text> does not have an interface as parent </xsl:text> | |
923 | </xsl:message> | |
924 | </xsl:if> | |
925 | ||
926 | <xsl:if test="not(@name) or @name = ''"> | |
927 | <xsl:message terminate="yes"> | |
928 | <xsl:text>ERR: missing @name on a signal of </xsl:text> | |
929 | <xsl:value-of select="../@name"/> | |
930 | <xsl:text> </xsl:text> | |
931 | </xsl:message> | |
932 | </xsl:if> | |
933 | ||
934 | <xsl:for-each select="arg"> | |
935 | <xsl:if test="not(@type) or @type = ''"> | |
936 | <xsl:message terminate="yes"> | |
937 | <xsl:text>ERR: an arg of signal </xsl:text> | |
938 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
939 | <xsl:text> has no type</xsl:text> | |
940 | </xsl:message> | |
941 | </xsl:if> | |
942 | <xsl:if test="not(@name) or @name = ''"> | |
943 | <xsl:message terminate="yes"> | |
944 | <xsl:text>ERR: an arg of signal </xsl:text> | |
945 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
946 | <xsl:text> has no name</xsl:text> | |
947 | </xsl:message> | |
948 | </xsl:if> | |
949 | <xsl:choose> | |
950 | <xsl:when test="not(@direction)"/> | |
951 | <xsl:when test="@direction='in'"> | |
952 | <xsl:message terminate="no"> | |
953 | <xsl:text>INFO: an arg of signal </xsl:text> | |
954 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
955 | <xsl:text> has unnecessary direction 'in'</xsl:text> | |
956 | </xsl:message> | |
957 | </xsl:when> | |
958 | <xsl:otherwise> | |
959 | <xsl:message terminate="yes"> | |
960 | <xsl:text>ERR: an arg of signal </xsl:text> | |
961 | <xsl:value-of select="concat(../../@name, '.', ../@name)"/> | |
962 | <xsl:text> has direction other than 'in'</xsl:text> | |
963 | </xsl:message> | |
964 | </xsl:otherwise> | |
965 | </xsl:choose> | |
966 | </xsl:for-each> | |
967 | ||
638 | 968 | <div xmlns="http://www.w3.org/1999/xhtml" class="signal"> |
639 | 969 | <h3 xmlns="http://www.w3.org/1999/xhtml"> |
640 | 970 | <a name="{concat(../@name, concat('.', @name))}"> |
787 | 1117 | color: #ff0000; |
788 | 1118 | background: #ffffff; |
789 | 1119 | } |
1120 | table, tr, td, th { | |
1121 | border: 1px solid #666; | |
1122 | } | |
790 | 1123 | |
791 | 1124 | </style> |
792 | 1125 | </head> |
795 | 1128 | <xsl:value-of select="tp:title" /> |
796 | 1129 | </h1> |
797 | 1130 | <xsl:if test="tp:version"> |
798 | <h2>Version <xsl:apply-templates select="tp:version"/></h2> | |
1131 | <h2>Version <xsl:value-of select="string(tp:version)"/></h2> | |
799 | 1132 | </xsl:if> |
800 | 1133 | <xsl:apply-templates select="tp:copyright"/> |
801 | 1134 | <xsl:apply-templates select="tp:license"/> |
837 | 1170 | </html> |
838 | 1171 | </xsl:template> |
839 | 1172 | |
1173 | <xsl:template match="node"> | |
1174 | <xsl:apply-templates /> | |
1175 | </xsl:template> | |
1176 | ||
1177 | <xsl:template match="text()"> | |
1178 | <xsl:if test="normalize-space(.) != ''"> | |
1179 | <xsl:message terminate="yes"> | |
1180 | <xsl:text>Stray text: {{{</xsl:text> | |
1181 | <xsl:value-of select="." /> | |
1182 | <xsl:text>}}} </xsl:text> | |
1183 | </xsl:message> | |
1184 | </xsl:if> | |
1185 | </xsl:template> | |
1186 | ||
1187 | <xsl:template match="*"> | |
1188 | <xsl:message terminate="yes"> | |
1189 | <xsl:text>Unrecognised element: {</xsl:text> | |
1190 | <xsl:value-of select="namespace-uri(.)" /> | |
1191 | <xsl:text>}</xsl:text> | |
1192 | <xsl:value-of select="local-name(.)" /> | |
1193 | <xsl:text> </xsl:text> | |
1194 | </xsl:message> | |
1195 | </xsl:template> | |
840 | 1196 | </xsl:stylesheet> |
841 | 1197 | |
842 | 1198 | <!-- vim:set sw=2 sts=2 et: --> |