[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ayttm-commits] CVS: ayttm/modules/icq-toc icq-toc.c,1.12,1.13
From: |
Colin Leroy <address@hidden> |
Subject: |
[Ayttm-commits] CVS: ayttm/modules/icq-toc icq-toc.c,1.12,1.13 |
Date: |
Mon, 24 Mar 2003 04:54:38 -0500 |
Update of /cvsroot/ayttm/ayttm/modules/icq-toc
In directory subversions:/tmp/cvs-serv25056/modules/icq-toc
Modified Files:
icq-toc.c
Log Message:
Implement async connect
Fix status keeping online when login errors happene
Index: icq-toc.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/icq-toc/icq-toc.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- icq-toc.c 23 Mar 2003 12:22:43 -0000 1.12
+++ icq-toc.c 24 Mar 2003 09:54:36 -0000 1.13
@@ -153,17 +153,18 @@
char icq_info[MAX_PREF_LEN];
char password[255];
int fd;
- toc_conn * conn;
- int input;
- int keep_alive;
- int status;
+ toc_conn * conn;
+ int input;
+ int keep_alive;
+ int status;
+ int connect_tag;
};
enum
{
- icq_ONLINE=0,
- icq_AWAY=1,
- icq_OFFLINE=2
+ ICQ_ONLINE=0,
+ ICQ_AWAY=1,
+ ICQ_OFFLINE=2
};
@@ -260,7 +261,6 @@
eb_debug(DBG_TOC, "eb_icq_disconnect %d %d\n", conn->fd, conn->seq_num);
if(ela) {
eb_icq_logout(ela);
- eb_icq_login(ela);
}
else
g_warning("NULL account associated with icq connection");
@@ -412,21 +412,21 @@
}
- if (online && (aad->status == icq_OFFLINE))
+ if (online && (aad->status == ICQ_OFFLINE))
{
- aad->status = icq_ONLINE;
+ aad->status = ICQ_ONLINE;
buddy_login(ea);
}
- else if(!online && (aad->status != icq_OFFLINE))
+ else if(!online && (aad->status != ICQ_OFFLINE))
{
- aad->status = icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
buddy_logoff(ea);
}
if (online && unavailable)
- aad->status = icq_AWAY;
+ aad->status = ICQ_AWAY;
else if (online)
- aad->status = icq_ONLINE;
+ aad->status = ICQ_ONLINE;
aad->evil = evil;
aad->idle_time = idle;
@@ -473,7 +473,7 @@
struct eb_icq_account_data * aad = g_new0(struct
eb_icq_account_data, 1);
strncpy(ea->handle, user, 255);
ea->service_id = ela->service_id;
- aad->status = icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
ea->protocol_account_data = aad;
add_unknown(ea);
@@ -560,7 +560,7 @@
struct eb_icq_account_data * aad = g_new0(struct
eb_icq_account_data, 1);
strncpy(ea->handle, user, 255);
ea->service_id = ela->service_id;
- aad->status = icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
ea->protocol_account_data = aad;
add_unknown(ea);
@@ -590,8 +590,8 @@
struct eb_icq_account_data * aad = account->protocol_account_data;
if(ref_count <= 0 )
- aad->status = icq_OFFLINE;
- return aad->status != icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
+ return aad->status != ICQ_OFFLINE;
}
static void eb_icq_accept_invite( eb_local_account * account, void *
invitation )
@@ -662,7 +662,7 @@
a->protocol_account_data = aad;
strncpy(a->handle, account, 255);
a->service_id = SERVICE_INFO.protocol_id;
- aad->status = icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
return a;
}
@@ -712,23 +712,36 @@
alad = (struct eb_icq_local_account_data
*)account->protocol_local_account_data;
- alad->conn = icqtoc_signon( account->handle, alad->password,
- icq_server, atoi(icq_port), alad->icq_info);
+ /*alad->connect_tag = activity_window_new(buff);*/
+ icqtoc_signon( account->handle, alad->password,
+ icq_server, atoi(icq_port), alad->icq_info);
+
+ progress_window_close (alad->connect_tag);
+}
+static void eb_icq_logged_in (toc_conn *conn)
+{
+ struct eb_icq_local_account_data * alad;
+ eb_local_account *ela = find_local_account_by_handle(conn->username,
SERVICE_INFO.protocol_id);
+ alad = (struct eb_icq_local_account_data
*)ela->protocol_local_account_data;
+ alad->conn = conn;
+
if(!alad->conn)
{
g_warning("FAILED TO CONNECT TO icq SERVER!!!!!!!!!!!!");
+ eb_icq_logout(ela);
return;
}
if(alad->conn->fd == -1 )
{
g_warning("eb_icq UNKNOWN CONNECTION PROBLEM");
+ eb_icq_logout(ela);
return;
}
eb_debug(DBG_TOC, "eb_icq_login %d %d\n", alad->conn->fd,
alad->conn->seq_num );
- alad->conn->account = account;
- alad->status = icq_ONLINE;
+ alad->conn->account = ela;
+ alad->status = ICQ_ONLINE;
ref_count++;
alad->input = eb_input_add(alad->conn->fd, EB_INPUT_READ,
eb_icq_callback, alad);
@@ -736,16 +749,16 @@
is_setting_state = 1;
- if(account->status_menu)
- eb_set_active_menu_status(account->status_menu, icq_ONLINE);
+ if(ela->status_menu)
+ eb_set_active_menu_status(ela->status_menu, ICQ_ONLINE);
is_setting_state = 0;
- account->connecting = 0;
- account->connected = 1;
+ ela->connecting = 0;
+ ela->connected = 1;
- icqtoc_add_buddy(alad->conn,account->handle,
+ icqtoc_add_buddy(alad->conn,ela->handle,
"Unknown");
- icq_buddies = l_list_append(icq_buddies, account->handle);
+ icq_buddies = l_list_append(icq_buddies, ela->handle);
}
@@ -771,23 +784,20 @@
icqtoc_signoff(alad->conn);
g_free(alad->conn);
alad->conn = NULL;
- }
- else
- {
- return;
+ ref_count--;
}
#if 0
if(account->status_menu)
- eb_set_active_menu_status(account->status_menu, icq_ONLINE);
+ eb_set_active_menu_status(account->status_menu, ICQ_ONLINE);
#endif
- alad->status=icq_OFFLINE;
- ref_count--;
+ alad->status=ICQ_OFFLINE;
+
account->connected = 0;
is_setting_state = 1;
if(account->status_menu)
- eb_set_active_menu_status(account->status_menu, icq_OFFLINE);
+ eb_set_active_menu_status(account->status_menu, ICQ_OFFLINE);
is_setting_state = 0;
@@ -845,7 +855,7 @@
ela->service_id = SERVICE_INFO.protocol_id;
ela->protocol_local_account_data = ala;
- ala->status = icq_OFFLINE;
+ ala->status = ICQ_OFFLINE;
eb_debug(DBG_TOC, "eb_icq_read_local_config: returning %p\n", ela);
return ela;
@@ -871,7 +881,7 @@
eb_account * ea = g_new0(eb_account, 1 );
struct eb_icq_account_data * aad = g_new0(struct eb_icq_account_data,1);
- aad->status = icq_OFFLINE;
+ aad->status = ICQ_OFFLINE;
/*you know, eventually error handling should be put in here*/
strncpy(ea->handle, value_pair_get_value( config, "NAME"), 255);
@@ -928,13 +938,13 @@
}
switch(state) {
- case icq_ONLINE:
+ case ICQ_ONLINE:
if (account->connected == 0 && account->connecting == 0) {
eb_icq_login(account);
}
icqtoc_set_away(alad->conn, NULL);
break;
- case icq_AWAY:
+ case ICQ_AWAY:
if (account->connected == 0 && account->connecting == 0) {
eb_icq_login(account);
}
@@ -945,7 +955,7 @@
} else
icqtoc_set_away(alad->conn, _("User is currently
away"));
break;
- case icq_OFFLINE:
+ case ICQ_OFFLINE:
if (account->connected == 1) {
eb_icq_logout(account);
}
@@ -962,11 +972,11 @@
if (message) {
if(account->status_menu)
- eb_set_active_menu_status(account->status_menu,
icq_AWAY);
+ eb_set_active_menu_status(account->status_menu,
ICQ_AWAY);
icqtoc_set_away(alad->conn, message);
} else {
if(account->status_menu)
- eb_set_active_menu_status(account->status_menu,
icq_ONLINE);
+ eb_set_active_menu_status(account->status_menu,
ICQ_ONLINE);
}
}
@@ -976,7 +986,7 @@
aad = account->protocol_account_data;
- if (aad->status == icq_ONLINE)
+ if (aad->status == ICQ_ONLINE)
return icq_online_xpm;
else
return icq_away_xpm;
@@ -1187,7 +1197,8 @@
icqtoc_user_info = eb_icq_user_info;
icqtoc_new_user = eb_icq_new_user;
icqtoc_new_group = eb_icq_new_group;
-
+ icqtoc_logged_in = eb_icq_logged_in;
+
sc = g_new0( struct service_callbacks, 1 );
sc->query_connected = eb_icq_query_connected;
sc->login = eb_icq_login;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/modules/icq-toc icq-toc.c,1.12,1.13,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm/modules/aim-toc/libtoc libtoc.c,1.7,1.8 libtoc.h,1.5,1.6
- Next by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.395,1.396 configure.in,1.391,1.392
- Previous by thread:
[Ayttm-commits] CVS: ayttm/modules/aim-toc/libtoc libtoc.c,1.7,1.8 libtoc.h,1.5,1.6
- Next by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.395,1.396 configure.in,1.391,1.392
- Index(es):