Mercurial > pidgin
comparison src/protocols/msn/servconn.c @ 14112:e149556f7569
[gaim-migrate @ 16746]
Alright, SVN gaim_proxy_connect()'s are good
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Aug 2006 07:00:26 +0000 |
parents | 7a205b430d19 |
children |
comparison
equal
deleted
inserted
replaced
14111:c44af67e2065 | 14112:e149556f7569 |
---|---|
164 /************************************************************************** | 164 /************************************************************************** |
165 * Connect | 165 * Connect |
166 **************************************************************************/ | 166 **************************************************************************/ |
167 | 167 |
168 static void | 168 static void |
169 connect_cb(gpointer data, gint source) | 169 connect_cb(gpointer data, gint source, const gchar *error_message) |
170 { | 170 { |
171 MsnServConn *servconn = data; | 171 MsnServConn *servconn; |
172 | 172 |
173 servconn = data; | |
174 servconn->connect_info = NULL; | |
173 servconn->processing = FALSE; | 175 servconn->processing = FALSE; |
174 | 176 |
175 if (servconn->wasted) | 177 if (servconn->wasted) |
176 { | 178 { |
177 msn_servconn_destroy(servconn); | 179 msn_servconn_destroy(servconn); |
197 | 199 |
198 gboolean | 200 gboolean |
199 msn_servconn_connect(MsnServConn *servconn, const char *host, int port) | 201 msn_servconn_connect(MsnServConn *servconn, const char *host, int port) |
200 { | 202 { |
201 MsnSession *session; | 203 MsnSession *session; |
202 GaimProxyConnectInfo *connect_info; | |
203 | 204 |
204 g_return_val_if_fail(servconn != NULL, FALSE); | 205 g_return_val_if_fail(servconn != NULL, FALSE); |
205 g_return_val_if_fail(host != NULL, FALSE); | 206 g_return_val_if_fail(host != NULL, FALSE); |
206 g_return_val_if_fail(port > 0, FALSE); | 207 g_return_val_if_fail(port > 0, FALSE); |
207 | 208 |
230 servconn->connect_cb(servconn); | 231 servconn->connect_cb(servconn); |
231 | 232 |
232 return TRUE; | 233 return TRUE; |
233 } | 234 } |
234 | 235 |
235 connect_info = gaim_proxy_connect(session->account, host, port, | 236 servconn->connect_info = gaim_proxy_connect(session->account, host, port, |
236 connect_cb, servconn); | 237 connect_cb, servconn); |
237 | 238 |
238 if (connect_info != NULL) | 239 if (servconn->connect_info != NULL) |
239 { | 240 { |
240 servconn->processing = TRUE; | 241 servconn->processing = TRUE; |
241 return TRUE; | 242 return TRUE; |
242 } | 243 } |
243 else | 244 else |
263 /* Fake disconnection. */ | 264 /* Fake disconnection. */ |
264 if (servconn->disconnect_cb != NULL) | 265 if (servconn->disconnect_cb != NULL) |
265 servconn->disconnect_cb(servconn); | 266 servconn->disconnect_cb(servconn); |
266 | 267 |
267 return; | 268 return; |
269 } | |
270 | |
271 if (servconn->connect_info != NULL) | |
272 { | |
273 gaim_proxy_connect_cancel(servconn->connect_info); | |
274 servconn->connect_info = NULL; | |
268 } | 275 } |
269 | 276 |
270 if (servconn->inpa > 0) | 277 if (servconn->inpa > 0) |
271 { | 278 { |
272 gaim_input_remove(servconn->inpa); | 279 gaim_input_remove(servconn->inpa); |