handlers: clean up

This commit is contained in:
Alastair Poole 2020-12-24 10:16:19 +00:00
parent 8b2490e4db
commit 35a359af97
5 changed files with 23 additions and 24 deletions

View File

@ -68,10 +68,10 @@ evisum_server_init(void *data)
} }
typedef struct _Evisum_Server_Client { typedef struct _Evisum_Server_Client {
Ecore_Con_Server *srv; Ecore_Con_Server *srv;
Evisum_Action action; Evisum_Action action;
int pid; int pid;
Eina_Bool success; Eina_Bool success;
} Evisum_Server_Client; } Evisum_Server_Client;
static Eina_Bool static Eina_Bool
@ -131,6 +131,7 @@ Eina_Bool
evisum_server_client_add(Evisum_Action action, int pid) evisum_server_client_add(Evisum_Action action, int pid)
{ {
Evisum_Server_Client *client; Evisum_Server_Client *client;
Ecore_Event_Handler *handler[4];
Eina_Bool ok; Eina_Bool ok;
Ecore_Con_Server *srv = ecore_con_server_connect(ECORE_CON_LOCAL_USER, LISTEN_SOCKET_NAME, 0, NULL); Ecore_Con_Server *srv = ecore_con_server_connect(ECORE_CON_LOCAL_USER, LISTEN_SOCKET_NAME, 0, NULL);
@ -144,13 +145,22 @@ evisum_server_client_add(Evisum_Action action, int pid)
client->pid = pid; client->pid = pid;
client->srv = srv; client->srv = srv;
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ADD, _evisum_server_client_connect_cb, client); handler[0] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ADD,
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DEL, _evisum_server_client_done_cb, client); _evisum_server_client_connect_cb, client);
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ERROR, _evisum_server_client_done_cb, client); handler[1] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DEL,
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA, _evisum_server_client_data_cb, client); _evisum_server_client_done_cb, client);
handler[2] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ERROR,
_evisum_server_client_done_cb, client);
handler[3] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA,
_evisum_server_client_data_cb, client);
ecore_main_loop_begin(); ecore_main_loop_begin();
ecore_event_handler_del(handler[0]);
ecore_event_handler_del(handler[1]);
ecore_event_handler_del(handler[2]);
ecore_event_handler_del(handler[3]);
ok = client->success; ok = client->success;
free(client); free(client);

View File

@ -26,7 +26,7 @@ _shutdown_cb(void *data, int type, void *event EINA_UNUSED)
static void static void
_signals(Ui *ui) _signals(Ui *ui)
{ {
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _shutdown_cb, ui); ui->handler_sig = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _shutdown_cb, ui);
} }
int int
@ -86,6 +86,7 @@ main(int argc, char **argv)
ecore_main_loop_begin(); ecore_main_loop_begin();
ecore_event_handler_del(ui->handler_sig);
evisum_ui_shutdown(ui); evisum_ui_shutdown(ui);
evisum_server_shutdown(); evisum_server_shutdown();

View File

@ -18,7 +18,8 @@
typedef struct Ui typedef struct Ui
{ {
pid_t program_pid; pid_t program_pid;
Ecore_Event_Handler *handler_sig;
struct struct
{ {

View File

@ -341,14 +341,6 @@ _graph_guide(Evas_Object *parent, int r, int g, int b, int a)
return btn; return btn;
} }
static Eina_Bool
_elm_config_changed_cb(void *data, int type EINA_UNUSED, void *event EINA_UNUSED)
{
Ui_Data *pd = data;
return EINA_TRUE;
}
static void static void
_win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj,
void *event_info EINA_UNUSED) void *event_info EINA_UNUSED)
@ -503,11 +495,6 @@ ui_win_memory_add(Ui *ui)
else else
elm_win_center(win, 1, 1); elm_win_center(win, 1, 1);
_elm_config_changed_cb(pd, 0, NULL);
ecore_event_handler_add(ELM_EVENT_CONFIG_ALL_CHANGED,
_elm_config_changed_cb, pd);
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd); evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd);
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd); evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd);
evas_object_show(win); evas_object_show(win);

View File

@ -13,7 +13,7 @@
extern Evisum_Config *_evisum_config; extern Evisum_Config *_evisum_config;
extern int EVISUM_EVENT_CONFIG_CHANGED; extern int EVISUM_EVENT_CONFIG_CHANGED;
Eina_Lock _lock; static Eina_Lock _lock;
typedef struct typedef struct
{ {