Mercurial > pidgin
comparison src/server.c @ 834:bac7089491c1
[gaim-migrate @ 844]
redesigned chat page a bit, and fixed some libfaim stuff. oh, and made some FIXME's more informative.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Sat, 02 Sep 2000 12:46:05 +0000 |
| parents | 97f1ae636ed7 |
| children | 38ffd1faa31a |
comparison
equal
deleted
inserted
replaced
| 833:8d8ef8c3afe2 | 834:bac7089491c1 |
|---|---|
| 35 #include "gaim.h" | 35 #include "gaim.h" |
| 36 | 36 |
| 37 static int idle_timer = -1; | 37 static int idle_timer = -1; |
| 38 static time_t lastsent = 0; | 38 static time_t lastsent = 0; |
| 39 static time_t login_time = 0; | 39 static time_t login_time = 0; |
| 40 static struct timeval lag_tv; | |
| 41 static int is_idle = 0; | 40 static int is_idle = 0; |
| 42 | 41 |
| 43 int correction_time = 0; | 42 int correction_time = 0; |
| 44 | 43 |
| 45 int serv_login(char *username, char *password) | 44 int serv_login(char *username, char *password) |
| 82 time_t t; | 81 time_t t; |
| 83 | 82 |
| 84 /* Not idle, really... :) */ | 83 /* Not idle, really... :) */ |
| 85 update_all_buddies(); | 84 update_all_buddies(); |
| 86 | 85 |
| 86 plugin_event(event_blist_update, 0, 0, 0); | |
| 87 | |
| 87 time(&t); | 88 time(&t); |
| 88 | |
| 89 gettimeofday(&lag_tv, NULL); | |
| 90 | 89 |
| 91 if (report_idle != IDLE_GAIM) | 90 if (report_idle != IDLE_GAIM) |
| 92 return TRUE; | 91 return TRUE; |
| 93 | 92 |
| 94 | 93 |
| 98 if ((t - lastsent) > 600) { /* 15 minutes! */ | 97 if ((t - lastsent) > 600) { /* 15 minutes! */ |
| 99 serv_set_idle((int)t - lastsent); | 98 serv_set_idle((int)t - lastsent); |
| 100 is_idle = 1; | 99 is_idle = 1; |
| 101 } | 100 } |
| 102 | 101 |
| 103 plugin_event(event_blist_update, 0, 0, 0); | |
| 104 | |
| 105 return TRUE; | 102 return TRUE; |
| 106 | 103 |
| 107 } | 104 } |
| 108 | 105 |
| 109 | 106 |
| 141 void serv_send_im(char *name, char *message, int away) | 138 void serv_send_im(char *name, char *message, int away) |
| 142 { | 139 { |
| 143 struct conversation *cnv = find_conversation(name); | 140 struct conversation *cnv = find_conversation(name); |
| 144 if (cnv && cnv->is_direct) { | 141 if (cnv && cnv->is_direct) { |
| 145 if (!USE_OSCAR) { | 142 if (!USE_OSCAR) { |
| 146 /* FIXME */ | 143 /* Direct IM TOC FIXME */ |
| 147 } else { | 144 } else { |
| 148 sprintf(debug_buff, "Sending DirectIM to %s\n", name); | 145 sprintf(debug_buff, "Sending DirectIM to %s\n", name); |
| 149 debug_print(debug_buff); | 146 debug_print(debug_buff); |
| 150 aim_send_im_direct(gaim_sess, cnv->conn, message); | 147 aim_send_im_direct(gaim_sess, cnv->conn, message); |
| 151 } | 148 } |
| 262 char *buf = g_malloc(BUF_LONG); | 259 char *buf = g_malloc(BUF_LONG); |
| 263 g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); | 260 g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); |
| 264 sflap_send(buf, strlen(buf), TYPE_DATA); | 261 sflap_send(buf, strlen(buf), TYPE_DATA); |
| 265 g_free(buf); | 262 g_free(buf); |
| 266 } else { | 263 } else { |
| 267 /* FIXME */ | 264 /* Oscar change_passwd FIXME */ |
| 268 } | 265 } |
| 269 } | 266 } |
| 270 | 267 |
| 271 void serv_add_buddy(char *name) | 268 void serv_add_buddy(char *name) |
| 272 { | 269 { |
| 563 | 560 |
| 564 c = find_oscar_chat(b->name); | 561 c = find_oscar_chat(b->name); |
| 565 if (c != NULL) { | 562 if (c != NULL) { |
| 566 oscar_chats = g_list_remove(oscar_chats, c); | 563 oscar_chats = g_list_remove(oscar_chats, c); |
| 567 gdk_input_remove(c->inpa); | 564 gdk_input_remove(c->inpa); |
| 568 aim_conn_kill(gaim_sess, &c->conn); | 565 if (gaim_sess) |
| 566 aim_conn_kill(gaim_sess, &c->conn); | |
| 569 g_free(c->name); | 567 g_free(c->name); |
| 570 g_free(c); | 568 g_free(c); |
| 571 } | 569 } |
| 572 /* we do this because with Oscar it doesn't tell us we left */ | 570 /* we do this because with Oscar it doesn't tell us we left */ |
| 573 serv_got_chat_left(b->id); | 571 serv_got_chat_left(b->id); |
| 1013 void serv_do_imimage(GtkWidget *w, char *name) { | 1011 void serv_do_imimage(GtkWidget *w, char *name) { |
| 1014 struct conversation *cnv = find_conversation(name); | 1012 struct conversation *cnv = find_conversation(name); |
| 1015 if (!cnv) cnv = new_conversation(name); | 1013 if (!cnv) cnv = new_conversation(name); |
| 1016 | 1014 |
| 1017 if (!USE_OSCAR) { | 1015 if (!USE_OSCAR) { |
| 1018 /* FIXME */ | 1016 /* Direct IM TOC FIXME */ |
| 1019 } else { | 1017 } else { |
| 1020 oscar_do_directim(name); | 1018 oscar_do_directim(name); |
| 1021 } | 1019 } |
| 1022 } | 1020 } |
| 1023 | 1021 |
| 1024 void serv_got_imimage(char *name, char *cookie, char *ip, struct aim_conn_t *conn, int watcher) | 1022 void serv_got_imimage(char *name, char *cookie, char *ip, struct aim_conn_t *conn, int watcher) |
| 1025 { | 1023 { |
| 1026 if (!USE_OSCAR) { | 1024 if (!USE_OSCAR) { |
| 1027 /* FIXME */ | 1025 /* Direct IM TOC FIXME */ |
| 1028 } else { | 1026 } else { |
| 1029 struct conversation *cnv = find_conversation(name); | 1027 struct conversation *cnv = find_conversation(name); |
| 1030 if (!cnv) cnv = new_conversation(name); | 1028 if (!cnv) cnv = new_conversation(name); |
| 1031 make_direct(cnv, TRUE, conn, watcher); | 1029 make_direct(cnv, TRUE, conn, watcher); |
| 1032 } | 1030 } |
