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);