font apply and fallback clear done.

cleanups of the handlers


SVN revision: 15037
This commit is contained in:
Carsten Haitzler 2005-05-31 07:46:22 +00:00
parent 55eb16f293
commit c9861130f0
2 changed files with 98 additions and 79 deletions

View File

@ -78,18 +78,6 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
#undef TYPE #undef TYPE
/* here to steal from to port over to the new e_ipc_handlers.h */ /* here to steal from to port over to the new e_ipc_handlers.h */
#if 0 #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: case E_IPC_OP_FONT_FALLBACK_APPEND:
{ {
char *font_name = NULL; char *font_name = NULL;

View File

@ -12,8 +12,10 @@
#ifndef E_IPC_HANDLERS_H #ifndef E_IPC_HANDLERS_H
# define E_IPC_HANDLERS_H # define E_IPC_HANDLERS_H
# define STRING(__str, HANDLER) \ # define OP(__a, __b, __c, __d, __e) \
case HANDLER: \ {__a, __b, __c, __d, __e},
# define STRING(__str, HDL) \
case HDL: \
if (e->data) { \ if (e->data) { \
char *__str = NULL; \ char *__str = NULL; \
if (e_ipc_codec_str_dec(e->data, e->size, &__str)) { if (e_ipc_codec_str_dec(e->data, e->size, &__str)) {
@ -25,19 +27,19 @@ break;
# define SAVE e_config_save_queue() # define SAVE e_config_save_queue()
# define REQ_STRING(__str, HANDLER) \ # define REQ_STRING(__str, HDL) \
case HANDLER: { void *data; int bytes; \ case HDL: { void *data; int bytes; \
data = e_ipc_codec_str_enc(__str, &bytes); \ data = e_ipc_codec_str_enc(__str, &bytes); \
if (data) { \ 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); \ free(data); \
} \ } \
} \ } \
break; break;
# define REQ_NULL(HANDLER) \ # define REQ_NULL(HDL) \
case HANDLER: \ case HDL: \
ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HANDLER, 0, 0, 0, NULL, 0); \ ecore_ipc_server_send(e->server, E_IPC_DOMAIN_REQUEST, HDL, 0, 0, 0, NULL, 0); \
break; break;
# define FREE_LIST(__list) \ # 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); \ ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __opcode, 0, 0, 0, data, bytes); \
free(data); free(data);
# define STRING_INT_LIST(__v, HANDLER) \ # define STRING_INT_LIST(__v, HDL) \
case HANDLER: { \ case HDL: { \
Evas_List *dat = NULL, *l; \ Evas_List *dat = NULL, *l; \
if (e_ipc_codec_str_int_list_dec(e->data, e->size, &dat)) { \ if (e_ipc_codec_str_int_list_dec(e->data, e->size, &dat)) { \
for (l = dat; l; l = l->next) { \ for (l = dat; l; l = l->next) { \
@ -67,8 +69,8 @@ free(data);
} \ } \
break; break;
#define SEND_STRING_INT_LIST(__list, __typ1, __v1, __v2, HANDLER) \ #define SEND_STRING_INT_LIST(__list, __typ1, __v1, __v2, HDL) \
case HANDLER: { \ case HDL: { \
Evas_List *dat = NULL, *l; \ Evas_List *dat = NULL, *l; \
void *data; int bytes; \ void *data; int bytes; \
for (l = e_module_list(); l; l = l->next) { \ for (l = e_module_list(); l; l = l->next) { \
@ -85,8 +87,8 @@ free(data);
} \ } \
break; break;
#define SEND_STRING(__str, __op, HANDLER) \ #define SEND_STRING(__str, __op, HDL) \
case HANDLER: { void *data; int bytes; \ case HDL: { void *data; int bytes; \
data = e_ipc_codec_str_enc(__str, &bytes); \ data = e_ipc_codec_str_enc(__str, &bytes); \
if (data) { \ if (data) { \
ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __op, 0, 0, 0, data, bytes); \ ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __op, 0, 0, 0, data, bytes); \
@ -104,8 +106,8 @@ break;
#define FOR(__start) \ #define FOR(__start) \
for (l = __start; l; l = l->next) for (l = __start; l; l = l->next)
#define GENERIC(HANDLER) \ #define GENERIC(HDL) \
case HANDLER: { case HDL: {
#define END_GENERIC() \ #define END_GENERIC() \
} \ } \
@ -138,7 +140,7 @@ break;
/* what a handler looks like /* what a handler looks like
* *
* E_REMOTE_OPTIONS * E_REMOTE_OPTIONS
* (opt, num_params, description, num_expected_replies, HANDLER), * OP(opt, num_params, description, num_expected_replies, HDL)
* E_REMOTE_OUT * E_REMOTE_OUT
* ... * ...
* E_WM_IN * 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) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_STRING(params[0], HANDLER); REQ_STRING(params[0], HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
STRING(s, HANDLER); STRING(s, HDL);
if (!e_module_find(s)) { if (!e_module_find(s)) {
e_module_new(s); e_module_new(s);
SAVE; SAVE;
@ -170,16 +172,16 @@ break;
END_STRING(s); END_STRING(s);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_MODULE_UNLOAD #define HDL E_IPC_OP_MODULE_UNLOAD
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_STRING(params[0], HANDLER); REQ_STRING(params[0], HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
STRING(s, HANDLER); STRING(s, HDL);
E_Module *m; E_Module *m;
if ((m = e_module_find(s))) { if ((m = e_module_find(s))) {
e_module_disable(m); e_module_disable(m);
@ -189,16 +191,16 @@ break;
END_STRING(s); END_STRING(s);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_MODULE_ENABLE #define HDL E_IPC_OP_MODULE_ENABLE
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_STRING(params[0], HANDLER); REQ_STRING(params[0], HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
STRING(s, HANDLER); STRING(s, HDL);
E_Module *m; E_Module *m;
if ((m = e_module_find(s))) { if ((m = e_module_find(s))) {
e_module_enable(m); e_module_enable(m);
@ -207,16 +209,16 @@ break;
END_STRING(s); END_STRING(s);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_MODULE_DISABLE #define HDL E_IPC_OP_MODULE_DISABLE
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_STRING(params[0], HANDLER); REQ_STRING(params[0], HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
STRING(s, HANDLER); STRING(s, HDL);
E_Module *m; E_Module *m;
if ((m = e_module_find(s))) { if ((m = e_module_find(s))) {
e_module_disable(m); e_module_disable(m);
@ -225,43 +227,43 @@ break;
END_STRING(s); END_STRING(s);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_MODULE_LIST #define HDL E_IPC_OP_MODULE_LIST
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HANDLER); REQ_NULL(HDL);
#elif (TYPE == E_WM_IN) #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->str = mod->name;
v->val = mod->enabled; v->val = mod->enabled;
END_SEND_STRING_INT_LIST(v, E_IPC_OP_MODULE_LIST_REPLY); END_SEND_STRING_INT_LIST(v, E_IPC_OP_MODULE_LIST_REPLY);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #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) #if (TYPE == E_REMOTE_OPTIONS)
#elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_REMOTE_OUT)
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
#elif (TYPE == E_REMOTE_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); printf("REPLY: \"%s\" ENABLED %i\n", v->str, v->val);
END_STRING_INT_LIST(v); END_STRING_INT_LIST(v);
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_BG_SET #define HDL E_IPC_OP_BG_SET
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_STRING(params[0], HANDLER); REQ_STRING(params[0], HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
STRING(s, HANDLER); STRING(s, HDL);
Evas_List *l, *ll; Evas_List *l, *ll;
E_Manager *man; E_Manager *man;
E_Container *con; E_Container *con;
@ -280,40 +282,40 @@ break;
END_STRING(s); END_STRING(s);
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #endif
#undef HANDLER #undef HDL
/****************************************************************************/ /****************************************************************************/
#define HANDLER E_IPC_OP_BG_GET #define HDL E_IPC_OP_BG_GET
#if (TYPE == E_REMOTE_OPTIONS) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HANDLER); REQ_NULL(HDL);
#elif (TYPE == E_WM_IN) #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) #elif (TYPE == E_REMOTE_IN)
#endif #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) #if (TYPE == E_REMOTE_OPTIONS)
#elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_REMOTE_OUT)
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
STRING(s, HANDLER); STRING(s, HDL);
printf("REPLY: \"%s\"\n", s); printf("REPLY: \"%s\"\n", s);
END_STRING(s); END_STRING(s);
#endif #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) #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) #elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HANDLER); REQ_NULL(HDL);
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
GENERIC(HANDLER); GENERIC(HDL);
LIST_DATA(); LIST_DATA();
E_Font_Available *fa; E_Font_Available *fa;
Evas_List *fa_list; Evas_List *fa_list;
@ -328,15 +330,15 @@ break;
END_GENERIC(); END_GENERIC();
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
#endif #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) #if (TYPE == E_REMOTE_OPTIONS)
#elif (TYPE == E_REMOTE_OUT) #elif (TYPE == E_REMOTE_OUT)
#elif (TYPE == E_WM_IN) #elif (TYPE == E_WM_IN)
#elif (TYPE == E_REMOTE_IN) #elif (TYPE == E_REMOTE_IN)
GENERIC(HANDLER); GENERIC(HDL);
LIST(); LIST();
DECODE(e_ipc_codec_str_list_dec) { DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) { FOR(dat) {
@ -346,8 +348,37 @@ break;
} }
END_GENERIC(); END_GENERIC();
#endif #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