hmm make it mroe robust...

SVN revision: 10188
This commit is contained in:
Carsten Haitzler 2004-05-13 02:40:58 +00:00
parent 56c4d96737
commit d39d9de182
1 changed files with 27 additions and 25 deletions

View File

@ -1,39 +1,41 @@
/* Ecore Event Handler Example.
*/
/* Ecore Event Handler Example. */
#include <Ecore.h>
Ecore_Event_Handler *handler1 = NULL, *handler2 = NULL;
int event_hup(void *data, int ev_type, void *ev)
{
printf("Hup signal! Remove the exit handler.\n");
ecore_event_handler_del(handler1);
return 0;
printf("Hup signal! Remove the exit handler.\n");
if (handler1)
{
ecore_event_handler_del(handler1);
handler1 = NULL;
}
return 0;
}
int event_exit(void *data, int ev_type, void *ev)
{
Ecore_Event_Signal_Exit *e;
Ecore_Event_Signal_Exit *e;
e = (Ecore_Event_Signal_Exit *)ev;
printf("This callback handles event type: %i\n", ECORE_EVENT_SIGNAL_EXIT);
printf("Event type recieved: %i\n", ev_type);
if (e->interrupt) printf("Exit: interrupt\n");
if (e->quit) printf("Exit: quit\n");
if (e->terminate) printf("Exit: terminate\n");
ecore_main_loop_quit();
return 1;
e = (Ecore_Event_Signal_Exit *)ev;
printf("This callback handles event type: %i\n", ECORE_EVENT_SIGNAL_EXIT);
printf("Event type recieved: %i\n", ev_type);
if (e->interrupt) printf("Exit: interrupt\n");
if (e->quit) printf("Exit: quit\n");
if (e->terminate) printf("Exit: terminate\n");
ecore_main_loop_quit();
return 1;
}
int main(int argc, char **argv)
{
ecore_init();
ecore_app_args_set(argc, argv);
handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,
event_exit, NULL);
handler2 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_HUP,
event_hup, NULL);
ecore_main_loop_begin();
ecore_shutdown();
ecore_init();
ecore_app_args_set(argc, argv);
handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,
event_exit, NULL);
handler2 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_HUP,
event_hup, NULL);
ecore_main_loop_begin();
ecore_shutdown();
}