Mercurial > pidgin.yaz
comparison src/prpl.h @ 9999:5d9c991549cd
[gaim-migrate @ 10913]
Cleanup on isle 7
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 09 Sep 2004 22:06:06 +0000 |
parents | ab5db2c5da79 |
children | 9baedaca25c7 |
comparison
equal
deleted
inserted
replaced
9998:887ade3fabf0 | 9999:5d9c991549cd |
---|---|
32 typedef struct _GaimPluginProtocolInfo GaimPluginProtocolInfo; | 32 typedef struct _GaimPluginProtocolInfo GaimPluginProtocolInfo; |
33 | 33 |
34 /**************************************************************************/ | 34 /**************************************************************************/ |
35 /** @name Basic Protocol Information */ | 35 /** @name Basic Protocol Information */ |
36 /**************************************************************************/ | 36 /**************************************************************************/ |
37 /*@{*/ | |
38 | |
39 /** Default protocol plugin description */ | |
40 #define GAIM_PRPL_DESC(x) \ | |
41 "Allows gaim to use the " (x) " protocol.\n\n" \ | |
42 "Now that you have loaded this protocol, use the " \ | |
43 "Account Editor to add an account that uses this " \ | |
44 "protocol. You can access the Account Editor from " \ | |
45 "the \"Accounts\" button on the login window or " \ | |
46 "in the \"Tools\" menu in the buddy list window." | |
47 | |
48 /*@}*/ | |
49 | 37 |
50 /** | 38 /** |
51 * Flags applicable to outgoing/incoming IMs from prpls. | 39 * Flags applicable to outgoing/incoming IMs from prpls. |
52 */ | 40 */ |
53 typedef enum | 41 typedef enum |
83 int max_width; /**< The maximum width of this icon */ | 71 int max_width; /**< The maximum width of this icon */ |
84 int max_height; /**< The maximum height of this icon */ | 72 int max_height; /**< The maximum height of this icon */ |
85 GaimIconScaleRules scale_rules; /**< How to stretch this icon */ | 73 GaimIconScaleRules scale_rules; /**< How to stretch this icon */ |
86 } GaimBuddyIconSpec; | 74 } GaimBuddyIconSpec; |
87 | 75 |
88 /* This #define exists just to make it easier to fill out the buddy icon field in he prpl info struct for protocols that couldn't care less. */ | 76 /** |
77 * This #define exists just to make it easier to fill out the buddy icon | |
78 * field in the prpl info struct for protocols that couldn't care less. | |
79 */ | |
89 #define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0} | 80 #define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0} |
90 | 81 |
91 #include "blist.h" | 82 #include "blist.h" |
92 #include "proxy.h" | 83 #include "proxy.h" |
93 #include "plugin.h" | 84 #include "plugin.h" |
85 #include "roomlist.h" | |
94 #include "status.h" | 86 #include "status.h" |
95 | 87 |
96 struct proto_chat_entry { | 88 struct proto_chat_entry { |
97 char *label; | 89 char *label; |
98 char *identifier; | 90 char *identifier; |
126 OPT_PROTO_CHAT_TOPIC = 0x00000008, | 118 OPT_PROTO_CHAT_TOPIC = 0x00000008, |
127 | 119 |
128 /** | 120 /** |
129 * Don't require passwords for sign-in. | 121 * Don't require passwords for sign-in. |
130 * | 122 * |
131 * Zephyr doesn't require passwords, so there's no need for | 123 * Zephyr doesn't require passwords, so there's no |
132 * a password prompt. | 124 * need for a password prompt. |
133 */ | 125 */ |
134 OPT_PROTO_NO_PASSWORD = 0x00000010, | 126 OPT_PROTO_NO_PASSWORD = 0x00000010, |
135 | 127 |
136 /** | 128 /** |
137 * Notify on new mail. | 129 * Notify on new mail. |
139 * MSN and Yahoo notify you when you have new mail. | 131 * MSN and Yahoo notify you when you have new mail. |
140 */ | 132 */ |
141 OPT_PROTO_MAIL_CHECK = 0x00000020, | 133 OPT_PROTO_MAIL_CHECK = 0x00000020, |
142 | 134 |
143 /** | 135 /** |
144 * Buddy icon support. | |
145 * | |
146 * Oscar and Jabber have buddy icons. | |
147 * | |
148 * *We'll do this a bit more sophisticated like, now. | |
149 * | |
150 * OPT_PROTO_BUDDY_ICON = 0x00000040, | |
151 */ | |
152 | |
153 /** | |
154 * Images in IMs. | 136 * Images in IMs. |
155 * | 137 * |
156 * Oscar lets you send images in direct IMs. | 138 * Oscar lets you send images in direct IMs. |
157 */ | 139 */ |
158 OPT_PROTO_IM_IMAGE = 0x00000080, | 140 OPT_PROTO_IM_IMAGE = 0x00000040, |
159 | 141 |
160 /** | 142 /** |
161 * Allow passwords to be optional. | 143 * Allow passwords to be optional. |
162 * | 144 * |
163 * Passwords in IRC are optional, and are needed for certain | 145 * Passwords in IRC are optional, and are needed for certain |
164 * functionality. | 146 * functionality. |
165 */ | 147 */ |
166 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000100, | 148 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080, |
167 | 149 |
168 /** | 150 /** |
169 * Allows font size to be specified in sane point size | 151 * Allows font size to be specified in sane point size |
170 * | 152 * |
171 * Probably just Jabber and Y!M | 153 * Probably just Jabber and Y!M |
172 */ | 154 */ |
173 OPT_PROTO_USE_POINTSIZE = 0x00000200 | 155 OPT_PROTO_USE_POINTSIZE = 0x00000100 |
174 | 156 |
175 } GaimProtocolOptions; | 157 } GaimProtocolOptions; |
176 | |
177 /** Some structs defined in roomlist.h */ | |
178 struct _GaimRoomlist; | |
179 struct _GaimRoomlistRoom; | |
180 | 158 |
181 /** | 159 /** |
182 * A protocol plugin information structure. | 160 * A protocol plugin information structure. |
183 * | 161 * |
184 * Every protocol plugin initializes this structure. It is the gateway | 162 * Every protocol plugin initializes this structure. It is the gateway |
292 void (*set_chat_topic)(GaimConnection *gc, int id, const char *topic); | 270 void (*set_chat_topic)(GaimConnection *gc, int id, const char *topic); |
293 | 271 |
294 GaimChat *(*find_blist_chat)(GaimAccount *account, const char *name); | 272 GaimChat *(*find_blist_chat)(GaimAccount *account, const char *name); |
295 | 273 |
296 /* room listing prpl callbacks */ | 274 /* room listing prpl callbacks */ |
297 struct _GaimRoomlist *(*roomlist_get_list)(GaimConnection *gc); | 275 GaimRoomlist *(*roomlist_get_list)(GaimConnection *gc); |
298 void (*roomlist_cancel)(struct _GaimRoomlist *list); | 276 void (*roomlist_cancel)(GaimRoomlist *list); |
299 void (*roomlist_expand_category)(struct _GaimRoomlist *list, struct _GaimRoomlistRoom *category); | 277 void (*roomlist_expand_category)(GaimRoomlist *list, GaimRoomlistRoom *category); |
300 | 278 |
301 /* file transfer callbacks */ | 279 /* file transfer callbacks */ |
302 gboolean (*can_receive_file)(GaimConnection *, const char *who); | 280 gboolean (*can_receive_file)(GaimConnection *, const char *who); |
303 void (*send_file)(GaimConnection *, const char *who, const char *filename); | 281 void (*send_file)(GaimConnection *, const char *who, const char *filename); |
304 }; | 282 }; |