diff mcabber/src/main.c @ 29:86837ff0554c

[/trunk] Changeset 45 by mikael * Switch to libjabber. (Does NOT work at all yet) jabglue.c is a wrapper around the libjabber library.
author mikael
date Mon, 28 Mar 2005 20:12:48 +0000
parents 0cd8025eebee
children 4ea2df449381
line wrap: on
line diff
--- a/mcabber/src/main.c	Mon Mar 28 10:36:47 2005 +0000
+++ b/mcabber/src/main.c	Mon Mar 28 20:12:48 2005 +0000
@@ -14,21 +14,22 @@
 #include "server.h"
 #include "harddefines.h"
 #include "socket.h"
+#include "jabglue.h"
 
-int sock;
+//int sock;
 
 void sig_handler(int signum)
 {
   switch (signum) {
   case SIGALRM:
-    sk_send(sock, " ");
+    jb_keepalive();
     break;
 
   case SIGTERM:
     bud_TerminateBuddies();
     scr_TerminateCurses();
-    srv_setpresence(sock, "unavailable");
-    close(sock);
+    // TODO srv_setpresence(sock, "unavailable");
+    // TODO close(sock);
     printf("Killed by SIGTERM\nBye!\n");
     exit(EXIT_SUCCESS);
     break;
@@ -70,7 +71,7 @@
   char configFile[4096];
   char *username, *password, *resource;
   char *servername;
-  char *idsession;
+  //char *idsession;
   char *portstring;
   int key;
   unsigned int port;
@@ -144,39 +145,29 @@
   ut_WriteLog("Initializing N-Curses...\n");
   scr_InitCurses();
 
+  ut_WriteLog("Drawing main window...\n");
+  scr_DrawMainWindow();
+
   /* Connect to server */
   portstring = cfg_read("port");
   port = (portstring != NULL) ? (unsigned int) atoi(portstring) : -1U;
 
   ut_WriteLog("Connecting to server: %s:%d\n", servername, port);
-  if ((sock = srv_connect(servername, port)) < 0) {
+  scr_LogPrint("Connecting to server: %s:%d", servername, port);
+  jc = jb_connect(servername, port, 0, username, password, resource);
+  if (!jc) {
     ut_WriteLog("\terror!!!\n");
     fprintf(stderr, "Error connecting to (%s)\n", servername);
     scr_TerminateCurses();
     return -2;
   }
 
-  ut_WriteLog("Sending login string...\n");
-  if ((idsession = srv_login(sock, servername, username, password, 
-                             resource)) == NULL) {
-
-    ut_WriteLog("\terror!!!\n");
-    fprintf(stderr, "Error sending login string...\n");
-    scr_TerminateCurses();
-    return -3;
-  }
-  ut_WriteLog("Connected to %.48s: %s\n", servername, idsession);
-  free(idsession);
-
-  ut_WriteLog("Requesting roster...\n");
-  bud_InitBuddies(sock);
+  /*
+  bud_InitBuddies(sock); // TODO
 
   ut_WriteLog("Sending presence...\n");
   srv_setpresence(sock, "Online!");
-
-
-  ut_WriteLog("Drawing main window...\n");
-  scr_DrawMainWindow();
+  */
 
   ping = 15;
   if (cfg_read("pinginterval"))
@@ -187,10 +178,21 @@
   ut_WriteLog("Entering into main loop...\n\n");
   ut_WriteLog("Ready to send/receive messages...\n");
 
+  sleep(1);
+  jb_main();
+  sleep(1);
+  jb_main();
+  sleep(2);
+  jb_disconnect();
+  sleep(1);
+  jb_main();
+  scr_TerminateCurses(); exit(0); // XXX
   while (ret != 255) {
     int x;
     alarm(ping);
-    x = check_io(sock, 0);
+    //x = check_io(sock, 0);
+    x = check_io(0, 0); // FIXME
+    /*
     if ((x & 1) == 1) {
       srv_msg *incoming = readserver(sock);
 
@@ -211,9 +213,11 @@
       free(incoming);
     }
     if ((x & 2) == 2) {
+    */
+    if (x) {
       keypad(scr_GetInputWindow(), TRUE);
       key = scr_Getch();
-      ret = process_key(key, sock);
+      ret = process_key(key);
       /*
       switch (key) {
       case KEY_IC:
@@ -241,9 +245,8 @@
   bud_TerminateBuddies();
   scr_TerminateCurses();
 
-  srv_setpresence(sock, "unavailable");
-
-  close(sock);
+  //srv_setpresence(sock, "unavailable");
+  //close(sock);
 
   printf("\n\nHave a nice day!\nBye!\n");