| 164 /************************************************************************** |
164 /************************************************************************** |
| 165 * Connect |
165 * Connect |
| 166 **************************************************************************/ |
166 **************************************************************************/ |
| 167 |
167 |
| 168 static void |
168 static void |
| 169 connect_cb(gpointer data, gint source, GaimInputCondition cond) |
169 connect_cb(gpointer data, gint source) |
| 170 { |
170 { |
| 171 MsnServConn *servconn = data; |
171 MsnServConn *servconn = data; |
| 172 |
172 |
| 173 servconn->processing = FALSE; |
173 servconn->processing = FALSE; |
| 174 |
174 |
| 197 |
197 |
| 198 gboolean |
198 gboolean |
| 199 msn_servconn_connect(MsnServConn *servconn, const char *host, int port) |
199 msn_servconn_connect(MsnServConn *servconn, const char *host, int port) |
| 200 { |
200 { |
| 201 MsnSession *session; |
201 MsnSession *session; |
| 202 int r; |
202 GaimProxyConnectInfo *connect_info; |
| 203 |
203 |
| 204 g_return_val_if_fail(servconn != NULL, FALSE); |
204 g_return_val_if_fail(servconn != NULL, FALSE); |
| 205 g_return_val_if_fail(host != NULL, FALSE); |
205 g_return_val_if_fail(host != NULL, FALSE); |
| 206 g_return_val_if_fail(port > 0, FALSE); |
206 g_return_val_if_fail(port > 0, FALSE); |
| 207 |
207 |
| 230 servconn->connect_cb(servconn); |
230 servconn->connect_cb(servconn); |
| 231 |
231 |
| 232 return TRUE; |
232 return TRUE; |
| 233 } |
233 } |
| 234 |
234 |
| 235 r = gaim_proxy_connect(session->account, host, port, connect_cb, |
235 connect_info = gaim_proxy_connect(session->account, host, port, |
| 236 servconn); |
236 connect_cb, NULL, servconn); |
| 237 |
237 |
| 238 if (r == 0) |
238 if (connect_info != NULL) |
| 239 { |
239 { |
| 240 servconn->processing = TRUE; |
240 servconn->processing = TRUE; |
| 241 return TRUE; |
241 return TRUE; |
| 242 } |
242 } |
| 243 else |
243 else |