Mercurial > pidgin
comparison src/prpl.h @ 3572:bdd0bebd2d04
[gaim-migrate @ 3670]
Phase II. No longer do you have to worry about protocol plugins. When
Gaim probes plugins on load, it will detect protocol plugins and add them
to the list of available protocols. When you try to log an account on with
one of them, Gaim will automatically load the plugin--when no more accounts
need the protocol--Gaim will automatically unload it. Protocol plugins are
no longer available in the plugins ui, and no protocols are compiled statically
by default.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Mon, 30 Sep 2002 01:05:18 +0000 |
parents | 7a3f16a375a5 |
children | 4faf84dfdda2 |
comparison
equal
deleted
inserted
replaced
3571:a88c62c5b7da | 3572:bdd0bebd2d04 |
---|---|
39 #define PROTO_VGATE 7 | 39 #define PROTO_VGATE 7 |
40 #define PROTO_JABBER 8 | 40 #define PROTO_JABBER 8 |
41 #define PROTO_NAPSTER 9 | 41 #define PROTO_NAPSTER 9 |
42 #define PROTO_ZEPHYR 10 | 42 #define PROTO_ZEPHYR 10 |
43 #define PROTO_GADUGADU 11 | 43 #define PROTO_GADUGADU 11 |
44 #define PROTO_UNTAKEN 17 | |
45 | |
44 /* DON'T TAKE AN UNASSIGNED NUMBER! Talk to Rob or Sean if you'd like | 46 /* DON'T TAKE AN UNASSIGNED NUMBER! Talk to Rob or Sean if you'd like |
45 * to create a new PRPL. */ | 47 * to create a new PRPL. */ |
46 | 48 |
47 #define PRPL_DESC(x) "Allows gaim to use the " x " protocol.\n\n" \ | 49 #define PRPL_DESC(x) "Allows gaim to use the " x " protocol.\n\n" \ |
48 "Now that you have loaded this protocol, use the " \ | 50 "Now that you have loaded this protocol, use the " \ |
84 }; | 86 }; |
85 | 87 |
86 struct prpl { | 88 struct prpl { |
87 int protocol; | 89 int protocol; |
88 int options; | 90 int options; |
89 char *(* name)(); | 91 struct gaim_plugin *plug; |
92 char *name; | |
90 | 93 |
91 /* for ICQ and Yahoo, who have off/on per-conversation options */ | 94 /* for ICQ and Yahoo, who have off/on per-conversation options */ |
92 /* char *checkbox; this should be per-connection */ | 95 /* char *checkbox; this should be per-connection */ |
93 | 96 |
94 /* returns the XPM associated with the given user class */ | 97 /* returns the XPM associated with the given user class */ |
95 char **(* list_icon)(int); | 98 char **(* list_icon)(int); |
96 GList *(* away_states)(struct gaim_connection *gc); | 99 GList *(* away_states)(struct gaim_connection *gc); |
97 GList *(* actions)(); | 100 GList *(* actions)(); |
98 void (* do_action)(struct gaim_connection *, char *); | 101 void (* do_action)(struct gaim_connection *, char *); |
99 /* user_opts returns a GList* of g_malloc'd struct proto_user_opts */ | 102 /* user_opts is a GList* of g_malloc'd struct proto_user_opts */ |
100 GList *(* user_opts)(); | 103 GList *user_opts; |
101 GList *(* buddy_menu)(struct gaim_connection *, char *); | 104 GList *(* buddy_menu)(struct gaim_connection *, char *); |
102 GList *(* edit_buddy_menu)(struct gaim_connection *, char *); | 105 GList *(* edit_buddy_menu)(struct gaim_connection *, char *); |
103 GList *(* chat_info)(struct gaim_connection *); | 106 GList *(* chat_info)(struct gaim_connection *); |
104 | 107 |
105 GSList *(* smiley_list)(); | 108 GSList *(* smiley_list)(); |
178 | 181 |
179 char *(* normalize)(const char *); | 182 char *(* normalize)(const char *); |
180 }; | 183 }; |
181 | 184 |
182 extern GSList *protocols; | 185 extern GSList *protocols; |
186 extern prpl_accounts[]; | |
183 | 187 |
184 /* this is mostly just for aim.c, when it initializes the protocols */ | 188 /* this is mostly just for aim.c, when it initializes the protocols */ |
185 extern void static_proto_init(); | 189 extern void static_proto_init(); |
186 | 190 |
187 /* this is what should actually load the protocol. pass it the protocol's initializer */ | 191 /* this is what should actually load the protocol. pass it the protocol's initializer */ |
188 extern void load_protocol(proto_init, int); | 192 extern gboolean load_prpl(struct prpl *); |
193 extern void load_protocol(proto_init); | |
189 extern void unload_protocol(struct prpl *); | 194 extern void unload_protocol(struct prpl *); |
195 extern gint proto_compare(struct prpl *, struct prpl *); | |
190 | 196 |
191 extern struct prpl *find_prpl(int); | 197 extern struct prpl *find_prpl(int); |
192 extern void do_proto_menu(); | 198 extern void do_proto_menu(); |
193 | 199 |
194 extern void show_got_added(struct gaim_connection *, const char *, | 200 extern void show_got_added(struct gaim_connection *, const char *, |