libpurple/prpl.h

Sun, 11 Aug 2013 02:43:15 +0530

author
Ankit Vani <a@nevitus.org>
date
Sun, 11 Aug 2013 02:43:15 +0530
branch
soc.2013.gobjectification.plugins
changeset 36496
e7fe371c60a6
parent 36493
755de1ce7f07
child 36509
86e882c3cfdf
permissions
-rw-r--r--

Refactored jabber to use the new API

4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
1 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
2 * @file prpl.h Protocol Plugin functions
5034
077678f7b048 [gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents: 4966
diff changeset
3 * @ingroup core
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19907
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19907
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19907
diff changeset
6 /* purple
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
8 * 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
9 * 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
10 * source distribution.
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
11 *
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * 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
14 * the Free Software Foundation; either version 2 of the License, or
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 * (at your option) any later version.
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 * This program is distributed in the hope that it will be useful,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 * GNU General Public License for more details.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 * 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
24 * 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
25 */
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
27 /* this file should be all that prpls need to include. therefore, by including
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
28 * this file, they should get glib, proxy, purple_connection, prpl, etc. */
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
30 #ifndef _PURPLE_PRPL_H_
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
31 #define _PURPLE_PRPL_H_
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
33 typedef struct _PurplePluginProtocolInfo PurplePluginProtocolInfo;
32554
0d844fac6679 Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <markdoliner@pidgin.im>
parents: 32338
diff changeset
34
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
35 typedef struct _PurpleProtocolAction PurpleProtocolAction;
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
36
36408
15ee501576b9 Added PurplePluginProtocolInfo* to PurpleProtocolAction. Changed PurpleProtocolActionCallback argument to PurpleProtocolAction*.
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
37 typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *);
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
38
32554
0d844fac6679 Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <markdoliner@pidgin.im>
parents: 32338
diff changeset
39 /** Represents "nudges" and "buzzes" that you may send to a buddy to attract
0d844fac6679 Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <markdoliner@pidgin.im>
parents: 32338
diff changeset
40 * their attention (or vice-versa).
0d844fac6679 Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <markdoliner@pidgin.im>
parents: 32338
diff changeset
41 */
19604
ae3d7cc7063d Attention API for nudges/buzzes/zaps of various protocols.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 19401
diff changeset
42 typedef struct _PurpleAttentionType PurpleAttentionType;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
43
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
44 /**************************************************************************/
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
45 /** @name Basic Protocol Information */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
46 /**************************************************************************/
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
47
9318
9d1c6820a588 [gaim-migrate @ 10126]
Nathan Walp <nwalp@pidgin.im>
parents: 9316
diff changeset
48 typedef enum {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
49 PURPLE_ICON_SCALE_DISPLAY = 0x01, /**< We scale the icon when we display it */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
50 PURPLE_ICON_SCALE_SEND = 0x02 /**< We scale the icon before we send it to the server */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
51 } PurpleIconScaleRules;
9318
9d1c6820a588 [gaim-migrate @ 10126]
Nathan Walp <nwalp@pidgin.im>
parents: 9316
diff changeset
52
9d1c6820a588 [gaim-migrate @ 10126]
Nathan Walp <nwalp@pidgin.im>
parents: 9316
diff changeset
53
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9301
diff changeset
54 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
55 * A description of a Buddy Icon specification. This tells Purple what kind of image file
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9301
diff changeset
56 * it should give this prpl, and what kind of image file it should expect back.
9316
fcff1e6830e2 [gaim-migrate @ 10124]
Sean Egan <seanegan@pidgin.im>
parents: 9308
diff changeset
57 * Dimensions less than 1 should be ignored and the image not scaled.
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9301
diff changeset
58 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
59 typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec;
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9301
diff changeset
60
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
61 /**
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
62 * A description of a file transfer thumbnail specification.
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
63 * This tells the UI if and what image formats the prpl support for file
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
64 * transfer thumbnails.
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
65 */
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
66 typedef struct _PurpleThumbnailSpec PurpleThumbnailSpec;
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
67
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29815
diff changeset
68 /**
11035
c10c382f4896 [gaim-migrate @ 12922]
Gary Kramlich <grim@reaperworld.com>
parents: 10870
diff changeset
69 * This \#define exists just to make it easier to fill out the buddy icon
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
70 * field in the prpl info struct for protocols that couldn't care less.
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
71 */
15281
5c0b8a2f6b3e [gaim-migrate @ 18009]
Mark Doliner <markdoliner@pidgin.im>
parents: 15205
diff changeset
72 #define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0}
5c0b8a2f6b3e [gaim-migrate @ 18009]
Mark Doliner <markdoliner@pidgin.im>
parents: 15205
diff changeset
73
17392
e88a54874d37 Don't include unistd.h if HAVE_UNISTD_H isn't defined.
Daniel Atallah <datallah@pidgin.im>
parents: 16961
diff changeset
74 #ifdef HAVE_UNISTD_H
15281
5c0b8a2f6b3e [gaim-migrate @ 18009]
Mark Doliner <markdoliner@pidgin.im>
parents: 15205
diff changeset
75 #include <unistd.h>
17392
e88a54874d37 Don't include unistd.h if HAVE_UNISTD_H isn't defined.
Daniel Atallah <datallah@pidgin.im>
parents: 16961
diff changeset
76 #endif
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9301
diff changeset
77
34706
02cb08146888 Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34699
diff changeset
78 #include "buddylist.h"
34605
89e6c5346d63 Begun refactoring for PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 33880
diff changeset
79 #include "conversations.h"
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 12024
diff changeset
80 #include "ft.h"
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
81 #include "imgstore.h"
19882
d8c2a2fc1fbf Basic Google Talk voice call support. No UI; receiving a call auto-accepts it.
Sean Egan <seanegan@pidgin.im>
parents: 19641
diff changeset
82 #include "media.h"
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15185
diff changeset
83 #include "notify.h"
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8568
diff changeset
84 #include "proxy.h"
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36363
diff changeset
85 #include "plugins.h"
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
86 #include "roomlist.h"
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
87 #include "status.h"
11475
1e222e6e52a0 [gaim-migrate @ 13717]
Gary Kramlich <grim@reaperworld.com>
parents: 11462
diff changeset
88 #include "whiteboard.h"
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8568
diff changeset
89
23337
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
90
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
91 /** @copydoc PurpleBuddyIconSpec */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
92 struct _PurpleBuddyIconSpec {
23337
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
93 /** This is a comma-delimited list of image formats or @c NULL if icons
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
94 * are not supported. Neither the core nor the prpl will actually
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
95 * check to see if the data it's given matches this; it's entirely up
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
96 * to the UI to do what it wants
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
97 */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
98 char *format;
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
99
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
100 int min_width; /**< Minimum width of this icon */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
101 int min_height; /**< Minimum height of this icon */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
102 int max_width; /**< Maximum width of this icon */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
103 int max_height; /**< Maximum height of this icon */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
104 size_t max_filesize; /**< Maximum size in bytes */
2643da079f95 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <resiak@pidgin.im>
parents: 23281
diff changeset
105 PurpleIconScaleRules scale_rules; /**< How to stretch this icon */
15281
5c0b8a2f6b3e [gaim-migrate @ 18009]
Mark Doliner <markdoliner@pidgin.im>
parents: 15205
diff changeset
106 };
30125
e28699c46311 Whitespace trim.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
107
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
108 /** Represents an entry containing information that must be supplied by the
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
109 * user when joining a chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
110 */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9584
diff changeset
111 struct proto_chat_entry {
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
112 const char *label; /**< User-friendly name of the entry */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
113 const char *identifier; /**< Used by the PRPL to identify the option */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
114 gboolean required; /**< True if it's required */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
115 gboolean is_int; /**< True if the entry expects an integer */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
116 int min; /**< Minimum value in case of integer */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
117 int max; /**< Maximum value in case of integer */
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
118 gboolean secret; /**< True if the entry is secret (password) */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9584
diff changeset
119 };
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9584
diff changeset
120
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6451
diff changeset
121 /**
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
122 * Protocol options
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
123 *
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
124 * These should all be stuff that some plugins can do and others can't.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
125 */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
126 typedef enum
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
127 {
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
128 /**
27132
545109e6826f Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <darkrain42@pidgin.im>
parents: 26871
diff changeset
129 * User names are unique to a chat and are not shared between rooms.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
130 *
27132
545109e6826f Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <darkrain42@pidgin.im>
parents: 26871
diff changeset
131 * XMPP lets you choose what name you want in chats, so it shouldn't
545109e6826f Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <darkrain42@pidgin.im>
parents: 26871
diff changeset
132 * be pulling the aliases from the buddy list for the chat list;
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
133 * it gets annoying.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
134 */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
135 OPT_PROTO_UNIQUE_CHATNAME = 0x00000004,
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
136
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
137 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
138 * Chat rooms have topics.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
139 *
16961
b6955f946f8f s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents: 16799
diff changeset
140 * IRC and XMPP support this.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
141 */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
142 OPT_PROTO_CHAT_TOPIC = 0x00000008,
1370
de786e8d0146 [gaim-migrate @ 1380]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1355
diff changeset
143
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
144 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
145 * Don't require passwords for sign-in.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
146 *
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
147 * Zephyr doesn't require passwords, so there's no
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
148 * need for a password prompt.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
149 */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
150 OPT_PROTO_NO_PASSWORD = 0x00000010,
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
151
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
152 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
153 * Notify on new mail.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
154 *
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
155 * MSN and Yahoo notify you when you have new mail.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
156 */
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
157 OPT_PROTO_MAIL_CHECK = 0x00000020,
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
158
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
159 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
160 * Images in IMs.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
161 *
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
162 * Oscar lets you send images in direct IMs.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
163 */
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
164 OPT_PROTO_IM_IMAGE = 0x00000040,
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
165
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
166 /**
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
167 * Allow passwords to be optional.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
168 *
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
169 * Passwords in IRC are optional, and are needed for certain
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
170 * functionality.
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
171 */
9999
86e89e1dee10 [gaim-migrate @ 10913]
Mark Doliner <markdoliner@pidgin.im>
parents: 9971
diff changeset
172 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080,
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
173
5367
a2f9e6418413 [gaim-migrate @ 5743]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5234
diff changeset
174 /**
a2f9e6418413 [gaim-migrate @ 5743]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5234
diff changeset
175 * Allows font size to be specified in sane point size
a2f9e6418413 [gaim-migrate @ 5743]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5234
diff changeset
176 *
16961
b6955f946f8f s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@pidgin.im>
parents: 16799
diff changeset
177 * Probably just XMPP and Y!M
5367
a2f9e6418413 [gaim-migrate @ 5743]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5234
diff changeset
178 */
11358
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
179 OPT_PROTO_USE_POINTSIZE = 0x00000100,
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
180
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
181 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
182 * Set the Register button active even when the username has not
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
183 * been specified.
11358
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
184 *
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
185 * Gadu-Gadu doesn't need a username to register new account (because
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
186 * usernames are assigned by the server).
11358
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
187 */
531a16c883c0 [gaim-migrate @ 13580]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
188 OPT_PROTO_REGISTER_NOSCREENNAME = 0x00000200,
5367
a2f9e6418413 [gaim-migrate @ 5743]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5234
diff changeset
189
18092
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
190 /**
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
191 * Indicates that slash commands are native to this protocol.
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
192 * Used as a hint that unknown commands should not be sent as messages.
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
193 */
31597
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
194 OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400,
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
195
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
196 /**
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
197 * Indicates that this protocol supports sending a user-supplied message
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
198 * along with an invitation.
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
199 */
33696
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
200 OPT_PROTO_INVITE_MESSAGE = 0x00000800,
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
201
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
202 /**
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
203 * Indicates that this protocol supports sending a user-supplied message
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
204 * along with an authorization acceptance.
31597
3604d574a028 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31594
diff changeset
205 */
33696
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
206 OPT_PROTO_AUTHORIZATION_GRANTED_MESSAGE = 0x00001000,
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
207
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
208 /**
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
209 * Indicates that this protocol supports sending a user-supplied message
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
210 * along with an authorization denial.
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
211 */
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
212 OPT_PROTO_AUTHORIZATION_DENIED_MESSAGE = 0x00002000
18092
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
213
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
214 } PurpleProtocolOptions;
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
215
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
216 /**
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
217 * Represents an action that the protocol can perform. This shows up in the
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
218 * Accounts menu, under a submenu with the name of the account.
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
219 */
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
220 struct _PurpleProtocolAction {
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
221 char *label;
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
222 PurpleProtocolActionCallback callback;
36451
15fb9e64d477 Replaced PurplePluginProtocolInfo* with PurpleConnection* in PurpleProtocolAction
Ankit Vani <a@nevitus.org>
parents: 36423
diff changeset
223 PurpleConnection *connection;
36496
e7fe371c60a6 Refactored jabber to use the new API
Ankit Vani <a@nevitus.org>
parents: 36493
diff changeset
224 gpointer user_data;
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
225 };
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
226
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
227 /**
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
228 * A protocol plugin information structure.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
229 *
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
230 * Every protocol plugin initializes this structure. It is the gateway
22906
26919a723b1e Fix a typo in a doc comment.
Richard Laager <rlaager@pidgin.im>
parents: 22251
diff changeset
231 * between purple and the protocol plugin. Many of these callbacks can be
10162
432a7a659518 [gaim-migrate @ 11248]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10160
diff changeset
232 * NULL. If a callback must be implemented, it has a comment indicating so.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
233 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
234 struct _PurplePluginProtocolInfo
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
235 {
36361
9e68a23150cf Replaced purple_find_prpl() with purple_find_protocol_info().
Ankit Vani <a@nevitus.org>
parents: 36360
diff changeset
236 const char *id;
36363
c0c30b3754e9 Added name to PurplePluginProtocolInfo
Ankit Vani <a@nevitus.org>
parents: 36361
diff changeset
237 const char *name;
36361
9e68a23150cf Replaced purple_find_prpl() with purple_find_protocol_info().
Ankit Vani <a@nevitus.org>
parents: 36360
diff changeset
238
32316
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
239 /**
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
240 * The size of the PurplePluginProtocolInfo. This should always be sizeof(PurplePluginProtocolInfo).
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
241 * This allows adding more functions to this struct without requiring a major version bump.
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
242 */
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
243 unsigned long struct_size;
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
244
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
245 /* NOTE:
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
246 * If more functions are added, they should accessed using the following syntax:
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
247 *
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
248 * if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, new_function))
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
249 * prpl->new_function(...);
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
250 *
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
251 * instead of
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
252 *
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
253 * if (prpl->new_function != NULL)
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
254 * prpl->new_function(...);
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
255 *
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
256 * The PURPLE_PROTOCOL_PLUGIN_HAS_FUNC macro can be used for the older member
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
257 * functions (e.g. login, send_im etc.) too.
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
258 */
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
259
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
260 PurpleProtocolOptions options; /**< Protocol options. */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
261
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
262 GList *user_splits; /**< A GList of PurpleAccountUserSplit */
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
263 GList *protocol_options; /**< A GList of PurpleAccountOption */
10160
90f207810143 [gaim-migrate @ 11243]
Mark Doliner <markdoliner@pidgin.im>
parents: 10104
diff changeset
264
36493
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
265 PurpleBuddyIconSpec icon_spec; /**< The icon spec. */
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
266
36451
15fb9e64d477 Replaced PurplePluginProtocolInfo* with PurpleConnection* in PurpleProtocolAction
Ankit Vani <a@nevitus.org>
parents: 36423
diff changeset
267 /**
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
268 * Callback that returns the actions the protocol can perform
36451
15fb9e64d477 Replaced PurplePluginProtocolInfo* with PurpleConnection* in PurpleProtocolAction
Ankit Vani <a@nevitus.org>
parents: 36423
diff changeset
269 */
36490
f8b890ba0789 Renamed protocol's actions function to get_actions
Ankit Vani <a@nevitus.org>
parents: 36487
diff changeset
270 GList *(*get_actions)(PurpleConnection *);
36451
15fb9e64d477 Replaced PurplePluginProtocolInfo* with PurpleConnection* in PurpleProtocolAction
Ankit Vani <a@nevitus.org>
parents: 36423
diff changeset
271
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
272 /**
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
273 * Returns the base icon name for the given buddy and account.
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 25231
diff changeset
274 * If buddy is NULL and the account is non-NULL, it will return the
16320
eec8b2bed22e Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 15884
diff changeset
275 * name to use for the account's icon. If both are NULL, it will
eec8b2bed22e Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 15884
diff changeset
276 * return the name to use for the protocol's icon.
eec8b2bed22e Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 15884
diff changeset
277 *
eec8b2bed22e Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 15884
diff changeset
278 * This must be implemented.
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4668
diff changeset
279 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
280 const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4668
diff changeset
281
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4668
diff changeset
282 /**
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
283 * Fills the four char**'s with string identifiers for "emblems"
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
284 * that the UI will interpret and display as relevant
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4668
diff changeset
285 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
286 const char *(*list_emblem)(PurpleBuddy *buddy);
4722
f834a9a217c4 [gaim-migrate @ 5034]
Sean Egan <seanegan@pidgin.im>
parents: 4687
diff changeset
287
f834a9a217c4 [gaim-migrate @ 5034]
Sean Egan <seanegan@pidgin.im>
parents: 4687
diff changeset
288 /**
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
289 * Gets a short string representing this buddy's status. This will
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
290 * be shown on the buddy list.
4722
f834a9a217c4 [gaim-migrate @ 5034]
Sean Egan <seanegan@pidgin.im>
parents: 4687
diff changeset
291 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
292 char *(*status_text)(PurpleBuddy *buddy);
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
293
4724
2c7fae3847c8 [gaim-migrate @ 5037]
Sean Egan <seanegan@pidgin.im>
parents: 4722
diff changeset
294 /**
12970
c2f3b4dcf711 [gaim-migrate @ 15323]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
295 * Allows the prpl to add text to a buddy's tooltip.
4724
2c7fae3847c8 [gaim-migrate @ 5037]
Sean Egan <seanegan@pidgin.im>
parents: 4722
diff changeset
296 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
297 void (*tooltip_text)(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full);
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
298
10200
33c21db946e7 [gaim-migrate @ 11317]
Mark Doliner <markdoliner@pidgin.im>
parents: 10162
diff changeset
299 /**
20978
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
300 * Returns a list of #PurpleStatusType which exist for this account;
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
301 * this must be implemented, and must add at least the offline and
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
302 * online states.
10200
33c21db946e7 [gaim-migrate @ 11317]
Mark Doliner <markdoliner@pidgin.im>
parents: 10162
diff changeset
303 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
304 GList *(*status_types)(PurpleAccount *account);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
305
20978
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
306 /**
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
307 * Returns a list of #PurpleMenuAction structs, which represent extra
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
308 * actions to be shown in (for example) the right-click menu for @a
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
309 * node.
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
310 */
34864
0e292d8887de Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
311 GList *(*blist_node_menu)(PurpleBlistNode *node);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
312
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
313 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
314 * Returns a list of #proto_chat_entry structs, which represent
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
315 * information required by the PRPL to join a chat. libpurple will
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
316 * call join_chat along with the information filled by the user.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
317 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
318 * @return A list of #proto_chat_entry structs
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
319 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
320 GList *(*chat_info)(PurpleConnection *);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
321
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
322 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
323 * Returns a hashtable which maps #proto_chat_entry struct identifiers
31293
169eeb43b52c Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30195
diff changeset
324 * to default options as strings based on chat_name. The resulting
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
325 * hashtable should be created with g_hash_table_new_full(g_str_hash,
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
326 * g_str_equal, NULL, g_free);. Use #get_chat_name if you instead need
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
327 * to extract a chat name from a hashtable.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
328 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
329 * @param chat_name The chat name to be turned into components
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
330 * @return Hashtable containing the information extracted from chat_name
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
331 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
332 GHashTable *(*chat_info_defaults)(PurpleConnection *, const char *chat_name);
1333
bbd54f86976f [gaim-migrate @ 1343]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1318
diff changeset
333
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
334 /* All the server-related functions */
10160
90f207810143 [gaim-migrate @ 11243]
Mark Doliner <markdoliner@pidgin.im>
parents: 10104
diff changeset
335
90f207810143 [gaim-migrate @ 11243]
Mark Doliner <markdoliner@pidgin.im>
parents: 10104
diff changeset
336 /** This must be implemented. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
337 void (*login)(PurpleAccount *);
10160
90f207810143 [gaim-migrate @ 11243]
Mark Doliner <markdoliner@pidgin.im>
parents: 10104
diff changeset
338
90f207810143 [gaim-migrate @ 11243]
Mark Doliner <markdoliner@pidgin.im>
parents: 10104
diff changeset
339 /** This must be implemented. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
340 void (*close)(PurpleConnection *);
11693
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
341
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
342 /**
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
343 * This PRPL function should return a positive value on success.
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
344 * If the message is too big to be sent, return -E2BIG. If
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
345 * the account is not connected, return -ENOTCONN. If the
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
346 * PRPL is unable to send the message for another reason, return
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
347 * some other negative value. You can use one of the valid
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
348 * errno values, or just big something. If the message should
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
349 * not be echoed to the conversation window, return 0.
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
350 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
351 int (*send_im)(PurpleConnection *, const char *who,
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6885
diff changeset
352 const char *message,
34620
e49aa67344e1 Renamed PurpleConversationMessageFlags back to PurpleMessageFlags.
Ankit Vani <a@nevitus.org>
parents: 34605
diff changeset
353 PurpleMessageFlags flags);
11693
1a42a66ca0f8 [gaim-migrate @ 13979]
Mark Doliner <markdoliner@pidgin.im>
parents: 11500
diff changeset
354
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
355 void (*set_info)(PurpleConnection *, const char *info);
24853
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
356
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
357 /**
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34622
diff changeset
358 * @return If this protocol requires the PURPLE_IM_TYPING message to
24854
876efbc05a4a Fix a typo in Mark's new comment.
Richard Laager <rlaager@pidgin.im>
parents: 24853
diff changeset
359 * be sent repeatedly to signify that the user is still
24853
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
360 * typing, then the PRPL should return the number of
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
361 * seconds to wait before sending a subsequent notification.
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
362 * Otherwise the PRPL should return 0.
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
363 */
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34622
diff changeset
364 unsigned int (*send_typing)(PurpleConnection *, const char *name, PurpleIMTypingState state);
24853
12c7cef2f980 Add a comment for the meaning of the return value of this function,
Mark Doliner <markdoliner@pidgin.im>
parents: 23875
diff changeset
365
20978
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
366 /**
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
367 * Should arrange for purple_notify_userinfo() to be called with
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
368 * @a who's user info.
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
369 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
370 void (*get_info)(PurpleConnection *, const char *who);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
371 void (*set_status)(PurpleAccount *account, PurpleStatus *status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
372
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
373 void (*set_idle)(PurpleConnection *, int idletime);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
374 void (*change_passwd)(PurpleConnection *, const char *old_pass,
5946
ebabcd2b4637 [gaim-migrate @ 6387]
Christian Hammond <chipx86@chipx86.com>
parents: 5944
diff changeset
375 const char *new_pass);
32315
2550a39e0285 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32302
diff changeset
376
25505
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
377 /**
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
378 * Add a buddy to a group on the server.
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
379 *
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
380 * This PRPL function may be called in situations in which the buddy is
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
381 * already in the specified group. If the protocol supports
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
382 * authorization and the user is not already authorized to see the
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
383 * status of \a buddy, \a add_buddy should request authorization.
31594
ec0856af6477 Add new functions for adding buddies with an invite message. If the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31293
diff changeset
384 *
32315
2550a39e0285 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32302
diff changeset
385 * If authorization is required, then use the supplied invite message.
25505
42fc74ce0064 Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <darkrain42@pidgin.im>
parents: 25231
diff changeset
386 */
32315
2550a39e0285 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32302
diff changeset
387 void (*add_buddy)(PurpleConnection *pc, PurpleBuddy *buddy, PurpleGroup *group, const char *message);
2550a39e0285 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32302
diff changeset
388 void (*add_buddies)(PurpleConnection *pc, GList *buddies, GList *groups, const char *message);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
389 void (*remove_buddy)(PurpleConnection *, PurpleBuddy *buddy, PurpleGroup *group);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
390 void (*remove_buddies)(PurpleConnection *, GList *buddies, GList *groups);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
391 void (*add_permit)(PurpleConnection *, const char *name);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
392 void (*add_deny)(PurpleConnection *, const char *name);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
393 void (*rem_permit)(PurpleConnection *, const char *name);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
394 void (*rem_deny)(PurpleConnection *, const char *name);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
395 void (*set_permit_deny)(PurpleConnection *);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
396
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
397 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
398 * Called when the user requests joining a chat. Should arrange for
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
399 * #serv_got_joined_chat to be called.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
400 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
401 * @param components A hashtable containing information required to
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
402 * join the chat as described by the entries returned
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
403 * by #chat_info. It may also be called when accepting
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
404 * an invitation, in which case this matches the
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
405 * data parameter passed to #serv_got_chat_invite.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
406 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
407 void (*join_chat)(PurpleConnection *, GHashTable *components);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
408
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
409 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
410 * Called when the user refuses a chat invitation.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
411 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
412 * @param components A hashtable containing information required to
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
413 * join the chat as passed to #serv_got_chat_invite.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
414 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
415 void (*reject_chat)(PurpleConnection *, GHashTable *components);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
416
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
417 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
418 * Returns a chat name based on the information in components. Use
31293
169eeb43b52c Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30195
diff changeset
419 * #chat_info_defaults if you instead need to generate a hashtable
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
420 * from a chat name.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
421 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
422 * @param components A hashtable containing information about the chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
423 */
9917
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9770
diff changeset
424 char *(*get_chat_name)(GHashTable *components);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
425
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
426 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
427 * Invite a user to join a chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
428 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
429 * @param id The id of the chat to invite the user to.
31293
169eeb43b52c Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30195
diff changeset
430 * @param message A message displayed to the user when the invitation
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
431 * is received.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
432 * @param who The name of the user to send the invation to.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
433 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
434 void (*chat_invite)(PurpleConnection *, int id,
15036
2580e926104d [gaim-migrate @ 17753]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15002
diff changeset
435 const char *message, const char *who);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
436 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
437 * Called when the user requests leaving a chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
438 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
439 * @param id The id of the chat to leave
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
440 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
441 void (*chat_leave)(PurpleConnection *, int id);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
442
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
443 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
444 * Send a whisper to a user in a chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
445 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
446 * @param id The id of the chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
447 * @param who The name of the user to send the whisper to.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
448 * @param message The message of the whisper.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
449 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
450 void (*chat_whisper)(PurpleConnection *, int id,
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 5954
diff changeset
451 const char *who, const char *message);
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
452
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
453 /**
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
454 * Send a message to a chat.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
455 * This PRPL function should return a positive value on success.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
456 * If the message is too big to be sent, return -E2BIG. If
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
457 * the account is not connected, return -ENOTCONN. If the
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
458 * PRPL is unable to send the message for another reason, return
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
459 * some other negative value. You can use one of the valid
33856
a694b89708c3 Fix incorrect documentation for the prpl chat_send function.
Daniel Atallah <datallah@pidgin.im>
parents: 31597
diff changeset
460 * errno values, or just big something.
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
461 *
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
462 * @param id The id of the chat to send the message to.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
463 * @param message The message to send to the chat.
34620
e49aa67344e1 Renamed PurpleConversationMessageFlags back to PurpleMessageFlags.
Ankit Vani <a@nevitus.org>
parents: 34605
diff changeset
464 * @param flags A bitwise OR of #PurpleMessageFlags representing
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
465 * message flags.
33856
a694b89708c3 Fix incorrect documentation for the prpl chat_send function.
Daniel Atallah <datallah@pidgin.im>
parents: 31597
diff changeset
466 * @return A positive number or 0 in case of success,
28684
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
467 * a negative error number in case of failure.
b4c337df39a1 Documented chat API. References #10605
Felix Kerekes <sttwister@soc.pidgin.im>
parents: 27132
diff changeset
468 */
34620
e49aa67344e1 Renamed PurpleConversationMessageFlags back to PurpleMessageFlags.
Ankit Vani <a@nevitus.org>
parents: 34605
diff changeset
469 int (*chat_send)(PurpleConnection *, int id, const char *message, PurpleMessageFlags flags);
21865
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
470
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
471 /** If implemented, this will be called regularly for this prpl's
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
472 * active connections. You'd want to do this if you need to repeatedly
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
473 * send some kind of keepalive packet to the server to avoid being
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
474 * disconnected. ("Regularly" is defined by
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
475 * <code>KEEPALIVE_INTERVAL</code> in <tt>libpurple/connection.c</tt>.)
59b1c56633d1 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <resiak@pidgin.im>
parents: 21552
diff changeset
476 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
477 void (*keepalive)(PurpleConnection *);
1713
3e0138242a5b [gaim-migrate @ 1723]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1626
diff changeset
478
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
479 /** new user registration */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
480 void (*register_user)(PurpleAccount *);
2956
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
481
21003
8f3cc6e40d2e Try my hardest to get rid of some Doxygen warnings. One is left and I don't know why.
Richard Laager <rlaager@pidgin.im>
parents: 20978
diff changeset
482 /**
8f3cc6e40d2e Try my hardest to get rid of some Doxygen warnings. One is left and I don't know why.
Richard Laager <rlaager@pidgin.im>
parents: 20978
diff changeset
483 * @deprecated Use #PurplePluginProtocolInfo.get_info instead.
20978
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
484 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
485 void (*get_cb_info)(PurpleConnection *, int, const char *who);
2827
e3d10df95e74 [gaim-migrate @ 2840]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2773
diff changeset
486
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
487 /** save/store buddy's alias on server list/roster */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
488 void (*alias_buddy)(PurpleConnection *, const char *who,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
489 const char *alias);
3136
8d988a6d2f4c [gaim-migrate @ 3151]
Rob Flynn <gaim@robflynn.com>
parents: 3044
diff changeset
490
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
491 /** change a buddy's group on a server list/roster */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
492 void (*group_buddy)(PurpleConnection *, const char *who,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
493 const char *old_group, const char *new_group);
3136
8d988a6d2f4c [gaim-migrate @ 3151]
Rob Flynn <gaim@robflynn.com>
parents: 3044
diff changeset
494
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
495 /** rename a group on a server list/roster */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
496 void (*rename_group)(PurpleConnection *, const char *old_name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
497 PurpleGroup *group, GList *moved_buddies);
3348
57ed471963ba [gaim-migrate @ 3367]
Mark Doliner <markdoliner@pidgin.im>
parents: 3313
diff changeset
498
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
499 void (*buddy_free)(PurpleBuddy *);
2607
7bcd3ea48df3 [gaim-migrate @ 2620]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2582
diff changeset
500
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
501 void (*convo_closed)(PurpleConnection *, const char *who);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
502
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
503 /**
33087
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
504 * Convert the username @a who to its canonical form. Also checks for
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
505 * validity.
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
506 *
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
507 * For example, AIM treats "fOo BaR" and "foobar" as the same user; this
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
508 * function should return the same normalized string for both of those.
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
509 * On the other hand, both of these are invalid for protocols with
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
510 * number-based usernames, so function should return NULL in such case.
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
511 *
33568
0e0a872ad6fe Documentation grammer fix.
Mark Doliner <mark@kingant.net>
parents: 33087
diff changeset
512 * @param account The account the username is related to. Can
33087
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
513 * be NULL.
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
514 * @param who The username to convert.
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
515 * @return Normalized username, or NULL, if it's invalid.
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
516 */
33087
182da0516150 Libpurple: username validation support; Pidgin: use it in account setup dialog
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32787
diff changeset
517 const char *(*normalize)(const PurpleAccount *account, const char *who);
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
518
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
519 /**
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
520 * Set the buddy icon for the given connection to @a img. The prpl
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
521 * does NOT own a reference to @a img; if it needs one, it must
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
522 * #purple_imgstore_ref(@a img) itself.
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
523 */
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
524 void (*set_buddy_icon)(PurpleConnection *, PurpleStoredImage *img);
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6846
diff changeset
525
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
526 void (*remove_group)(PurpleConnection *gc, PurpleGroup *group);
7398
90663d97aa6a [gaim-migrate @ 7994]
Nathan Walp <nwalp@pidgin.im>
parents: 7322
diff changeset
527
21110
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
528 /** Gets the real name of a participant in a chat. For example, on
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
529 * XMPP this turns a chat room nick <tt>foo</tt> into
21552
6920e51d8f27 Get rid of a few silly doxygen warnings
Mark Doliner <markdoliner@pidgin.im>
parents: 21110
diff changeset
530 * <tt>room\@server/foo</tt>
21110
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
531 * @param gc the connection on which the room is.
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
532 * @param id the ID of the chat room.
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
533 * @param who the nickname of the chat participant.
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
534 * @return the real name of the participant. This string must be
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
535 * freed by the caller.
7628fe7a7c6e Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <resiak@pidgin.im>
parents: 21099
diff changeset
536 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
537 char *(*get_cb_real_name)(PurpleConnection *gc, int id, const char *who);
7971
a9309feca3c8 [gaim-migrate @ 8648]
Nathan Walp <nwalp@pidgin.im>
parents: 7956
diff changeset
538
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
539 void (*set_chat_topic)(PurpleConnection *gc, int id, const char *topic);
7999
f3f95e0c956a [gaim-migrate @ 8676]
Nathan Walp <nwalp@pidgin.im>
parents: 7971
diff changeset
540
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
541 PurpleChat *(*find_blist_chat)(PurpleAccount *account, const char *name);
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
542
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
543 /* room listing prpl callbacks */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
544 PurpleRoomlist *(*roomlist_get_list)(PurpleConnection *gc);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
545 void (*roomlist_cancel)(PurpleRoomlist *list);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
546 void (*roomlist_expand_category)(PurpleRoomlist *list, PurpleRoomlistRoom *category);
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9460
diff changeset
547
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9460
diff changeset
548 /* file transfer callbacks */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
549 gboolean (*can_receive_file)(PurpleConnection *, const char *who);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
550 void (*send_file)(PurpleConnection *, const char *who, const char *filename);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
551 PurpleXfer *(*new_xfer)(PurpleConnection *, const char *who);
21099
584da62ea174 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <resiak@pidgin.im>
parents: 21003
diff changeset
552
584da62ea174 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <resiak@pidgin.im>
parents: 21003
diff changeset
553 /** Checks whether offline messages to @a buddy are supported.
584da62ea174 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <resiak@pidgin.im>
parents: 21003
diff changeset
554 * @return @c TRUE if @a buddy can be sent messages while they are
584da62ea174 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <resiak@pidgin.im>
parents: 21003
diff changeset
555 * offline, or @c FALSE if not.
584da62ea174 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <resiak@pidgin.im>
parents: 21003
diff changeset
556 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
557 gboolean (*offline_message)(const PurpleBuddy *buddy);
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 12024
diff changeset
558
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
559 PurpleWhiteboardPrplOps *whiteboard_prpl_ops;
14604
67a7c42a8654 [gaim-migrate @ 17263]
Sean Egan <seanegan@pidgin.im>
parents: 14254
diff changeset
560
19401
012a56cd0484 Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <resiak@pidgin.im>
parents: 18243
diff changeset
561 /** For use in plugins that may understand the underlying protocol */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
562 int (*send_raw)(PurpleConnection *gc, const char *buf, int len);
15185
74b689a74430 [gaim-migrate @ 17909]
Nathan Walp <nwalp@pidgin.im>
parents: 15132
diff changeset
563
74b689a74430 [gaim-migrate @ 17909]
Nathan Walp <nwalp@pidgin.im>
parents: 15132
diff changeset
564 /* room list serialize */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
565 char *(*roomlist_room_serialize)(PurpleRoomlistRoom *room);
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16541
diff changeset
566
20978
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
567 /** Remove the user from the server. The account can either be
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
568 * connected or disconnected. After the removal is finished, the
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
569 * connection will stay open and has to be closed!
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
570 */
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
571 /* This is here rather than next to register_user for API compatibility
f6aededb6700 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
572 * reasons.
18912
606597744812 Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents: 18718
diff changeset
573 */
18994
310e9d853e2b Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <am@adiumx.com>
parents: 18912
diff changeset
574 void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 25231
diff changeset
575
19604
ae3d7cc7063d Attention API for nudges/buzzes/zaps of various protocols.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 19401
diff changeset
576 /* Attention API for sending & receiving zaps/nudges/buzzes etc. */
19641
4a93c044199c Change serv_send_attention() to call prpl_info->send_attention(), and
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 19639
diff changeset
577 gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type);
19907
39d8855e8344 - Rename attention_types to get_attention_types, which seems more standard.
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
578 GList *(*get_attention_types)(PurpleAccount *acct);
19641
4a93c044199c Change serv_send_attention() to call prpl_info->send_attention(), and
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 19639
diff changeset
579
23277
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
580 /** This allows protocols to specify additional strings to be used for
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
581 * various purposes. The idea is to stuff a bunch of strings in this hash
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
582 * table instead of expanding the struct for every addition. This hash
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
583 * table is allocated every call and MUST be unrefed by the caller.
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
584 *
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
585 * @param account The account to specify. This can be NULL.
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
586 * @return The protocol's string hash table. The hash table should be
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
587 * destroyed by the caller when it's no longer needed.
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
588 */
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
589 GHashTable *(*get_account_text_table)(PurpleAccount *account);
24912
9ae8349f0353 Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@pidgin.im>
parents: 23875
diff changeset
590
9ae8349f0353 Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@pidgin.im>
parents: 23875
diff changeset
591 /**
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
592 * Initiate a media session with the given contact.
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
593 *
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26611
diff changeset
594 * @param account The account to initiate the media session on.
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
595 * @param who The remote user to initiate the session with.
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
596 * @param type The type of media session to initiate.
26495
52846ebe1c7d Don't assume a PurpleMedia instance will be created immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26482
diff changeset
597 * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created)
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
598 */
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26611
diff changeset
599 gboolean (*initiate_media)(PurpleAccount *account, const char *who,
26108
8d0fd2f195aa Changed PurpleMediaStreamType to PurpleMediaSessionType.
Michael Ruprecht <maiku@pidgin.im>
parents: 26107
diff changeset
600 PurpleMediaSessionType type);
23707
480f94157418 propagate from branch 'im.pidgin.pidgin' (head bd5f7f61d9349053ee4738efc0d17453f0574057)
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23337 22648
diff changeset
601
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
602 /**
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
603 * Checks to see if the given contact supports the given type of media session.
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
604 *
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26611
diff changeset
605 * @param account The account the contact is on.
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
606 * @param who The remote user to check for media capability with.
26316
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26186
diff changeset
607 * @return The media caps the contact supports.
26107
3f03e67b89ba Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Michael Ruprecht <maiku@pidgin.im>
parents: 26106
diff changeset
608 */
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26611
diff changeset
609 PurpleMediaCaps (*get_media_caps)(PurpleAccount *account,
26316
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26186
diff changeset
610 const char *who);
26657
1067482b6de1 propagate from branch 'im.pidgin.pidgin' (head 69f29e0c8111a1c5b6270f7924a468b75f6b5aa9)
Richard Laager <rlaager@pidgin.im>
parents: 26611 24912
diff changeset
611
1067482b6de1 propagate from branch 'im.pidgin.pidgin' (head 69f29e0c8111a1c5b6270f7924a468b75f6b5aa9)
Richard Laager <rlaager@pidgin.im>
parents: 26611 24912
diff changeset
612 /**
24912
9ae8349f0353 Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@pidgin.im>
parents: 23875
diff changeset
613 * Returns an array of "PurpleMood"s, with the last one having
29815
e75c3336b42a Allow showing moods for buddies when signed on using an XMPP account not
Marcus Lundblad <malu@pidgin.im>
parents: 29803
diff changeset
614 * "mood" set to @c NULL.
24912
9ae8349f0353 Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@pidgin.im>
parents: 23875
diff changeset
615 */
9ae8349f0353 Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@pidgin.im>
parents: 23875
diff changeset
616 PurpleMood *(*get_moods)(PurpleAccount *account);
30138
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
617
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
618 /**
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
619 * Set the user's "friendly name" (or alias or nickname or
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
620 * whatever term you want to call it) on the server. The
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
621 * protocol plugin should call success_cb or failure_cb
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
622 * *asynchronously* (if it knows immediately that the set will fail,
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
623 * call one of the callbacks from an idle/0-second timeout) depending
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
624 * on if the nickname is set successfully.
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
625 *
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
626 * @param gc The connection for which to set an alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
627 * @param alias The new server-side alias/nickname for this account,
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
628 * or NULL to unset the alias/nickname (or return it to
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
629 * a protocol-specific "default").
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
630 * @param success_cb Callback to be called if the public alias is set
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
631 * @param failure_cb Callback to be called if setting the public alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
632 * fails
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
633 * @see purple_account_set_public_alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
634 */
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
635 void (*set_public_alias)(PurpleConnection *gc, const char *alias,
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
636 PurpleSetPublicAliasSuccessCallback success_cb,
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
637 PurpleSetPublicAliasFailureCallback failure_cb);
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
638 /**
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
639 * Retrieve the user's "friendly name" as set on the server.
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
640 * The protocol plugin should call success_cb or failure_cb
30195
c292bad63d91 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30138
diff changeset
641 * *asynchronously* (even if it knows immediately that the get will fail,
30138
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
642 * call one of the callbacks from an idle/0-second timeout) depending
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
643 * on if the nickname is retrieved.
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
644 *
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
645 * @param gc The connection for which to retireve the alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
646 * @param success_cb Callback to be called with the retrieved alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
647 * @param failure_cb Callback to be called if the prpl is unable to
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
648 * retrieve the alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
649 * @see purple_account_get_public_alias
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
650 */
cca9685df785 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents: 30125
diff changeset
651 void (*get_public_alias)(PurpleConnection *gc,
30195
c292bad63d91 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30138
diff changeset
652 PurpleGetPublicAliasSuccessCallback success_cb,
c292bad63d91 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30138
diff changeset
653 PurpleGetPublicAliasFailureCallback failure_cb);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5148
diff changeset
654 };
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2232
diff changeset
655
23276
f4944cfaa1ff Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23272
diff changeset
656 #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
32316
21dab55b4699 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32315
diff changeset
657 (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size && \
23276
f4944cfaa1ff Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23272
diff changeset
658 prpl->member != NULL)
f4944cfaa1ff Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23272
diff changeset
659
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
660 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
661
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
662 /**************************************************************************/
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
663 /** @name Attention Type API */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
664 /**************************************************************************/
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
665 /*@{*/
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
666
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
667 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
668 * Creates a new #PurpleAttentionType object and sets its mandatory parameters.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
669 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
670 * @param ulname A non-localized string that can be used by UIs in need of such
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
671 * non-localized strings. This should be the same as @a name,
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
672 * without localization.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
673 * @param name A localized string that the UI may display for the event. This
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
674 * should be the same string as @a ulname, with localization.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
675 * @param inc_desc A localized description shown when the event is received.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
676 * @param out_desc A localized description shown when the event is sent.
32302
8d7ae15354e1 Hide PurpleAttentionType struct and remove attention @since tags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31597
diff changeset
677 *
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
678 * @return A pointer to the new object.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
679 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
680 PurpleAttentionType *purple_attention_type_new(const char *ulname, const char *name,
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
681 const char *inc_desc, const char *out_desc);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
682
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
683 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
684 * Sets the displayed name of the attention-demanding event.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
685 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
686 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
687 * @param name The localized name that will be displayed by UIs. This should be
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
688 * the same string given as the unlocalized name, but with
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
689 * localization.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
690 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
691 void purple_attention_type_set_name(PurpleAttentionType *type, const char *name);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
692
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
693 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
694 * Sets the description of the attention-demanding event shown in conversations
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
695 * when the event is received.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
696 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
697 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
698 * @param desc The localized description for incoming events.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
699 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
700 void purple_attention_type_set_incoming_desc(PurpleAttentionType *type, const char *desc);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
701
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
702 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
703 * Sets the description of the attention-demanding event shown in conversations
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
704 * when the event is sent.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
705 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
706 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
707 * @param desc The localized description for outgoing events.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
708 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
709 void purple_attention_type_set_outgoing_desc(PurpleAttentionType *type, const char *desc);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
710
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
711 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
712 * Sets the name of the icon to display for the attention event; this is optional.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
713 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
714 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
715 * @param name The icon's name.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
716 * @note Icons are optional for attention events.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
717 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
718 void purple_attention_type_set_icon_name(PurpleAttentionType *type, const char *name);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
719
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
720 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
721 * Sets the unlocalized name of the attention event; some UIs may need this,
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
722 * thus it is required.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
723 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
724 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
725 * @param ulname The unlocalized name. This should be the same string given as
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
726 * the localized name, but without localization.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
727 */
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
728 void purple_attention_type_set_unlocalized_name(PurpleAttentionType *type, const char *ulname);
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
729
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
730 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
731 * Get the attention type's name as displayed by the UI.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
732 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
733 * @param type The attention type.
32302
8d7ae15354e1 Hide PurpleAttentionType struct and remove attention @since tags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31597
diff changeset
734 *
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
735 * @return The name.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
736 */
22251
a7c65a128467 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22225
diff changeset
737 const char *purple_attention_type_get_name(const PurpleAttentionType *type);
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
738
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
739 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
740 * Get the attention type's description shown when the event is received.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
741 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
742 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
743 * @return The description.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
744 */
22251
a7c65a128467 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22225
diff changeset
745 const char *purple_attention_type_get_incoming_desc(const PurpleAttentionType *type);
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
746
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
747 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
748 * Get the attention type's description shown when the event is sent.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
749 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
750 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
751 * @return The description.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
752 */
22251
a7c65a128467 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22225
diff changeset
753 const char *purple_attention_type_get_outgoing_desc(const PurpleAttentionType *type);
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
754
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
755 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
756 * Get the attention type's icon name.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
757 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
758 * @param type The attention type.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
759 * @return The icon name or @c NULL if unset/empty.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
760 * @note Icons are optional for attention events.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
761 */
22251
a7c65a128467 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22225
diff changeset
762 const char *purple_attention_type_get_icon_name(const PurpleAttentionType *type);
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
763
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
764 /**
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
765 * Get the attention type's unlocalized name; this is useful for some UIs.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
766 *
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
767 * @param type The attention type
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
768 * @return The unlocalized name.
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
769 */
22251
a7c65a128467 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22225
diff changeset
770 const char *purple_attention_type_get_unlocalized_name(const PurpleAttentionType *type);
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
771
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
772 /*@}*/
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
773
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
774 /**************************************************************************/
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
775 /** @name Protocol Plugin API */
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
776 /**************************************************************************/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
777 /*@{*/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
778
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
779 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
780 * Notifies Purple that our account's idle state and time have changed.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
781 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
782 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
783 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
784 * @param account The account.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
785 * @param idle The user's idle state.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
786 * @param idle_time The user's idle time.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
787 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
788 void purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle,
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
789 time_t idle_time);
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
790
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
791 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
792 * Notifies Purple of our account's log-in time.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
793 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
794 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
795 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
796 * @param account The account the user is on.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
797 * @param login_time The user's log-in time.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
798 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
799 void purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time);
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
800
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
801 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
802 * Notifies Purple that our account's status has changed.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
803 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
804 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
805 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
806 * @param account The account the user is on.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
807 * @param status_id The status ID.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
808 * @param ... A NULL-terminated list of attribute IDs and values,
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
809 * beginning with the value for @a attr_id.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
810 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
811 void purple_prpl_got_account_status(PurpleAccount *account,
18243
c68ce32c3449 Add G_GNUC_NULL_TERMINATED to a few functions that expect a NULL terminated
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18092
diff changeset
812 const char *status_id, ...) G_GNUC_NULL_TERMINATED;
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
813
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
814 /**
26871
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
815 * Notifies Purple that our account's actions have changed. This is only
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
816 * called after the initial connection. Emits the account-actions-changed
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
817 * signal.
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
818 *
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
819 * This is meant to be called from protocol plugins.
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
820 *
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
821 * @param account The account.
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
822 *
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
823 * @see account-actions-changed
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
824 */
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
825 void purple_prpl_got_account_actions(PurpleAccount *account);
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
826
d62964222795 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
827 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
828 * Notifies Purple that a buddy's idle state and time have changed.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
829 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
830 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
831 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
832 * @param account The account the user is on.
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
833 * @param name The name of the buddy.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
834 * @param idle The user's idle state.
10860
8f600347b9e4 [gaim-migrate @ 12543]
Palmer Cox <enix@users.sourceforge.net>
parents: 10475
diff changeset
835 * @param idle_time The user's idle time. This is the time at
8f600347b9e4 [gaim-migrate @ 12543]
Palmer Cox <enix@users.sourceforge.net>
parents: 10475
diff changeset
836 * which the user became idle, in seconds since
25231
099746be0c86 Add a comment that 0 should be used when a buddies idle time is unknown
Mark Doliner <markdoliner@pidgin.im>
parents: 25105
diff changeset
837 * the epoch. If the PRPL does not know this value
099746be0c86 Add a comment that 0 should be used when a buddies idle time is unknown
Mark Doliner <markdoliner@pidgin.im>
parents: 25105
diff changeset
838 * then it should pass 0.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
839 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
840 void purple_prpl_got_user_idle(PurpleAccount *account, const char *name,
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
841 gboolean idle, time_t idle_time);
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
842
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
843 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
844 * Notifies Purple of a buddy's log-in time.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
845 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
846 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
847 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
848 * @param account The account the user is on.
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
849 * @param name The name of the buddy.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
850 * @param login_time The user's log-in time.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
851 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
852 void purple_prpl_got_user_login_time(PurpleAccount *account, const char *name,
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
853 time_t login_time);
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
854
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
855 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
856 * Notifies Purple that a buddy's status has been activated.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
857 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
858 * This is meant to be called from protocol plugins.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
859 *
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
860 * @param account The account the user is on.
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
861 * @param name The name of the buddy.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
862 * @param status_id The status ID.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
863 * @param ... A NULL-terminated list of attribute IDs and values,
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
864 * beginning with the value for @a attr_id.
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
865 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
866 void purple_prpl_got_user_status(PurpleAccount *account, const char *name,
18243
c68ce32c3449 Add G_GNUC_NULL_TERMINATED to a few functions that expect a NULL terminated
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18092
diff changeset
867 const char *status_id, ...) G_GNUC_NULL_TERMINATED;
15588
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
868
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
869 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
870 * Notifies libpurple that a buddy's status has been deactivated
15588
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
871 *
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
872 * This is meant to be called from protocol plugins.
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
873 *
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
874 * @param account The account the user is on.
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
875 * @param name The name of the buddy.
15588
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
876 * @param status_id The status ID.
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
877 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
878 void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name,
15588
e6e89a427ed5 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
879 const char *status_id);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 25231
diff changeset
880
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
881 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
882 * Informs the server that our account's status changed.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
883 *
10447
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10400
diff changeset
884 * @param account The account the user is on.
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10400
diff changeset
885 * @param old_status The previous status.
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10400
diff changeset
886 * @param new_status The status that was activated, or deactivated
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10400
diff changeset
887 * (in the case of independent statuses).
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
888 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
889 void purple_prpl_change_account_status(PurpleAccount *account,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
890 PurpleStatus *old_status,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
891 PurpleStatus *new_status);
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
892
10006
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
893 /**
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
894 * Retrieves the list of stock status types from a prpl.
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
895 *
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
896 * @param account The account the user is on.
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
897 * @param presence The presence for which we're going to get statuses
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
898 *
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
899 * @return List of statuses
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
900 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
901 GList *purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence);
10006
800a81666868 [gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents: 9999
diff changeset
902
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
903 /**
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
904 * Send an attention request message.
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
905 *
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
906 * @param gc The connection to send the message on.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
907 * @param who Whose attention to request.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
908 * @param type_code An index into the prpl's attention_types list determining the type
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
909 * of the attention request command to send. 0 if prpl only defines one
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
910 * (for example, Yahoo and MSN), but some protocols define more (MySpaceIM).
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
911 *
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
912 * Note that you can't send arbitrary PurpleAttentionType's, because there is
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
913 * only a fixed set of attention commands.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
914 */
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
915 void purple_prpl_send_attention(PurpleConnection *gc, const char *who, guint type_code);
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
916
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
917 /**
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
918 * Process an incoming attention message.
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
919 *
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
920 * @param gc The connection that received the attention message.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
921 * @param who Who requested your attention.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
922 * @param type_code An index into the prpl's attention_types list determining the type
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
923 * of the attention request command to send.
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
924 */
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
925 void purple_prpl_got_attention(PurpleConnection *gc, const char *who, guint type_code);
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
926
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
927 /**
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
928 * Process an incoming attention message in a chat.
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
929 *
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
930 * @param gc The connection that received the attention message.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
931 * @param id The chat id.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
932 * @param who Who requested your attention.
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
933 * @param type_code An index into the prpl's attention_types list determining the type
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
934 * of the attention request command to send.
23875
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
935 */
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
936 void purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code);
d7e5f66cbfc9 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
937
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
938 /**
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
939 * Determines if the contact supports the given media session type.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
940 *
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
941 * @param account The account the user is on.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
942 * @param who The name of the contact to check capabilities for.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
943 *
26316
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26186
diff changeset
944 * @return The media caps the contact supports.
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
945 */
26316
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26186
diff changeset
946 PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount *account,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26186
diff changeset
947 const char *who);
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
948
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
949 /**
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
950 * Initiates a media session with the given contact.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
951 *
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
952 * @param account The account the user is on.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
953 * @param who The name of the contact to start a session with.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
954 * @param type The type of media session to start.
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
955 *
26495
52846ebe1c7d Don't assume a PurpleMedia instance will be created immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26482
diff changeset
956 * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created)
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
957 */
26495
52846ebe1c7d Don't assume a PurpleMedia instance will be created immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26482
diff changeset
958 gboolean purple_prpl_initiate_media(PurpleAccount *account,
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
959 const char *who,
26108
8d0fd2f195aa Changed PurpleMediaStreamType to PurpleMediaSessionType.
Michael Ruprecht <maiku@pidgin.im>
parents: 26107
diff changeset
960 PurpleMediaSessionType type);
26099
2ba28e840a95 Convert serv_* media functions to purple_prpl_* functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 23740
diff changeset
961
29543
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
962 /**
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
963 * Signals that the prpl received capabilities for the given contact.
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
964 *
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
965 * This function is intended to be used only by prpls.
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
966 *
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
967 * @param account The account the user is on.
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
968 * @param who The name of the contact for which capabilities have been received.
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
969 */
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
970 void purple_prpl_got_media_caps(PurpleAccount *account, const char *who);
4e38799c741e Add the purple_media_got_media_caps function in order to signal when a prpl
Michael Ruprecht <maiku@pidgin.im>
parents: 27132
diff changeset
971
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
972 /** TODO A sanity check is needed
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
973 * Allocates and returns a new PurpleProtocolAction. Use this to add actions in
36493
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
974 * a list in the get_actions function of the protocol.
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
975 *
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
976 * @param label The description of the action to show to the user.
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
977 * @param callback The callback to call when the user selects this action.
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
978 */
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
979 PurpleProtocolAction *purple_protocol_action_new(const char* label,
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
980 PurpleProtocolActionCallback callback);
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
981
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
982 /** TODO A sanity check is needed
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
983 * Frees a PurpleProtocolAction
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
984 *
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
985 * @param action The PurpleProtocolAction to free.
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
986 */
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
987 void purple_protocol_action_free(PurpleProtocolAction *action);
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
988
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
989 /**************************************************************************/
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
990 /** @name Protocols API */
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
991 /**************************************************************************/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
992 /*@{*/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
993
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
994 /**
36423
22981e338804 Fixed documentation
Ankit Vani <a@nevitus.org>
parents: 36408
diff changeset
995 * Finds a protocol plugin info structure by ID.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
996 *
36423
22981e338804 Fixed documentation
Ankit Vani <a@nevitus.org>
parents: 36408
diff changeset
997 * @param id The protocol's ID.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
998 */
36361
9e68a23150cf Replaced purple_find_prpl() with purple_find_protocol_info().
Ankit Vani <a@nevitus.org>
parents: 36360
diff changeset
999 PurplePluginProtocolInfo *purple_find_protocol_info(const char *id);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1000
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1001 /** TODO A sanity check is needed
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1002 * Adds a protocol to the list of protocols.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1003 *
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1004 * @param prpl_info The protocol to add.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1005 *
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1006 * @return TRUE if the protocol was added, else FALSE.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1007 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1008 gboolean purple_protocols_add(PurplePluginProtocolInfo *prpl_info);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1009
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1010 /** TODO A sanity check is needed
36471
5272e3736c71 Mention that accounts will be disconnected on protocol's removal
Ankit Vani <a@nevitus.org>
parents: 36469
diff changeset
1011 * Removes a protocol from the list of protocols. This will disconnect all
36493
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
1012 * connected accounts using this protocol, and free the protocol's user splits
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
1013 * and protocol options.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1014 *
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1015 * @param prpl_info The protocol to remove.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1016 *
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1017 * @return TRUE if the protocol was removed, else FALSE.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1018 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1019 gboolean purple_protocols_remove(PurplePluginProtocolInfo *prpl_info);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1020
36378
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1021 /** TODO A sanity check is needed
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1022 * Returns a list of all loaded protocols.
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1023 *
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1024 * @constreturn A list of all loaded protocols.
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1025 */
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1026 GList *purple_protocols_get_all(void);
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
1027
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1028 /*@}*/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1029
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1030 /**************************************************************************/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1031 /** @name Protocols Subsytem API */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1032 /**************************************************************************/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1033 /*@{*/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1034
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1035 /**
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1036 * Initializes the protocols subsystem.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1037 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1038 void purple_protocols_init(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1039
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1040 /** TODO Make protocols use this handle, instead of plugins handle
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1041 * Returns the protocols subsystem handle.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1042 *
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1043 * @return The protocols subsystem handle.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1044 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1045 void *purple_protocols_get_handle(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1046
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1047 /**
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1048 * Uninitializes the protocols subsystem.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1049 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1050 void purple_protocols_uninit(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1051
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
1052 /*@}*/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
1053
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
1054 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
1055
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
1056 #endif /* _PRPL_H_ */

mercurial