* Wrote the client side of the ICQ gateway. Now on to other projects. :)
authorArt Cancro <ajc@citadel.org>
Tue, 3 Aug 1999 03:14:52 +0000 (03:14 +0000)
committerArt Cancro <ajc@citadel.org>
Tue, 3 Aug 1999 03:14:52 +0000 (03:14 +0000)
citadel/ChangeLog
citadel/Makefile.in
citadel/citadel.c
citadel/citadel.rc
citadel/serv_icq.c

index 6320570f6e3660c3ea7a5d461575fbdcd2f80ac1..7838ac4e72133e62c6ee6d80eff866ab8d10d974 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 1.343  1999/08/03 03:14:51  ajc
+* Wrote the client side of the ICQ gateway.  Now on to other projects.  :)
+
 Revision 1.342  1999/08/03 01:52:06  ajc
 * Redesigned the client protocol commands for dealing with ICQ
 * Implemented page function priority ordering to prevent pages from being
@@ -1167,4 +1170,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Initial CVS import 
-
index c66938215e2624a62b2e91ef23422b05d1754648..0af7c5008a643fe093ce46fb63da2d61897f863a 100644 (file)
@@ -68,7 +68,7 @@ SOURCES=aidepost.c citadel.c citmail.c citserver.c client_chat.c commands.c \
        serv_info.c serv_test.c setup.c snprintf.c stats.c \
        support.c sysdep.c tools.c user_ops.c userlist.c serv_expire.c \
        whobbs.c sendcommand.c mime_parser.c base64.c qpdecode.c getutline.c \
-       auth.c chkpwd.c
+       auth.c chkpwd.c client_icq.c
 
 DEP_FILES=$(SOURCES:.c=.d)
 
@@ -83,9 +83,11 @@ serv_modules: $(SERV_MODULES)
 #
 #
 
-citadel$(EXEEXT): ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \
+citadel$(EXEEXT): ipc_c_tcp.o citadel.o rooms.o routines.o \
+       routines2.o messages.o client_icq.o \
        commands.o client_chat.o serv_info.o tools.o $(LIBOBJS)
-       $(CC) ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o messages.o \
+       $(CC) ipc_c_tcp.o citadel.o rooms.o routines.o routines2.o \
+       messages.o client_icq.o \
        commands.o client_chat.o serv_info.o tools.o $(LIBOBJS) $(LDFLAGS) \
        -o citadel $(NETLIBS)
 
index b7bb3d87dc53722f566def39f95ce96e3a4f2105..c3f7f08569b2eeb43172302d7860bf84b56da959 100644 (file)
@@ -33,6 +33,7 @@
 #include "commands.h"
 #include "ipc.h"
 #include "client_chat.h"
+#include "client_icq.h"
 #include "citadel_decls.h"
 #include "tools.h"
 #ifndef HAVE_SNPRINTF
@@ -1386,6 +1387,10 @@ GSTA:    termn8 = 0;
                                page_user();
                                break;
 
+                       case 81:
+                               setup_icq();
+                               break;
+
                        }       /* end switch */
        } while (termn8 == 0);
 
index e3c2cda90f90dd8d49138fe255d7e2153c525a7f..2b8867ba54a7221f10d22dd2d21b92421eef0baa 100644 (file)
@@ -202,6 +202,7 @@ cmd=77,0,&.,&Enter,&Username
 cmd=40,0,&.,&Enter,file using &Xmodem
 cmd=42,0,&.,&Enter,file using &Ymodem
 cmd=44,0,&.,&Enter,file using &Zmodem
+cmd=81,0,&.,&Enter,IC&Q Configuration
 #
 # Command 57 is the local-file-upload command for users with their own
 # copy of the clientware.  Commands 72-74 are for image uploads.
index 837ab9329e07adaefd6e6b0cb36ddf586dc6803a..6195f31ef8bb6c028e8b777346dae373b3f2686f 100644 (file)
@@ -2187,9 +2187,12 @@ void cmd_cicq(char *argbuf) {
        char buf[256];
        int i;
 
+        if (!(CC->logged_in)) {
+                cprintf("%d Not logged in.\n", ERROR + NOT_LOGGED_IN);
+                return;
+        }
        extract(cmd, argbuf, 0);
 
-
        /* "CICQ login" tells us how to log in. */
        if (!strcasecmp(cmd, "login")) {
                uin = extract_long(argbuf, 1);
@@ -2207,6 +2210,7 @@ void cmd_cicq(char *argbuf) {
 
        /* "CICQ getcl" returns the contact list */
        if (!strcasecmp(cmd, "getcl")) {
+               CtdlICQ_Read_CL();
                cprintf("%d Your ICQ contact list:\n", LISTING_FOLLOWS);
                if (ThisICQ->icq_numcl > 0) {
                        for (i=0; i<ThisICQ->icq_numcl; ++i) {
@@ -2238,6 +2242,13 @@ void cmd_cicq(char *argbuf) {
                return;
        }
 
+       /* "CICQ status" returns the connected/notconnected status */
+       if (!strcasecmp(cmd, "status")) {
+               cprintf("%d %d\n", OK,
+                       ((ThisICQ->icq_Sok >= 0) ? 1 : 0) );
+               return;
+       }
+
        cprintf("%d Invalid subcommand\n", ERROR);
 }