From 7951726fe3f633704d0045c83b833e00e237100b Mon Sep 17 00:00:00 2001 From: beber Date: Fri, 2 Dec 2005 11:34:14 +0000 Subject: add handler for when we get connected and disconnect also see if connection is unavailable --- ChangeLog | 8 ++++++++ src/espik_net.c | 30 +++++++++++++++++++++++++++--- src/espik_net.h | 1 + 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2947228..23a6a0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +beber from rampa : 02/12/05 12:36:36 +add handler for when we get connected and disconnect +also see if connection is unavailable + +File changes : +M src/espik_net.c +M src/espik_net.h + dev from guybrush.melee : 01/12/05 21:22:19 Add a macro for __attribute__ Check if valgrinf is here diff --git a/src/espik_net.c b/src/espik_net.c index 058f153..914f9d5 100644 --- a/src/espik_net.c +++ b/src/espik_net.c @@ -16,6 +16,7 @@ typedef int (*Handler_Func) (void* data, int ev_type, void* ev); static int ret; /* For debug */ +static char connected = 0; Ecore_Con_Server* con_sock; @@ -33,16 +34,36 @@ void espik_con_init (t_info serv_info) serv_info.server->host, (int)serv_info.server->port, NULL); if (!con_sock) { - fprintf (stderr, "ecore_con_server_connect failed\n"); + fprintf (stderr, "ecore_con_server_connect failed (ECORE_CON_REMOTE_SYSTEM)\n"); exit (-1); } if (! (ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA, (Handler_Func) server_data, NULL))) { - fprintf (stderr, "ecore_event_handler_add failed at %s\n", __FUNCTION__); + fprintf (stderr, "ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA) failed at %s\n", __FUNCTION__); exit (-1); } + + if (! (ecore_event_handler_add (ECORE_CON_EVENT_SERVER_ADD, + (Handler_Func) espik_con_up, NULL))) + { + fprintf (stderr, "ecore_event_handler_add (ECORE_CON_EVENT_SERVER_ADD) failed at %s\n", __FUNCTION__); + exit (-1); + } + + if (! (ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DEL, + (Handler_Func) espik_con_shutdown, NULL))) + { + fprintf (stderr, "ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DEL) failed at %s\n", __FUNCTION__); + exit (-1); + } +} + +void espik_con_up() +{ + printf ("Connected\n"); + connected = 1; } void espik_con_shutdown () @@ -51,13 +72,16 @@ void espik_con_shutdown () /* printf ("> espik_con_shutdown\n"); */ #endif + if (connected == 0) + fprintf (stderr, "Unable to connect to server\n"); + ecore_con_server_del (con_sock); ecore_con_shutdown (); #if _ESPIK_DEBUG_ /* printf ("< espik_con_shutdown\n"); */ #endif - /* ecore_main_loop_quit (); */ + ecore_main_loop_quit (); } void espik_raw_send (char *msg) diff --git a/src/espik_net.h b/src/espik_net.h index 03d50c2..3e45c3a 100644 --- a/src/espik_net.h +++ b/src/espik_net.h @@ -5,6 +5,7 @@ void espik_raw_send (char*); void espik_con_init (t_info); +void espik_con_up(); void espik_con_shutdown (); #endif /* HAVE_ESPIK_NET_H */ -- cgit v1.2.3