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
/* 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;

View File

@ -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