ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.23,1.24 msn


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.23,1.24 msn_interface.C,1.4,1.5 msn_interface.h,1.4,1.5
Date: Fri, 28 Feb 2003 05:51:51 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2/libmsn2
In directory subversions:/tmp/cvs-serv6869/modules/msn2/libmsn2

Modified Files:
        msn_core.C msn_interface.C msn_interface.h 
Log Message:
implement msn non-blocking connections


Index: msn_core.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.C,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- msn_core.C  7 Feb 2003 08:29:26 -0000       1.23
+++ msn_core.C  28 Feb 2003 10:51:46 -0000      1.24
@@ -1668,20 +1668,17 @@
   return inv;
 }
 
-void msn_connect(msnconn * conn, char * server, int port)
+static void msn_connect_cb(int fd, int error, void *data)
 {
-  conn->ready=0;
-
-  if(conn->type==CONN_SB)
-  {
+    msnconn *conn = (msnconn *)data;   
     authdata_SB * auth=(authdata_SB *)conn->auth;
-
-    if((conn->sock=ext_connect_socket(server, port))==-1)
+    printf("msn_connect_cb called\n");
+    if(fd == -1 || error)
     {
       ext_show_error(conn, "Could not connect to switchboard server");
       return;
     }
-
+    conn->sock=fd;
     ext_register_sock(conn->sock, 1, 0);
 
     if(auth->sessionID==NULL)
@@ -1700,11 +1697,13 @@
     }
 
     next_trid++;
+}
 
-    return;
-  } // Otherwise, it's a Notification Server (NS)
-
+static void msn_connect_cb2(int fd, int error, void *data)
+{
   connectinfo * info;
+  msnconn *conn = (msnconn *)data;     
+    printf("msn_connect_cb2 called\n");
 
   info=new connectinfo;
 
@@ -1713,13 +1712,13 @@
   info->username=msn_permstring( ((authdata_NS *)conn->auth)->username);
   info->password=msn_permstring( ((authdata_NS *)conn->auth)->password);
 
-  conn->ready=0;
-  if((conn->sock=ext_connect_socket(server, port))==-1)
+  if(fd==-1 || error)
   {
     ext_show_error(conn, "Could not connect to MSN server");
     return;
   }
-
+  conn->sock = fd;
+  
   ext_register_sock(conn->sock, 1, 0);
 
   if(DEBUG)
@@ -1730,6 +1729,20 @@
   write(conn->sock, buf, strlen(buf));
   msn_add_callback(conn, msn_connect_2, next_trid, (callback_data *)info);
   next_trid++;
+}
+
+void msn_connect(msnconn * conn, char * server, int port)
+{
+  conn->ready=0;
+
+  if(conn->type==CONN_SB)
+  {
+    ext_async_socket(server, port, msn_connect_cb, conn);
+    return;
+  }
+  conn->ready = 0;
+  ext_async_socket(server, port, msn_connect_cb2, conn);
+  
 }
 
 // Further connection functions:

Index: msn_interface.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_interface.C,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- msn_interface.C     15 Jan 2003 13:12:21 -0000      1.4
+++ msn_interface.C     28 Feb 2003 10:51:46 -0000      1.5
@@ -367,6 +367,11 @@
   return(s);
 }
 
+int ext_async_socket(char *host, int port, void *cb, void *conn)
+{
+       /* not implemented */
+}
+
 int ext_server_socket(int port)
 {
   int s;

Index: msn_interface.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_interface.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- msn_interface.h     15 Jan 2003 13:12:21 -0000      1.4
+++ msn_interface.h     28 Feb 2003 10:51:46 -0000      1.5
@@ -77,6 +77,7 @@
         Return:         Nothing
 */
 int ext_connect_socket(char * server, int port);
+int ext_async_socket(char *host, int port, void *cb, void *conn);
 
 int ext_server_socket(int port);
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]