Mercurial > pidgin.yaz
annotate src/core.h @ 4269:ff0642fab1d5
[gaim-migrate @ 4520]
Our cable was out again, so I was left doing dull stuff.
I changed the alias_buddy prpl function so that it takes the alias as well as
just the buddy name. It seemed silly not to pass the alias to a function
that changes the alias.
I added a call back for this prpl function in oscar.c. This has the effect
of, when you add/change/remove the alias of a buddy, it also changes the
alias in the server list.
I changed some normalize calls in oscar.c because I think it's better this
way. I could be wrong.
I added the ability to re-request authorization from contacts that have not
authorized you yet. Just right-click on those mofo's.
I shuffled some functions around. oscar.c is a little messy.
Our cable was out some today. Here's the message they have when you call
their customer support:
"All high speed data customers in the 919 and 252 area code may experience
flashing status lights on their cable modems with inability to access
online services at this time."
919 is basically all of Raleigh. I'm going to estimate at least 10,000
people with Time Warner cable. That's a lot of people. Time Warner
sucks. This is from a few hours today:
"15566 packets transmitted, 598 packets received, +8 duplicates, 96% packet loss"
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 09 Jan 2003 21:21:00 +0000 |
parents | a614423c648f |
children | cddb50734169 |
rev | line source |
---|---|
2417 | 1 /* |
2 * gaim | |
3 * | |
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
5 * | |
6 * This program is free software; you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 * | |
20 */ | |
21 | |
22 #ifndef _CORE_H_ | |
23 #define _CORE_H_ | |
24 | |
25 #ifdef HAVE_CONFIG_H | |
26 #include <config.h> | |
27 #endif | |
28 | |
3517 | 29 #include <sys/types.h> |
3370 | 30 #ifdef HAVE_ICONV |
3367 | 31 #include <iconv.h> |
3370 | 32 #endif |
33 | |
34 #ifdef HAVE_LANGINFO_CODESET | |
3367 | 35 #include <langinfo.h> |
3370 | 36 #endif |
37 | |
2417 | 38 #include <stdio.h> |
39 #include <time.h> | |
40 #include <glib.h> | |
41 #ifdef GAIM_PLUGINS | |
42 #include <gmodule.h> | |
43 #endif | |
44 | |
45 #include "multi.h" | |
46 | |
2501
227cc42ffa6e
[gaim-migrate @ 2514]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2447
diff
changeset
|
47 /* Really user states are controlled by the PRPLs now. We just use this for event_away */ |
227cc42ffa6e
[gaim-migrate @ 2514]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2447
diff
changeset
|
48 #define UC_UNAVAILABLE 1 |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
49 |
3205 | 50 /* This is far too long to be practical, but MSN users are probably used to long aliases */ |
51 #define SELF_ALIAS_LEN 400 | |
52 | |
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
53 struct aim_user { |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
54 char username[64]; |
3205 | 55 char alias[SELF_ALIAS_LEN]; |
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
56 char password[32]; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
57 char user_info[2048]; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
58 int options; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
59 int protocol; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
60 /* prpls can use this to save information about the user, |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
61 * like which server to connect to, etc */ |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
62 char proto_opt[7][256]; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
63 |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
64 /* buddy icon file */ |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
65 char iconfile[256]; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
66 |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
67 struct gaim_connection *gc; |
3510 | 68 gboolean connecting; |
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
69 }; |
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2440
diff
changeset
|
70 |
2417 | 71 enum gaim_event { |
72 event_signon = 0, | |
73 event_signoff, | |
74 event_away, | |
75 event_back, | |
76 event_im_recv, | |
77 event_im_send, | |
78 event_buddy_signon, | |
79 event_buddy_signoff, | |
80 event_buddy_away, | |
81 event_buddy_back, | |
82 event_buddy_idle, | |
83 event_buddy_unidle, | |
84 event_blist_update, | |
85 event_chat_invited, | |
86 event_chat_join, | |
87 event_chat_leave, | |
88 event_chat_buddy_join, | |
89 event_chat_buddy_leave, | |
90 event_chat_recv, | |
91 event_chat_send, | |
92 event_warned, | |
93 event_error, | |
94 event_quit, | |
95 event_new_conversation, | |
96 event_set_info, | |
97 event_draw_menu, | |
98 event_im_displayed_sent, | |
99 event_im_displayed_rcvd, | |
100 event_chat_send_invite, | |
2993 | 101 event_got_typing, |
3461 | 102 event_del_conversation, |
3510 | 103 event_connecting, |
2417 | 104 /* any others? it's easy to add... */ |
105 }; | |
106 | |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
107 struct UI { |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
108 GIOChannel *channel; |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
109 guint inpa; |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
110 }; |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
111 |
3551 | 112 #define USE_PLUGINS GAIM_PLUGINS || USE_PERL |
113 #define PLUGIN_API_VERSION 1 | |
114 enum gaim_plugin_type { | |
115 perl_script, | |
116 plugin | |
117 }; | |
118 | |
119 struct gaim_plugin_description { | |
120 int api_version; | |
121 gchar *name; | |
122 gchar *version; | |
123 gchar *description; | |
124 gchar *authors; | |
125 gchar *url; | |
126 gchar *iconfile; | |
127 }; | |
2417 | 128 |
129 struct gaim_plugin { | |
3551 | 130 enum gaim_plugin_type type; |
131 void *handle; | |
132 gchar path[128]; | |
133 struct gaim_plugin_description desc; | |
3563 | 134 gchar error[128]; |
3565 | 135 void *iter; |
2417 | 136 }; |
137 | |
3551 | 138 #ifdef GAIM_PLUGINS |
2417 | 139 struct gaim_callback { |
140 GModule *handle; | |
141 enum gaim_event event; | |
142 void *function; | |
143 void *data; | |
144 }; | |
145 #endif | |
146 | |
3136 | 147 #define BUDDY_ALIAS_MAXLEN 388 /* because MSN names can be 387 characters */ |
148 | |
2417 | 149 struct buddy { |
2438
5cbe86a444d9
[gaim-migrate @ 2451]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2435
diff
changeset
|
150 int edittype; /* XXX CUI: this is really a GUI function and we need to put this in ui.h */ |
2417 | 151 char name[80]; |
4227 | 152 char alias[BUDDY_ALIAS_MAXLEN]; |
153 char server_alias[BUDDY_ALIAS_MAXLEN]; | |
154 int present; | |
2417 | 155 int evil; |
156 time_t signon; | |
157 time_t idle; | |
158 int uc; | |
2920 | 159 guint caps; /* woohoo! */ |
2417 | 160 void *proto_data; /* what a hack */ |
161 struct gaim_connection *gc; /* the connection it belongs to */ | |
162 }; | |
163 | |
164 struct group { | |
2438
5cbe86a444d9
[gaim-migrate @ 2451]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2435
diff
changeset
|
165 int edittype; /* XXX CUI: this is really a GUI function and we need to put this in ui.h */ |
2417 | 166 char name[80]; |
167 GSList *members; | |
168 struct gaim_connection *gc; /* the connection it belongs to */ | |
169 }; | |
170 | |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
171 /* Globals in core.c */ |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
172 extern GSList *uis; |
3484 | 173 extern int gaim_session; |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
174 |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
175 /* Globals in plugins.c */ |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
176 extern GList *plugins; |
3551 | 177 extern GList *probed_plugins; |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
178 extern GList *callbacks; |
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
179 |
2417 | 180 /* Functions in buddy.c */ |
3466 | 181 extern struct buddy *find_buddy(struct gaim_connection *, const char *); |
182 extern struct group *find_group(struct gaim_connection *, const char *); | |
183 extern struct group *find_group_by_buddy(struct gaim_connection *, const char *); | |
184 extern struct buddy *add_buddy(struct gaim_connection *, const char *, const char *, const char *); | |
2417 | 185 extern void remove_buddy(struct gaim_connection *, struct group *, struct buddy *); |
3466 | 186 extern struct group *add_group(struct gaim_connection *, const char *); |
2417 | 187 extern void remove_group(struct gaim_connection *, struct group *); |
188 extern void do_export(struct gaim_connection *); | |
3466 | 189 extern void do_import(struct gaim_connection *, const char *); |
2417 | 190 extern int bud_list_cache_exists(struct gaim_connection *); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
191 extern void toc_build_config(struct gaim_connection *, char *, int len, gboolean); |
2526
413a81136e3a
[gaim-migrate @ 2539]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2511
diff
changeset
|
192 extern void parse_toc_buddy_list(struct gaim_connection *, char *); |
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2526
diff
changeset
|
193 extern void signoff_blocked(struct gaim_connection *); |
4227 | 194 extern char* get_buddy_alias_only(struct buddy *); |
195 extern char* get_buddy_alias(struct buddy *); | |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
196 |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
197 /* Functions in core.c */ |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
198 extern gint UI_write(struct UI *, guchar *, int); |
2447
6bdeb91abe4e
[gaim-migrate @ 2460]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2443
diff
changeset
|
199 extern void UI_build_write(struct UI *, guchar, guchar, ...); |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
200 extern void UI_broadcast(guchar *data, int); |
2447
6bdeb91abe4e
[gaim-migrate @ 2460]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2443
diff
changeset
|
201 extern void UI_build_broadcast(guchar, guchar, ...); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
202 /* Don't ever use these; when gaim-core is done these will be |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
203 * merged into the core's main() and won't be called directly */ |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
204 extern int core_main(); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
205 extern void core_quit(); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
206 |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
207 /* Functions in gaimrc.c */ |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
208 extern void load_prefs(); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
209 extern void save_prefs(); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
210 |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
211 /* Functions in perl.c */ |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
212 #ifdef USE_PERL |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
213 extern void perl_end(); |
3517 | 214 extern int perl_event(enum gaim_event, void *, void *, void *, void *, void *); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
215 extern int perl_load_file(char *); |
3551 | 216 extern void perl_unload_file(struct gaim_plugin *); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
217 extern void unload_perl_scripts(); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
218 extern void list_perl_scripts(); |
3551 | 219 extern struct gaim_plugin *probe_perl(const char *); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
220 #endif |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
221 |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
222 /* Functions in plugins.c */ |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
223 #ifdef GAIM_PLUGINS |
3466 | 224 extern struct gaim_plugin *load_plugin(const char *); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
225 extern void unload_plugin(struct gaim_plugin *); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
226 extern struct gaim_plugin *reload_plugin(struct gaim_plugin *); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
227 extern void gaim_signal_connect(GModule *, enum gaim_event, void *, void *); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
228 extern void gaim_signal_disconnect(GModule *, enum gaim_event, void *); |
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
229 extern void gaim_plugin_unload(GModule *); |
2440
8306c042bac7
[gaim-migrate @ 2453]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
230 extern void remove_all_plugins(); |
2435
b4f2a53c0ee5
[gaim-migrate @ 2448]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
231 #endif |
3551 | 232 extern void gaim_probe_plugins(); |
3517 | 233 extern int plugin_event(enum gaim_event, ...); |
2511
a83b4a5ffcd6
[gaim-migrate @ 2524]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2501
diff
changeset
|
234 extern char *event_name(enum gaim_event); |
2417 | 235 |
236 /* Functions in server.c */ | |
2920 | 237 extern void serv_got_update(struct gaim_connection *, char *, int, int, time_t, time_t, int, guint); |
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2753
diff
changeset
|
238 extern void serv_got_im(struct gaim_connection *, char *, char *, guint32, time_t, gint); |
3768 | 239 extern void serv_got_typing(struct gaim_connection *, char *, int, int); |
2993 | 240 extern void serv_got_typing_stopped(struct gaim_connection *, char *); |
2417 | 241 extern void serv_got_eviled(struct gaim_connection *, char *, int); |
242 extern void serv_got_chat_invite(struct gaim_connection *, char *, char *, char *, GList *); | |
243 extern struct conversation *serv_got_joined_chat(struct gaim_connection *, int, char *); | |
244 extern void serv_got_chat_left(struct gaim_connection *, int); | |
245 extern void serv_got_chat_in(struct gaim_connection *, int, char *, int, char *, time_t); | |
4227 | 246 extern void serv_got_alias(struct gaim_connection *, char *, char *); |
2417 | 247 extern void serv_finish_login(); |
248 | |
249 #endif /* _CORE_H_ */ |