[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ayttm-commits] CVS: ayttm/modules/workwizu workwizu.c,1.33,1.34
From: |
Colin Leroy <address@hidden> |
Subject: |
[Ayttm-commits] CVS: ayttm/modules/workwizu workwizu.c,1.33,1.34 |
Date: |
Mon, 24 Mar 2003 08:44:54 -0500 |
Update of /cvsroot/ayttm/ayttm/modules/workwizu
In directory subversions:/tmp/cvs-serv32332/modules/workwizu
Modified Files:
workwizu.c
Log Message:
async connect for workwizu
Index: workwizu.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/workwizu/workwizu.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- workwizu.c 17 Mar 2003 14:44:55 -0000 1.33
+++ workwizu.c 24 Mar 2003 13:44:52 -0000 1.34
@@ -63,6 +63,7 @@
#include "plugin_api.h"
#include "smileys.h"
#include "globals.h"
+#include "tcp_util.h"
#include "pixmaps/workwizu_online.xpm"
#include "pixmaps/workwizu_away.xpm"
@@ -433,6 +434,8 @@
{
char *line;
eb_local_account *account =
find_local_account_by_handle(my_user->username, SERVICE_INFO.protocol_id);
+ if(!readable)
+ return;
switch(connstate) {
case CONN_CLOSED:
eb_debug(DBG_WWZ,"uh? conn is closed\n");
@@ -440,7 +443,7 @@
case CONN_WAITING_CHALLENGE:
line = sock_read(sock);
if (line == NULL) {
- do_error_dialog(_("Server doesn't answer"),
+ do_error_dialog(_("Server doesn't answer."),
_("Workwizu Error"));
eb_workwizu_logout(account);
return;
@@ -453,7 +456,7 @@
case CONN_WAITING_USERINFO:
line = sock_read(sock);
if (line == NULL) {
- do_error_dialog(_("Bad authentication"),
+ do_error_dialog(_("Bad authentication."),
_("Workwizu Error"));
eb_workwizu_logout(account);
return;
@@ -609,26 +612,22 @@
return(s);
}
-void eb_workwizu_login (eb_local_account *account)
+void eb_workwizu_connected (int fd, int error, void *data)
{
+ eb_local_account *account = (eb_local_account *)data;
wwz_account_data *wad = (wwz_account_data *)
account->protocol_local_account_data;
- if (account->connected)
- return;
-
- my_user = g_new0(wwz_user, 1);
- strcpy(my_user->username, account->handle);
- strcpy(my_user->password, wad->password);
- my_user->typing_handler = -1;
+ wad->sock = fd;
- eb_debug(DBG_WWZ, "Logging in\n");
- wad->sock = connect_socket(server, atoi(port));
if (wad->sock == -1) {
eb_debug(DBG_WWZ, "wad->sock=-1 !\n");
+ do_error_dialog(_("Server doesn't answer."),
+ _("Workwizu Error"));
+ account->connecting=0;
+ eb_workwizu_logout(account);
return;
}
ref_count++;
- register_sock(wad->sock, 1, 0);
if(account->status_menu)
{
/* Make sure set_current_state doesn't call us back */
@@ -636,7 +635,35 @@
eb_set_active_menu_status(account->status_menu, WWZ_ONLINE);
}
account->connected=1;
+ account->connecting=0;
connstate = CONN_WAITING_CHALLENGE;
+ register_sock(wad->sock, 1, 0);
+}
+
+void eb_workwizu_login (eb_local_account *account)
+{
+ wwz_account_data *wad = (wwz_account_data *)
account->protocol_local_account_data;
+ if (account->connected || account->connecting)
+ return;
+
+ account->connecting = 1;
+ my_user = g_new0(wwz_user, 1);
+ strcpy(my_user->username, account->handle);
+ strcpy(my_user->password, wad->password);
+
+ my_user->typing_handler = -1;
+
+ eb_debug(DBG_WWZ, "Logging in\n");
+ if (ay_socket_new_async(server, atoi(port),
+ (ay_socket_callback)eb_workwizu_connected, account) <
0) {
+ eb_debug(DBG_WWZ, "cant connect socket");
+ do_error_dialog(_("Server doesn't answer."),
+ _("Workwizu Error"));
+ account->connecting=0;
+ eb_workwizu_logout(account);
+ return;
+ }
+
}
static void clean_up (int sock)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/modules/workwizu workwizu.c,1.33,1.34,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.400,1.401 configure.in,1.396,1.397
- Next by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.401,1.402 configure.in,1.397,1.398
- Previous by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.400,1.401 configure.in,1.396,1.397
- Next by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.401,1.402 configure.in,1.397,1.398
- Index(es):