Mercurial > pidgin
annotate src/prpl.h @ 8975:574393ccd705
[gaim-migrate @ 9749]
"
Cleans up some formatting oddnes in gtkblist.c, and somewhat standardizes
the way the dialogs are specified as to their being type hint DIALOG
windows. This still could use some more cleaning up, but that'd ideally
involve moving the Join a Chat, Add Buddy, and Add Chat dialogs to the
request api and that's more work then I cared to do right now." --deryni
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Wed, 19 May 2004 03:54:49 +0000 |
parents | 3e69753b555b |
children | b540c735a6ad |
rev | line source |
---|---|
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
1 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
2 * @file prpl.h Protocol Plugin functions |
5034
4691c5936c01
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
4966
diff
changeset
|
3 * @ingroup core |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
4 * |
981 | 5 * gaim |
6 * | |
8046 | 7 * Gaim is the legal property of its developers, whose names are too numerous |
8 * to list here. Please refer to the COPYRIGHT file distributed with this | |
9 * source distribution. | |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
10 * |
981 | 11 * This program is free software; you can redistribute it and/or modify |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation; either version 2 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * This program is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with this program; if not, write to the Free Software | |
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
24 */ | |
25 | |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2411
diff
changeset
|
26 /* this file should be all that prpls need to include. therefore, by including |
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2411
diff
changeset
|
27 * this file, they should get glib, proxy, gaim_connection, prpl, etc. */ |
981 | 28 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
29 #ifndef _GAIM_PRPL_H_ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
30 #define _GAIM_PRPL_H_ |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2411
diff
changeset
|
31 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
32 typedef struct _GaimPluginProtocolInfo GaimPluginProtocolInfo; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
33 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
34 /**************************************************************************/ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
35 /** @name Basic Protocol Information */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
36 /**************************************************************************/ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
37 /*@{*/ |
3572 | 38 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
39 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
40 * Protocol types and numbers. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
41 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
42 * Do not assume a new protocol number without talking to |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
43 * Rob Flynn or Sean Egan first! |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
44 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
45 typedef enum |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
46 { |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
47 GAIM_PROTO_TOC = 0, /**< AIM TOC protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
48 GAIM_PROTO_OSCAR, /**< AIM OSCAR protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
49 GAIM_PROTO_YAHOO, /**< Yahoo Messenger protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
50 GAIM_PROTO_ICQ, /**< Outdated ICQ protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
51 GAIM_PROTO_MSN, /**< MSN Messenger protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
52 GAIM_PROTO_IRC, /**< IRC protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
53 GAIM_PROTO_FTP, /**< FTP protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
54 GAIM_PROTO_VGATE, /**< VGATE protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
55 GAIM_PROTO_JABBER, /**< Jabber protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
56 GAIM_PROTO_NAPSTER, /**< Napster/OpenNAP protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
57 GAIM_PROTO_ZEPHYR, /**< MIT Zephyr protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
58 GAIM_PROTO_GADUGADU, /**< Gadu-Gadu protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
59 GAIM_PROTO_SAMETIME, /**< SameTime protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
60 GAIM_PROTO_TLEN, /**< TLEN protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
61 GAIM_PROTO_RVP, /**< RVP protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
62 GAIM_PROTO_BACKRUB, /**< Instant Massager protocol */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
63 GAIM_PROTO_MOO, /**< MOO protocol */ |
5730
99ae9bd8b5fa
[gaim-migrate @ 6154]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
64 GAIM_PROTO_ELVIN, /**< Elvin Protocol */ |
99ae9bd8b5fa
[gaim-migrate @ 6154]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
65 GAIM_PROTO_TREPIA, /**< Trepia IM protocol */ |
6370 | 66 GAIM_PROTO_BATTLENET, /**< Battle.NET protocol */ |
6418 | 67 GAIM_PROTO_SSCP, /**< SSCP (ConfMgr) protocol */ |
6821
636b5215552e
[gaim-migrate @ 7365]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6787
diff
changeset
|
68 GAIM_PROTO_BLOGGER, /**< Blogger xml-rpc protocol */ |
8680 | 69 /* If you add any more prpl numbers, then a curse will |
70 * be placed upon your keyboard the likes of which the | |
71 * world has never known. prpl numbers are no longer | |
72 * necessary. --Nathan | |
73 * */ | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
74 GAIM_PROTO_UNTAKEN /**< Untaken protocol number */ |
981 | 75 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
76 } GaimProtocol; |
2162
a464da684307
[gaim-migrate @ 2172]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
77 |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5842
diff
changeset
|
78 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
79 /** Default protocol plugin description */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
80 #define GAIM_PRPL_DESC(x) \ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
81 "Allows gaim to use the " (x) " protocol.\n\n" \ |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
82 "Now that you have loaded this protocol, use the " \ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
83 "Account Editor to add an account that uses this " \ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
84 "protocol. You can access the Account Editor from " \ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
85 "the \"Accounts\" button on the login window or " \ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
86 "in the \"Tools\" menu in the buddy list window." |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
87 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
88 /** Default protocol */ |
7956 | 89 #define GAIM_PROTO_DEFAULT "prpl-oscar" |
1878
75643b9f4261
[gaim-migrate @ 1888]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1815
diff
changeset
|
90 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
91 /*@}*/ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
92 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
93 /** |
6622 | 94 * Flags applicable to outgoing/incoming IMs from prpls. |
95 */ | |
96 typedef enum | |
97 { | |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
98 GAIM_CONV_IM_AUTO_RESP = 0x0001, /**< Auto response. */ |
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
99 GAIM_CONV_IM_IMAGES = 0x0002 /**< Contains images. */ |
8749
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8713
diff
changeset
|
100 |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
101 } GaimConvImFlags; |
6622 | 102 |
8573 | 103 #include "blist.h" |
104 #include "proxy.h" | |
105 #include "plugin.h" | |
106 | |
6622 | 107 /** |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
108 * Protocol options |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
109 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
110 * These should all be stuff that some plugins can do and others can't. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
111 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
112 typedef enum |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
113 { |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
114 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
115 * TOC and Oscar send HTML-encoded messages; |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
116 * most other protocols don't. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
117 */ |
4668
6e7196dcfd37
[gaim-migrate @ 4979]
Christian Hammond <chipx86@chipx86.com>
parents:
4596
diff
changeset
|
118 #if 0 |
6e7196dcfd37
[gaim-migrate @ 4979]
Christian Hammond <chipx86@chipx86.com>
parents:
4596
diff
changeset
|
119 #define OPT_PROTO_HTML 0x00000001 this should be per-connection */ |
6e7196dcfd37
[gaim-migrate @ 4979]
Christian Hammond <chipx86@chipx86.com>
parents:
4596
diff
changeset
|
120 #endif |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
121 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
122 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
123 * Synchronize the time between the local computer and the server. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
124 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
125 * TOC and Oscar have signon time, and the server's time needs |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
126 * to be adjusted to match your computer's time. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
127 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
128 * We wouldn't need this if everyone used NTP. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
129 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
130 OPT_PROTO_CORRECT_TIME = 0x00000002, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
131 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
132 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
133 * Use a unique name, not an alias, for chat rooms. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
134 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
135 * Jabber lets you choose what name you want for chat. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
136 * So it shouldn't be pulling the alias for when you're in chat; |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
137 * it gets annoying. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
138 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
139 OPT_PROTO_UNIQUE_CHATNAME = 0x00000004, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
140 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
141 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
142 * Chat rooms have topics. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
143 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
144 * IRC and Jabber support this. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
145 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
146 OPT_PROTO_CHAT_TOPIC = 0x00000008, |
1370
776bb4c6c0b8
[gaim-migrate @ 1380]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1355
diff
changeset
|
147 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
148 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
149 * Don't require passwords for sign-in. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
150 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
151 * Zephyr doesn't require passwords, so there's no need for |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
152 * a password prompt. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
153 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
154 OPT_PROTO_NO_PASSWORD = 0x00000010, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
155 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
156 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
157 * Notify on new mail. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
158 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
159 * MSN and Yahoo notify you when you have new mail. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
160 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
161 OPT_PROTO_MAIL_CHECK = 0x00000020, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
162 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
163 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
164 * Buddy icon support. |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
165 * |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
166 * Oscar and Jabber have buddy icons. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
167 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
168 OPT_PROTO_BUDDY_ICON = 0x00000040, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
169 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
170 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
171 * Images in IMs. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
172 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
173 * Oscar lets you send images in direct IMs. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
174 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
175 OPT_PROTO_IM_IMAGE = 0x00000080, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
176 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
177 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
178 * Allow passwords to be optional. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
179 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
180 * Passwords in IRC are optional, and are needed for certain |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
181 * functionality. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
182 */ |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
183 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000100, |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
184 |
5367 | 185 /** |
186 * Allows font size to be specified in sane point size | |
187 * | |
188 * Probably just Jabber and Y!M | |
189 */ | |
6063 | 190 OPT_PROTO_USE_POINTSIZE = 0x00000200 |
5367 | 191 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
192 } GaimProtocolOptions; |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
193 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
194 /** Custom away message. */ |
4596 | 195 #define GAIM_AWAY_CUSTOM _("Custom") |
1401
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1370
diff
changeset
|
196 |
8113 | 197 /** Some structs defined in roomlist.h */ |
198 struct _GaimRoomlist; | |
199 struct _GaimRoomlistRoom; | |
200 | |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
201 /** |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
202 * A protocol plugin information structure. |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
203 * |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
204 * Every protocol plugin initializes this structure. It is the gateway |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
205 * between gaim and the protocol plugin. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
206 */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
207 struct _GaimPluginProtocolInfo |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
208 { |
8749
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8713
diff
changeset
|
209 unsigned int api_version; /**< API version number. */ |
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8713
diff
changeset
|
210 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
211 GaimProtocolOptions options; /**< Protocol options. */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
212 |
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5573
diff
changeset
|
213 GList *user_splits; /* A GList of GaimAccountUserSplit */ |
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5573
diff
changeset
|
214 GList *protocol_options; /* A GList of GaimAccountOption */ |
981 | 215 |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
216 /** |
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
217 * Returns the base icon name for the given buddy and account. |
4687 | 218 * If buddy is NULL, it will return the name to use for the account's icon |
219 */ | |
6695 | 220 const char *(*list_icon)(GaimAccount *account, GaimBuddy *buddy); |
4687 | 221 |
222 /** | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
223 * Fills the four char**'s with string identifiers for "emblems" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
224 * that the UI will interpret and display as relevant |
4687 | 225 */ |
6695 | 226 void (*list_emblems)(GaimBuddy *buddy, char **se, char **sw, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
227 char **nw, char **ne); |
4722 | 228 |
229 /** | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
230 * Gets a short string representing this buddy's status. This will |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
231 * be shown on the buddy list. |
4722 | 232 */ |
6695 | 233 char *(*status_text)(GaimBuddy *buddy); |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
234 |
4724 | 235 /** |
236 * Gets a string to put in the buddy list tooltip. | |
237 */ | |
6695 | 238 char *(*tooltip_text)(GaimBuddy *buddy); |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
239 |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
240 GList *(*away_states)(GaimConnection *gc); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
241 GList *(*actions)(GaimConnection *gc); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
242 |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
243 GList *(*buddy_menu)(GaimConnection *, const char *); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
244 GList *(*chat_info)(GaimConnection *); |
1333
b332d8f46b84
[gaim-migrate @ 1343]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1318
diff
changeset
|
245 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
246 /* All the server-related functions */ |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
247 void (*login)(GaimAccount *); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
248 void (*close)(GaimConnection *); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
249 int (*send_im)(GaimConnection *, const char *who, |
6982 | 250 const char *message, |
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
251 GaimConvImFlags flags); |
5954 | 252 void (*set_info)(GaimConnection *, const char *info); |
6059 | 253 int (*send_typing)(GaimConnection *, const char *name, int typing); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
254 void (*get_info)(GaimConnection *, const char *who); |
6059 | 255 void (*set_away)(GaimConnection *, const char *state, const char *message); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
256 void (*set_idle)(GaimConnection *, int idletime); |
5946
209cae24a51d
[gaim-migrate @ 6387]
Christian Hammond <chipx86@chipx86.com>
parents:
5944
diff
changeset
|
257 void (*change_passwd)(GaimConnection *, const char *old_pass, |
209cae24a51d
[gaim-migrate @ 6387]
Christian Hammond <chipx86@chipx86.com>
parents:
5944
diff
changeset
|
258 const char *new_pass); |
6787
faa491042c66
[gaim-migrate @ 7326]
Christian Hammond <chipx86@chipx86.com>
parents:
6735
diff
changeset
|
259 void (*add_buddy)(GaimConnection *, const char *name, GaimGroup *group); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
260 void (*add_buddies)(GaimConnection *, GList *buddies); |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
261 void (*remove_buddy)(GaimConnection *, const char *name, |
6059 | 262 const char *group); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
263 void (*remove_buddies)(GaimConnection *, GList *buddies, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
264 const char *group); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
265 void (*add_permit)(GaimConnection *, const char *name); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
266 void (*add_deny)(GaimConnection *, const char *name); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
267 void (*rem_permit)(GaimConnection *, const char *name); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
268 void (*rem_deny)(GaimConnection *, const char *name); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
269 void (*set_permit_deny)(GaimConnection *); |
6059 | 270 void (*warn)(GaimConnection *, const char *who, int anonymous); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
271 void (*join_chat)(GaimConnection *, GHashTable *components); |
8562 | 272 void (*reject_chat)(GaimConnection *, GHashTable *components); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
273 void (*chat_invite)(GaimConnection *, int id, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
274 const char *who, const char *message); |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
275 void (*chat_leave)(GaimConnection *, int id); |
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
276 void (*chat_whisper)(GaimConnection *, int id, |
6059 | 277 const char *who, const char *message); |
278 int (*chat_send)(GaimConnection *, int id, const char *message); | |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
279 void (*keepalive)(GaimConnection *); |
1713
14caa7df478c
[gaim-migrate @ 1723]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1626
diff
changeset
|
280 |
2827
51999a36c0b1
[gaim-migrate @ 2840]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2773
diff
changeset
|
281 /* new user registration */ |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
282 void (*register_user)(GaimAccount *); |
2956 | 283 |
284 /* get "chat buddy" info and away message */ | |
6059 | 285 void (*get_cb_info)(GaimConnection *, int, const char *who); |
286 void (*get_cb_away)(GaimConnection *, int, const char *who); | |
2827
51999a36c0b1
[gaim-migrate @ 2840]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2773
diff
changeset
|
287 |
3136 | 288 /* save/store buddy's alias on server list/roster */ |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
289 void (*alias_buddy)(GaimConnection *, const char *who, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
290 const char *alias); |
3136 | 291 |
292 /* change a buddy's group on a server list/roster */ | |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
293 void (*group_buddy)(GaimConnection *, const char *who, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
294 const char *old_group, const char *new_group); |
3136 | 295 |
3348 | 296 /* rename a group on a server list/roster */ |
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5538
diff
changeset
|
297 void (*rename_group)(GaimConnection *, const char *old_group, |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
298 const char *new_group, GList *members); |
3348 | 299 |
6695 | 300 void (*buddy_free)(GaimBuddy *); |
2607
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
301 |
6059 | 302 void (*convo_closed)(GaimConnection *, const char *who); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
303 |
7322 | 304 const char *(*normalize)(const GaimAccount *, const char *); |
6451
6f16136b41e5
[gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents:
6418
diff
changeset
|
305 |
5842 | 306 void (*set_buddy_icon)(GaimConnection *, const char *filename); |
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6846
diff
changeset
|
307 |
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6846
diff
changeset
|
308 void (*remove_group)(GaimConnection *gc, const char *group); |
7398 | 309 |
310 char *(*get_cb_real_name)(GaimConnection *gc, int id, const char *who); | |
7971 | 311 |
312 void (*set_chat_topic)(GaimConnection *gc, int id, const char *topic); | |
7999 | 313 |
314 GaimChat *(*find_blist_chat)(GaimAccount *account, const char *name); | |
8113 | 315 |
316 /* room listing prpl callbacks */ | |
317 struct _GaimRoomlist *(*roomlist_get_list)(GaimConnection *gc); | |
318 void (*roomlist_cancel)(struct _GaimRoomlist *list); | |
8584 | 319 void (*roomlist_expand_category)(struct _GaimRoomlist *list, struct _GaimRoomlistRoom *category); |
8170 | 320 |
8586 | 321 /* Chat specific menu in the buddy list */ |
322 GList *(*chat_menu)(GaimConnection *, GHashTable *); | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
323 }; |
2246
933346315b9b
[gaim-migrate @ 2256]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2232
diff
changeset
|
324 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
325 #define GAIM_IS_PROTOCOL_PLUGIN(plugin) \ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
326 ((plugin)->info->type == GAIM_PLUGIN_PROTOCOL) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
327 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
328 #define GAIM_PLUGIN_PROTOCOL_INFO(plugin) \ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
329 ((GaimPluginProtocolInfo *)(plugin)->info->extra_info) |
981 | 330 |
8951 | 331 #define GAIM_PRPL_API_VERSION 3 |
5944
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
332 |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
333 #ifdef __cplusplus |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
334 extern "C" { |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
335 #endif |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
336 |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
337 /** |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
338 * Returns the plugin ID for a protocol number. |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
339 * |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
340 * @param protocol The protocol number. |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
341 * |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
342 * @return The plugin ID for those numbers that support it. |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
343 */ |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
344 const char *gaim_prpl_num_to_id(GaimProtocol protocol); |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
345 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
346 /** |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
347 * Returns the plugin number for a protocol ID. |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
348 * |
6720
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
349 * @param id The protocol ID. |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
350 * |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
351 * @return The protocol ID for valid protocol plugin IDs. |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
352 */ |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
353 GaimProtocol gaim_prpl_id_to_num(const char *id); |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
354 |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
355 /** |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
356 * Finds a protocol plugin structure of the specified type. |
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
357 * |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5148
diff
changeset
|
358 * @param type The protocol plugin; |
4557
53ce3af93edb
[gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents:
4514
diff
changeset
|
359 */ |
7956 | 360 GaimPlugin *gaim_find_prpl(const char *id); |
981 | 361 |
5944
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
362 #ifdef __cplusplus |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
363 } |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
364 #endif |
158196b2db19
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
365 |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2411
diff
changeset
|
366 #endif /* _PRPL_H_ */ |