diff --git a/src/bin/e_ipc.c b/src/bin/e_ipc.c index 0098c75ed..218f65e06 100644 --- a/src/bin/e_ipc.c +++ b/src/bin/e_ipc.c @@ -78,18 +78,6 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event) #undef TYPE /* here to steal from to port over to the new e_ipc_handlers.h */ #if 0 - case E_IPC_OP_FONT_APPLY: - { - e_font_apply(); - e_config_save_queue(); - } - break; - case E_IPC_OP_FONT_FALLBACK_CLEAR: - { - e_font_fallback_clear(); - e_config_save_queue(); - } - break; case E_IPC_OP_FONT_FALLBACK_APPEND: { char *font_name = NULL; diff --git a/src/bin/e_ipc_handlers.h b/src/bin/e_ipc_handlers.h index 533138b60..499349d9a 100644 --- a/src/bin/e_ipc_handlers.h +++ b/src/bin/e_ipc_handlers.h @@ -12,8 +12,10 @@ #ifndef E_IPC_HANDLERS_H # define E_IPC_HANDLERS_H -# define STRING(__str, HANDLER) \ -case HANDLER: \ +# define OP(__a, __b, __c, __d, __e) \ + {__a, __b, __c, __d, __e}, +# define STRING(__str, HDL) \ +case HDL: \ if (e->data) { \ char *__str = NULL; \ if (e_ipc_codec_str_dec(e->data, e->size, &__str)) { @@ -25,19 +27,19 @@ break; # define SAVE e_config_save_queue() -# define REQ_STRING(__str, HANDLER) \ -case HANDLER: { void *data; int bytes; \ +# define REQ_STRING(__str, HDL) \ +case HDL: { void *data; int bytes; \ data = e_ipc_codec_str_enc(__str, &bytes); \ if (data) { \ - ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HANDLER, 0, 0, 0, data, bytes); \ + ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HDL, 0, 0, 0, data, bytes); \ free(data); \ } \ } \ break; -# define REQ_NULL(HANDLER) \ -case HANDLER: \ - ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HANDLER, 0, 0, 0, NULL, 0); \ +# define REQ_NULL(HDL) \ +case HDL: \ + ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HDL, 0, 0, 0, NULL, 0); \ break; # define FREE_LIST(__list) \ @@ -50,8 +52,8 @@ while (__list) { \ ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __opcode, 0, 0, 0, data, bytes); \ free(data); -# define STRING_INT_LIST(__v, HANDLER) \ - case HANDLER: { \ +# define STRING_INT_LIST(__v, HDL) \ + case HDL: { \ Evas_List *dat = NULL, *l; \ if (e_ipc_codec_str_int_list_dec(e->data, e->size, &dat)) { \ for (l = dat; l; l = l->next) { \ @@ -67,8 +69,8 @@ free(data); } \ break; -#define SEND_STRING_INT_LIST(__list, __typ1, __v1, __v2, HANDLER) \ - case HANDLER: { \ +#define SEND_STRING_INT_LIST(__list, __typ1, __v1, __v2, HDL) \ + case HDL: { \ Evas_List *dat = NULL, *l; \ void *data; int bytes; \ for (l = e_module_list(); l; l = l->next) { \ @@ -85,8 +87,8 @@ free(data); } \ break; -#define SEND_STRING(__str, __op, HANDLER) \ -case HANDLER: { void *data; int bytes; \ +#define SEND_STRING(__str, __op, HDL) \ +case HDL: { void *data; int bytes; \ data = e_ipc_codec_str_enc(__str, &bytes); \ if (data) { \ ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __op, 0, 0, 0, data, bytes); \ @@ -104,8 +106,8 @@ break; #define FOR(__start) \ for (l = __start; l; l = l->next) -#define GENERIC(HANDLER) \ - case HANDLER: { +#define GENERIC(HDL) \ + case HDL: { #define END_GENERIC() \ } \ @@ -138,7 +140,7 @@ break; /* what a handler looks like * * E_REMOTE_OPTIONS - * (opt, num_params, description, num_expected_replies, HANDLER), + * OP(opt, num_params, description, num_expected_replies, HDL) * E_REMOTE_OUT * ... * E_WM_IN @@ -156,13 +158,13 @@ break; /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_LOAD +#define HDL E_IPC_OP_MODULE_LOAD #if (TYPE == E_REMOTE_OPTIONS) - {"-module-load", 1, "Loads the module named 'OPT1' into memory", 0, HANDLER}, + OP("-module-load", 1, "Loads the module named 'OPT1' into memory", 0, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_STRING(params[0], HANDLER); + REQ_STRING(params[0], HDL); #elif (TYPE == E_WM_IN) - STRING(s, HANDLER); + STRING(s, HDL); if (!e_module_find(s)) { e_module_new(s); SAVE; @@ -170,16 +172,16 @@ break; END_STRING(s); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_UNLOAD +#define HDL E_IPC_OP_MODULE_UNLOAD #if (TYPE == E_REMOTE_OPTIONS) - {"-module-unload", 1, "Unloads the module named 'OPT1' from memory", 0, HANDLER}, + OP("-module-unload", 1, "Unloads the module named 'OPT1' from memory", 0, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_STRING(params[0], HANDLER); + REQ_STRING(params[0], HDL); #elif (TYPE == E_WM_IN) - STRING(s, HANDLER); + STRING(s, HDL); E_Module *m; if ((m = e_module_find(s))) { e_module_disable(m); @@ -189,16 +191,16 @@ break; END_STRING(s); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_ENABLE +#define HDL E_IPC_OP_MODULE_ENABLE #if (TYPE == E_REMOTE_OPTIONS) - {"-module-enable", 1, "Enable the module named 'OPT1'", 0, HANDLER}, + OP("-module-enable", 1, "Enable the module named 'OPT1'", 0, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_STRING(params[0], HANDLER); + REQ_STRING(params[0], HDL); #elif (TYPE == E_WM_IN) - STRING(s, HANDLER); + STRING(s, HDL); E_Module *m; if ((m = e_module_find(s))) { e_module_enable(m); @@ -207,16 +209,16 @@ break; END_STRING(s); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_DISABLE +#define HDL E_IPC_OP_MODULE_DISABLE #if (TYPE == E_REMOTE_OPTIONS) - {"-module-disable", 1, "Disable the module named 'OPT1'", 0, HANDLER}, + OP("-module-disable", 1, "Disable the module named 'OPT1'", 0, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_STRING(params[0], HANDLER); + REQ_STRING(params[0], HDL); #elif (TYPE == E_WM_IN) - STRING(s, HANDLER); + STRING(s, HDL); E_Module *m; if ((m = e_module_find(s))) { e_module_disable(m); @@ -225,43 +227,43 @@ break; END_STRING(s); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_LIST +#define HDL E_IPC_OP_MODULE_LIST #if (TYPE == E_REMOTE_OPTIONS) - {"-module-list", 0, "List all loaded modules", 1, HANDLER}, + OP("-module-list", 0, "List all loaded modules", 1, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_NULL(HANDLER); + REQ_NULL(HDL); #elif (TYPE == E_WM_IN) - SEND_STRING_INT_LIST(e_module_list(), E_Module, mod, v, HANDLER); + SEND_STRING_INT_LIST(e_module_list(), E_Module, mod, v, HDL); v->str = mod->name; v->val = mod->enabled; END_SEND_STRING_INT_LIST(v, E_IPC_OP_MODULE_LIST_REPLY); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_MODULE_LIST_REPLY +#define HDL E_IPC_OP_MODULE_LIST_REPLY #if (TYPE == E_REMOTE_OPTIONS) #elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_WM_IN) #elif (TYPE == E_REMOTE_IN) - STRING_INT_LIST(v, HANDLER); + STRING_INT_LIST(v, HDL); printf("REPLY: \"%s\" ENABLED %i\n", v->str, v->val); END_STRING_INT_LIST(v); #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_BG_SET +#define HDL E_IPC_OP_BG_SET #if (TYPE == E_REMOTE_OPTIONS) - {"-default-bg-set", 1, "Set the default background edje to the desktop background in the file 'OPT1' (must be a full path)", 0, HANDLER}, + OP("-default-bg-set", 1, "Set the default background edje to the desktop background in the file 'OPT1' (must be a full path)", 0, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_STRING(params[0], HANDLER); + REQ_STRING(params[0], HDL); #elif (TYPE == E_WM_IN) - STRING(s, HANDLER); + STRING(s, HDL); Evas_List *l, *ll; E_Manager *man; E_Container *con; @@ -280,40 +282,40 @@ break; END_STRING(s); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_BG_GET +#define HDL E_IPC_OP_BG_GET #if (TYPE == E_REMOTE_OPTIONS) - {"-default-bg-get", 0, "Get the default background edje file path", 1, HANDLER}, + OP("-default-bg-get", 0, "Get the default background edje file path", 1, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_NULL(HANDLER); + REQ_NULL(HDL); #elif (TYPE == E_WM_IN) - SEND_STRING(e_config->desktop_default_background, E_IPC_OP_MODULE_LIST_REPLY, HANDLER); + SEND_STRING(e_config->desktop_default_background, E_IPC_OP_MODULE_LIST_REPLY, HDL); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_BG_GET_REPLY +#define HDL E_IPC_OP_BG_GET_REPLY #if (TYPE == E_REMOTE_OPTIONS) #elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_WM_IN) #elif (TYPE == E_REMOTE_IN) - STRING(s, HANDLER); + STRING(s, HDL); printf("REPLY: \"%s\"\n", s); END_STRING(s); #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_FONT_AVAILABLE_LIST +#define HDL E_IPC_OP_FONT_AVAILABLE_LIST #if (TYPE == E_REMOTE_OPTIONS) - {"-font-available-list", 0, "List all available fonts", 1, HANDLER}, + OP("-font-available-list", 0, "List all available fonts", 1, HDL) #elif (TYPE == E_REMOTE_OUT) - REQ_NULL(HANDLER); + REQ_NULL(HDL); #elif (TYPE == E_WM_IN) - GENERIC(HANDLER); + GENERIC(HDL); LIST_DATA(); E_Font_Available *fa; Evas_List *fa_list; @@ -328,15 +330,15 @@ break; END_GENERIC(); #elif (TYPE == E_REMOTE_IN) #endif -#undef HANDLER +#undef HDL /****************************************************************************/ -#define HANDLER E_IPC_OP_FONT_AVAILABLE_LIST_REPLY +#define HDL E_IPC_OP_FONT_AVAILABLE_LIST_REPLY #if (TYPE == E_REMOTE_OPTIONS) #elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_WM_IN) #elif (TYPE == E_REMOTE_IN) - GENERIC(HANDLER); + GENERIC(HDL); LIST(); DECODE(e_ipc_codec_str_list_dec) { FOR(dat) { @@ -346,8 +348,37 @@ break; } END_GENERIC(); #endif -#undef HANDLER - +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_FONT_APPLY +#if (TYPE == E_REMOTE_OPTIONS) + OP("-font-apply", 0, "Apply font settings changes", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) + GENERIC(HDL); + e_font_apply(); + SAVE; + END_GENERIC(); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_FONT_FALLBACK_CLEAR +#if (TYPE == E_REMOTE_OPTIONS) + OP("-font-fallback-clear", 0, "Clear list of fallback fonts", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) + GENERIC(HDL); + e_font_fallback_clear(); + SAVE; + END_GENERIC(); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +