Mercurial > pidgin
diff src/server.c @ 2382:569ae9f2bb89
[gaim-migrate @ 2395]
big reorg of code. list.c contains 0 gtk.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Fri, 28 Sep 2001 07:46:36 +0000 |
| parents | 427ccd7dfdd2 |
| children | b4f2a53c0ee5 |
line wrap: on
line diff
--- a/src/server.c Fri Sep 28 05:17:16 2001 +0000 +++ b/src/server.c Fri Sep 28 07:46:36 2001 +0000 @@ -53,6 +53,26 @@ } } +static gboolean send_keepalive(gpointer d) +{ + struct gaim_connection *gc = d; + if (gc->prpl && gc->prpl->keepalive) + (*gc->prpl->keepalive)(gc); + return TRUE; +} + +static void update_keepalive(struct gaim_connection *gc, gboolean on) +{ + if (on && !gc->keepalive) { + debug_printf("allowing NOP\n"); + gc->keepalive = g_timeout_add(60000, send_keepalive, gc); + } else if (!on && gc->keepalive > 0) { + debug_printf("removing NOP\n"); + g_source_remove(gc->keepalive); + gc->keepalive = 0; + } +} + void serv_close(struct gaim_connection *gc) { while (gc->buddy_chats) { @@ -65,9 +85,7 @@ g_source_remove(gc->idle_timer); gc->idle_timer = 0; - if (gc->keepalive > 0) - g_source_remove(gc->keepalive); - gc->keepalive = 0; + update_keepalive(gc, FALSE); if (gc->prpl && gc->prpl->close) (*gc->prpl->close)(gc); @@ -914,22 +932,3 @@ chat_write(b, who, w, buf, mtime); g_free(buf); } - -void send_keepalive(gpointer d) -{ - struct gaim_connection *gc = (struct gaim_connection *)d; - if (gc->prpl && gc->prpl->keepalive) - (*gc->prpl->keepalive)(gc); -} - -void update_keepalive(struct gaim_connection *gc, gboolean on) -{ - if (on && !gc->keepalive && blist) { - debug_printf("allowing NOP\n"); - gc->keepalive = g_timeout_add(60000, send_keepalive, gc); - } else if (!on && gc->keepalive > 0) { - debug_printf("removing NOP\n"); - g_source_remove(gc->keepalive); - gc->keepalive = 0; - } -}
