But what does this gain you? I'd say it makes confusing code even more 
confusing. At least with separate blocks you know what is the REPLY and what is 
going out. Get the E_LIB_IN stuff mixed in there and its gunna make some big 
chunks. 

Seems more readable to have separate ops handling the replies as opposed to ops 
which do a dual purpose.

dan




> Hello, 
> 
> Yesterday I was in IRC and asked if it was possible to merge the IPC
> reply handlers into the same cluster and the sending handlers. 
> 
> i.e.
> 
> E_IPC_OP_FONT_FALLBACK_LIST_REPLY
> 
> merged into
> 
> E_IPC_OP_FONT_FALLBACK_LIST
> 
> I have tried this out and it works fine.  It should work because the
> E_IPC_OP_FONT_FALLBACK_LIST_REPLY is "listening" in enlightenment_remote
> and E_IPC_OP_FONT_FALLBACK_LIST is in e_ipc.
> 
> Examle code:
> 
> ==Before==
> 
> #define HDL E_IPC_OP_FONT_FALLBACK_LIST
> #if (TYPE == E_REMOTE_OPTIONS)
>    OP("-font-fallback-list", 0, "List the fallback fonts in order", 1,
> HDL)
> #elif (TYPE == E_REMOTE_OUT)
>    REQ_NULL(HDL);
> #elif (TYPE == E_WM_IN)
>    GENERIC(HDL);
> 
>    LIST_DATA();
>    E_Font_Fallback *ff;
>    FOR(e_config->font_fallbacks) { ff = l->data;
>       dat = evas_list_append(dat, ff->name);
>    }
>    ENCODE(dat, e_ipc_codec_str_list_enc);
>    SEND_DATA(E_IPC_OP_FONT_FALLBACK_LIST_REPLY);
>    evas_list_free(dat);
> 
>    END_GENERIC();
> #elif (TYPE == E_REMOTE_IN)
> #endif
> #undef HDL
> 
> /****************************************************************************/
> #define HDL E_IPC_OP_FONT_FALLBACK_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
> 
> ==After==
> 
> #define HDL E_IPC_OP_FONT_FALLBACK_LIST
> #if (TYPE == E_REMOTE_OPTIONS)
>    OP("-font-fallback-list", 0, "List the fallback fonts in order", 1,
> HDL)
> #elif (TYPE == E_REMOTE_OUT)
>    REQ_NULL(HDL);
> #elif (TYPE == E_WM_IN)
>    GENERIC(HDL);
> 
>    LIST_DATA();
>    E_Font_Fallback *ff;
>    FOR(e_config->font_fallbacks) { ff = l->data;
>       dat = evas_list_append(dat, ff->name);
>    }
>    ENCODE(dat, e_ipc_codec_str_list_enc);
>    SEND_DATA(HDL);
>    evas_list_free(dat);
> 
>    END_GENERIC();
> #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
> 
> 
> -- 
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
> a projector? How fast can you ride your desk chair down the office luge track?
> If you want to score the big prize, get to know the little guy.  
> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 






-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to