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 };