From: <enl...@li...> - 2005-06-02 21:55:22
|
Enlightenment CVS committal Author : handyande Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e.h e_ipc_handlers.h Log Message: Please can someone say why the E_IPC_OP_DIRS_LIST_REPLY always seems to return a blank -data- ? Other than that, this is dir listing (basics) in =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- e.h 31 May 2005 03:01:52 -0000 1.19 +++ e.h 2 Jun 2005 21:55:11 -0000 1.20 @@ -71,6 +71,7 @@ #define E_WM_IN 3 #define E_REMOTE_IN 4 #define E_ENUM 5 +#define E_LIB_IN 6 #define E_TYPEDEFS 1 #include "e_includes.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_ipc_handlers.h 2 Jun 2005 17:43:24 -0000 1.14 +++ e_ipc_handlers.h 2 Jun 2005 21:55:11 -0000 1.15 @@ -124,16 +124,7 @@ Evas_List *dat = NULL, *l; #define DECODE(__dec) \ - if (__dec(e->data, e->size, &dat)) - -#define SEND_DIR_LIST(__pathtype, __replytype) \ - GENERIC(HDL); \ - Evas_List *dir_list; \ - dir_list = e_path_dir_list_get(__pathtype); \ - ENCODE(dir_list, e_ipc_codec_str_list_enc); \ - SEND_DATA(__replytype); \ - END_GENERIC(); - + if (dat && __dec(e->data, e->size, &dat)) #endif @@ -450,7 +441,7 @@ /****************************************************************************/ #define HDL E_IPC_OP_SHUTDOWN #if (TYPE == E_REMOTE_OPTIONS) - OP("-shutdown", 0, "Shutdown (exit) Enlightenment", 1, HDL) + OP("-shutdown", 0, "Shutdown (exit) Enlightenment", 0, HDL) #elif (TYPE == E_REMOTE_OUT) REQ_NULL(HDL); #elif (TYPE == E_WM_IN) @@ -465,6 +456,55 @@ +/****************************************************************************/ +#define HDL E_IPC_OP_DIRS_LIST +#if (TYPE == E_REMOTE_OPTIONS) + OP("-dirs-list", 1, "List the directory of type specified by 'OPT1', try 'backgrounds'", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_STRING(params[0], HDL); +#elif (TYPE == E_WM_IN) + STRING(s, HDL); + LIST_DATA() + Evas_List *dir_list = NULL; + if (!strcmp(s, "backgrounds")) + dir_list = e_path_dir_list_get(path_backgrounds); + E_Path_Dir *p; + FOR(dir_list) { p = l->data; + dat = evas_list_append(dat, p->dir); + } + + ENCODE(dat, e_ipc_codec_str_list_enc); + SEND_DATA(E_IPC_OP_DIRS_LIST_REPLY); + evas_list_free(dat); + e_path_dir_list_free(dir_list); + END_STRING(s) +#elif (TYPE == E_REMOTE_IN) +#elif (TYPE == E_LIB_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_DIRS_LIST_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + GENERIC(HDL); + LIST(); + DECODE(e_ipc_codec_str_list_dec) { + FOR(dat) { + printf("REPLY: \"%s\"\n", (char *)(l->data)); + } + FREE_LIST(dat); + } + END_GENERIC(); +#endif +#undef HDL + + + + + #if 0 } #endif |