Mercurial > pidgin.yaz
comparison src/protocols/oscar/peer.c @ 14089:10e8eb6a4910
[gaim-migrate @ 16712]
Pretty large commit here. Basically I got sick of having to verify
that gc is still valid on all the callback functions for
gaim_proxy_connect(). The fix for this for gaim_proxy_connect() to
return something that allows the connection attempt to be canceled.
It's not quite there yet, but this is a good first step. I changed
gaim_proxy_connect() to return a reference to a new
GaimProxyConnectInfo (this used to be called PHB). Eventually this
can be passed to a function that'll cancel the connection attempt.
I also decided to add an error_cb instead of using connect_cb and
passing a file descriptor of -1. And proxy.c will also pass an
error message to callers which should explain the reason that the
connection attempt failed.
Oh, and proxy.c now never calls gaim_connection_error()
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 12 Aug 2006 10:12:43 +0000 |
parents | 6fc412e59214 |
children | b0566d50291f |
comparison
equal
deleted
inserted
replaced
14088:223570831b0b | 14089:10e8eb6a4910 |
---|---|
468 /** | 468 /** |
469 * We tried to make an outgoing connection to a remote user. It | 469 * We tried to make an outgoing connection to a remote user. It |
470 * either connected or failed to connect. | 470 * either connected or failed to connect. |
471 */ | 471 */ |
472 static void | 472 static void |
473 peer_connection_established_cb(gpointer data, gint source, GaimInputCondition cond) | 473 peer_connection_established_cb(gpointer data, gint source) |
474 { | 474 { |
475 NewPeerConnectionData *new_conn_data; | 475 NewPeerConnectionData *new_conn_data; |
476 GaimConnection *gc; | 476 GaimConnection *gc; |
477 PeerConnection *conn; | 477 PeerConnection *conn; |
478 | 478 |
666 GAIM_MESSAGE_SYSTEM, time(NULL)); | 666 GAIM_MESSAGE_SYSTEM, time(NULL)); |
667 g_free(tmp); | 667 g_free(tmp); |
668 } | 668 } |
669 | 669 |
670 if (gaim_proxy_connect(account, conn->verifiedip, conn->port, | 670 if (gaim_proxy_connect(account, conn->verifiedip, conn->port, |
671 peer_connection_established_cb, new_conn_data) == 0) | 671 peer_connection_established_cb, NULL, new_conn_data) != NULL) |
672 { | 672 { |
673 /* Connecting... */ | 673 /* Connecting... */ |
674 return; | 674 return; |
675 } | 675 } |
676 } | 676 } |
697 GAIM_MESSAGE_SYSTEM, time(NULL)); | 697 GAIM_MESSAGE_SYSTEM, time(NULL)); |
698 g_free(tmp); | 698 g_free(tmp); |
699 } | 699 } |
700 | 700 |
701 if (gaim_proxy_connect(account, conn->clientip, conn->port, | 701 if (gaim_proxy_connect(account, conn->clientip, conn->port, |
702 peer_connection_established_cb, new_conn_data) == 0) | 702 peer_connection_established_cb, NULL, new_conn_data) != NULL) |
703 { | 703 { |
704 /* Connecting... */ | 704 /* Connecting... */ |
705 return; | 705 return; |
706 } | 706 } |
707 } | 707 } |
758 } | 758 } |
759 | 759 |
760 if (gaim_proxy_connect(account, | 760 if (gaim_proxy_connect(account, |
761 (conn->proxyip != NULL) ? conn->proxyip : PEER_PROXY_SERVER, | 761 (conn->proxyip != NULL) ? conn->proxyip : PEER_PROXY_SERVER, |
762 PEER_PROXY_PORT, | 762 PEER_PROXY_PORT, |
763 peer_proxy_connection_established_cb, new_conn_data) == 0) | 763 peer_proxy_connection_established_cb, NULL, new_conn_data) != NULL) |
764 { | 764 { |
765 /* Connecting... */ | 765 /* Connecting... */ |
766 return; | 766 return; |
767 } | 767 } |
768 } | 768 } |