Mercurial > pidgin
comparison src/server.c @ 94:9f6ce50ffb78
[gaim-migrate @ 104]
Woohoo, the landing of the plugins. Nearly everything necessary is here. The
only thing missing is that you can't load a plugin without signing on first
(at least, not without some trickery).
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sun, 09 Apr 2000 11:18:25 +0000 |
parents | bfdc427b936d |
children | a9aa982272f9 |
comparison
equal
deleted
inserted
replaced
93:5ca21b68eb29 | 94:9f6ce50ffb78 |
---|---|
81 | 81 |
82 time(&t); | 82 time(&t); |
83 | 83 |
84 gettimeofday(&lag_tv, NULL); | 84 gettimeofday(&lag_tv, NULL); |
85 if (!(general_options & OPT_GEN_SHOW_LAGMETER)) | 85 if (!(general_options & OPT_GEN_SHOW_LAGMETER)) |
86 serv_send_im(current_user->username, LAGOMETER_STR, 1); | 86 serv_send_im(current_user->username, LAGOMETER_STR, 0); |
87 | 87 |
88 if (report_idle != IDLE_GAIM) | 88 if (report_idle != IDLE_GAIM) |
89 return TRUE; | 89 return TRUE; |
90 | 90 |
91 | 91 |
135 | 135 |
136 | 136 |
137 void serv_send_im(char *name, char *message, int away) | 137 void serv_send_im(char *name, char *message, int away) |
138 { | 138 { |
139 char buf[MSG_LEN - 7]; | 139 char buf[MSG_LEN - 7]; |
140 | |
141 #ifdef GAIM_PLUGINS | |
142 GList *c = callbacks; | |
143 struct gaim_callback *g; | |
144 void (*function)(char **, char **, void *); | |
145 while (c) { | |
146 g = (struct gaim_callback *)c->data; | |
147 if (g->event == event_im_send && g->function != NULL) { | |
148 function = g->function; | |
149 /* I can guarantee you this is wrong */ | |
150 (*function)(&name, &message, g->data); | |
151 } | |
152 c = c->next; | |
153 } | |
154 /* make sure no evil plugin is trying to crash gaim */ | |
155 if (message == NULL) | |
156 return; | |
157 #endif | |
158 | |
140 #ifndef USE_OSCAR | 159 #ifndef USE_OSCAR |
141 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | 160 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), |
142 message, ((away) ? " auto" : "")); | 161 message, ((away) ? " auto" : "")); |
143 sflap_send(buf, strlen(buf), TYPE_DATA); | 162 sflap_send(buf, strlen(buf), TYPE_DATA); |
144 #else | 163 #else |
145 aim_send_im(NULL, normalize(name), ((away) ? AIM_IMFLAGS_AWAY : 0), message); | 164 aim_send_im(NULL, normalize(name), ((away) ? 0 : AIM_IMFLAGS_AWAY), message); |
146 #endif | 165 #endif |
147 if (!away) | 166 if (!away) |
148 serv_touch_idle(); | 167 serv_touch_idle(); |
149 } | 168 } |
150 | 169 |
448 { | 467 { |
449 struct conversation *cnv; | 468 struct conversation *cnv; |
450 int is_idle = -1; | 469 int is_idle = -1; |
451 int new_conv = 0; | 470 int new_conv = 0; |
452 char *nname; | 471 char *nname; |
472 | |
473 #ifdef GAIM_PLUGINS | |
474 GList *c = callbacks; | |
475 struct gaim_callback *g; | |
476 void (*function)(char **, char **, void *); | |
477 while (c) { | |
478 g = (struct gaim_callback *)c->data; | |
479 if (g->event == event_im_recv && g->function != NULL) { | |
480 function = g->function; | |
481 /* I can guarantee you this is wrong */ | |
482 (*function)(&name, &message, g->data); | |
483 } | |
484 c = c->next; | |
485 } | |
486 /* make sure no evil plugin is trying to crash gaim */ | |
487 if (message == NULL) | |
488 return; | |
489 #endif | |
453 | 490 |
454 nname = g_strdup(normalize(name)); | 491 nname = g_strdup(normalize(name)); |
455 | 492 |
456 if (!strcasecmp(normalize(name), nname)) { | 493 if (!strcasecmp(normalize(name), nname)) { |
457 if (!(general_options & OPT_GEN_SHOW_LAGMETER)) | 494 if (!(general_options & OPT_GEN_SHOW_LAGMETER)) |