libpurple/protocols.h

Wed, 08 Feb 2023 08:59:47 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Wed, 08 Feb 2023 08:59:47 -0600
changeset 42049
16d2e16bd24f
parent 42009
fb172b78a9ee
child 42387
d9350cda1556
permissions
-rw-r--r--

Export Account::error

I can't think of a good reason why we shouldn't expose the error property on
Accounts. But I would like to be able to set the error from the UI when there
is an error in the settings for example.

Testing Done:
Built the docs, ran the tests, used the prune connection action in the demo protocol plugin and verified everything was still working.

Reviewed at https://reviews.imfreedom.org/r/2216/

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19907
diff changeset
1 /* purple
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7999
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7999
diff changeset
5 * source distribution.
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
6 *
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 * (at your option) any later version.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 * GNU General Public License for more details.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19641
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
21
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
23 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
24 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
25
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
diff changeset
26 #ifndef PURPLE_PROTOCOLS_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
diff changeset
27 #define PURPLE_PROTOCOLS_H
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
29 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
30 /* Basic Protocol Information */
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
31 /**************************************************************************/
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
32
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36627
diff changeset
33 #include "media.h"
41155
922c9e70900c Rename protocol.[ch] to purpleprotocol.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
34 #include "purpleprotocol.h"
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36627
diff changeset
35 #include "status.h"
36581
09d5842255a2 Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents: 36571
diff changeset
36
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
37 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
38
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
39 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
40 /* Protocol API */
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
41 /**************************************************************************/
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
42
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
43 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
44 * purple_protocol_got_user_idle:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
45 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
46 * @name: The name of the buddy.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
47 * @idle: The user's idle state.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
48 * @idle_time: The user's idle time. This is the time at
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
49 * which the user became idle, in seconds since
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
50 * the epoch. If the protocol does not know this value
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
51 * then it should pass 0.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
52 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
53 * Notifies Purple that a buddy's idle state and time have changed.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
54 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
55 * This is meant to be called from protocols.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
56 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
57 void purple_protocol_got_user_idle(PurpleAccount *account, const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
58 gboolean idle, time_t idle_time);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
59
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
60 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
61 * purple_protocol_got_user_status:
41781
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
62 * @account: The account the user is on.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
63 * @name: The name of the buddy.
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
64 * @status_id: The status ID.
41781
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
65 * @...: A NULL-terminated list of attribute IDs and values.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
66 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
67 * Notifies Purple that a buddy's status has been activated.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
68 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
69 * This is meant to be called from protocols.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
70 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
71 void purple_protocol_got_user_status(PurpleAccount *account, const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
72 const char *status_id, ...)
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
73 G_GNUC_NULL_TERMINATED;
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
74
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
75 /**
41781
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
76 * purple_protocol_got_user_status_with_attributes: (rename-to purple_protocol_got_user_status):
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
77 * @account: The account the user is on.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
78 * @name: The name of the buddy.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
79 * @status_id: The status ID.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
80 * @attributes: (element-type utf8 gpointer): A hash table of attribute IDs and
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
81 * their corresponding values.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
82 *
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
83 * Notifies Purple that a buddy's status has been activated.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
84 *
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
85 * This is meant to be called from protocols.
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
86 *
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
87 * Since: 3.0.0
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
88 */
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
89 void purple_protocol_got_user_status_with_attributes(PurpleAccount *account, const gchar *name, const gchar *status_id, GHashTable *attributes);
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
90
5891e14ae316 Add introspectable versions of purple_protocol_got_{account,user}_status
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41201
diff changeset
91 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
92 * purple_protocol_got_user_status_deactive:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
93 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
94 * @name: The name of the buddy.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
95 * @status_id: The status ID.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
96 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
97 * Notifies libpurple that a buddy's status has been deactivated
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
98 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
99 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
100 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
101 void purple_protocol_got_user_status_deactive(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
102 const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
103 const char *status_id);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
104
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
105 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
106 * purple_protocol_change_account_status:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
107 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
108 * @old_status: The previous status.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
109 * @new_status: The status that was activated, or deactivated
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
110 * (in the case of independent statuses).
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
111 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
112 * Informs the server that our account's status changed.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
113 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
114 void purple_protocol_change_account_status(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
115 PurpleStatus *old_status,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
116 PurpleStatus *new_status);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
117
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
118 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
119 * purple_protocol_get_statuses:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
120 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
121 * @presence: The presence for which we're going to get statuses
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
122 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
123 * Retrieves the list of stock status types from a protocol.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
124 *
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38716
diff changeset
125 * Returns: (transfer full) (element-type PurpleStatus): List of statuses
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
126 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
127 GList *purple_protocol_get_statuses(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
128 PurplePresence *presence);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
129
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
130 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
131 * purple_protocol_get_media_caps:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
132 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
133 * @who: The name of the contact to check capabilities for.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
134 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
135 * Determines if the contact supports the given media session type.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
136 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
137 * Returns: The media caps the contact supports.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
138 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
139 PurpleMediaCaps purple_protocol_get_media_caps(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
140 const char *who);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
141
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
142 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
143 * purple_protocol_initiate_media:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
144 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
145 * @who: The name of the contact to start a session with.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
146 * @type: The type of media session to start.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
147 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
148 * Initiates a media session with the given contact.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
149 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
150 * Returns: TRUE if the call succeeded else FALSE. (Doesn't imply the media
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
151 * session or stream will be successfully created)
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
152 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
153 gboolean purple_protocol_initiate_media(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
154 const char *who,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
155 PurpleMediaSessionType type);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
156
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
157 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
158 * purple_protocol_got_media_caps:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
159 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
160 * @who: The name of the contact for which capabilities have been received.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
161 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
162 * Signals that the protocol received capabilities for the given contact.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
163 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
164 * This function is intended to be used only by protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
165 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
166 void purple_protocol_got_media_caps(PurpleAccount *account, const char *who);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
167
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
168 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
169
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
diff changeset
170 #endif /* PURPLE_PROTOCOLS_H */

mercurial