#include #include #include #include #include /* EFL Stuff */ #include #include /* Configuration lib */ /*#include */ /* Socket lib */ /* Espik Stuff */ #include "espik.h" #include "espik_global.h" #include "espik_config.h" #include "espik_irc.h" #include "espik_common_handler.h" #include "espik_net.h" #include "espik_debug.h" typedef int (*Handler_Func) (void *data, int ev_type, void *ev); /* typedef int (*Handler_Fd_Func) (void *data, Ecore_Fd_Handler * fd_handler); */ /* Use to replace EOL ('\n') with NULL ('\0') */ int del_backslash (char *msg) { int i, count; espik_enter(); for (i = 0, count = 0; msg[i]; i++) { if (msg[i] == '\n') { msg[i] = '\0'; count++; } } espik_leave(); return (count); } int main (int argc, char **argv) { Ecore_Fd_Handler *fd_kb; #ifdef _ESPIK_DEBUG_ __indent_level = 0; #endif espik_enter(); printf ("Welcome to %s %s\n", APPS_NAME, ESPIK_VERSION); #ifdef _ESPIK_DEBUG_ espik_debug_init(); #endif espik_config_init (); if (argc < 3) { printf ("Loading from conf ...\n"); espik_config_get (&a_infos); } else { printf ("Connecting to %s:%s\n", argv[1], argv[2]); a_infos.client = espik_user_sysinfo_get (); a_infos.server = espik_server_config_set (argv[1], (unsigned short)atoi (argv[2])); } espik_config_set (a_infos); printf ("host: %s\n", a_infos.server->host); printf ("port: %hd\n", a_infos.server->port); printf ("nick: %s\n", a_infos.client->nickname); printf ("user: %s\n", a_infos.client->username); printf ("real: %s\n", a_infos.client->realname); #if 0 if (!ecore_init ()) { printf ("Cannot init ecore; %d\n", 1); exit (-1); } con_sock = ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, a_infos.server->host, (int)a_infos.server->port, NULL); if (!con_sock) { fprintf (stderr, "Baaa\n"); exit (-1); } #endif /* Handler Network & Keyboard */ fd_kb = ecore_main_fd_handler_add (STDIN_FILENO, ECORE_FD_READ, kb_get, NULL, NULL, NULL); if (!fd_kb) { printf ("Cannot ecore_main_fd_handler_add\n"); exit (-1); } /* ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA, (Handler_Func) server_data, NULL); */ espik_con_init (a_infos); /* Init IRC connection */ ecore_main_loop_begin (); /* ecore_con_server_del (con_sock); */ // free (a_infos.server->host); // free (a_infos.server); /* free (a_infos.client->nickname); free (a_infos.client->username); free (a_infos.client->realname); */ // free (a_infos.client); espik_debug_print ("end"); espik_config_shutdown (&a_infos); /* espik_con_shutdown (); */ ecore_main_loop_quit (); ecore_shutdown (); //espik_leave(); return (0); }