forked from enlightenment/enlightenment
Port lang to new IPC - added in get/set to lib, but not list as I am too tired
SVN revision: 15209
This commit is contained in:
parent
327adc2ad0
commit
1599d53551
|
@ -215,47 +215,6 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_IPC_OP_LANG_LIST:
|
|
||||||
{
|
|
||||||
Evas_List *langs;
|
|
||||||
int bytes;
|
|
||||||
char *data;
|
|
||||||
|
|
||||||
langs = (Evas_List *)e_intl_language_list();
|
|
||||||
data = _e_ipc_str_list_get(langs, &bytes);
|
|
||||||
ecore_ipc_client_send(e->client,
|
|
||||||
E_IPC_DOMAIN_REPLY,
|
|
||||||
E_IPC_OP_LANG_LIST_REPLY,
|
|
||||||
0/*ref*/, 0/*ref_to*/, 0/*response*/,
|
|
||||||
data, bytes);
|
|
||||||
free(data);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case E_IPC_OP_LANG_SET:
|
|
||||||
{
|
|
||||||
char *lang;
|
|
||||||
|
|
||||||
lang = _e_ipc_simple_str_dec(e->data, e->size);
|
|
||||||
IF_FREE(e_config->language);
|
|
||||||
e_config->language = lang;
|
|
||||||
e_intl_language_set(e_config->language);
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case E_IPC_OP_LANG_GET:
|
|
||||||
{
|
|
||||||
char *lang;
|
|
||||||
|
|
||||||
lang = e_config->language;
|
|
||||||
if (!lang) lang = "";
|
|
||||||
ecore_ipc_client_send(e->client,
|
|
||||||
E_IPC_DOMAIN_REPLY,
|
|
||||||
E_IPC_OP_LANG_GET_REPLY,
|
|
||||||
0/*ref*/, 0/*ref_to*/, 0/*response*/,
|
|
||||||
lang, strlen(lang) + 1);
|
|
||||||
free(data);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case E_IPC_OP_BINDING_MOUSE_LIST:
|
case E_IPC_OP_BINDING_MOUSE_LIST:
|
||||||
{
|
{
|
||||||
Evas_List *bindings;
|
Evas_List *bindings;
|
||||||
|
|
|
@ -539,6 +539,7 @@ break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
#define HDL E_IPC_OP_RESTART
|
#define HDL E_IPC_OP_RESTART
|
||||||
#if (TYPE == E_REMOTE_OPTIONS)
|
#if (TYPE == E_REMOTE_OPTIONS)
|
||||||
|
@ -567,6 +568,86 @@ break;
|
||||||
#endif
|
#endif
|
||||||
#undef HDL
|
#undef HDL
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
#define HDL E_IPC_OP_LANG_LIST
|
||||||
|
#if (TYPE == E_REMOTE_OPTIONS)
|
||||||
|
OP("-lang-list", 0, "List all available languages", 1, HDL)
|
||||||
|
#elif (TYPE == E_REMOTE_OUT)
|
||||||
|
REQ_NULL(HDL);
|
||||||
|
#elif (TYPE == E_WM_IN)
|
||||||
|
GENERIC(HDL);
|
||||||
|
LIST_DATA();
|
||||||
|
ENCODE((Evas_List *)e_intl_language_list(), e_ipc_codec_str_list_enc);
|
||||||
|
SEND_DATA(E_IPC_OP_LANG_LIST_REPLY);
|
||||||
|
END_GENERIC();
|
||||||
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
|
#endif
|
||||||
|
#undef HDL
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
#define HDL E_IPC_OP_LANG_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
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
#define HDL E_IPC_OP_LANG_SET
|
||||||
|
#if (TYPE == E_REMOTE_OPTIONS)
|
||||||
|
OP("-lang-set", 1, "Set the current language to 'OPT1'", 0, HDL)
|
||||||
|
#elif (TYPE == E_REMOTE_OUT)
|
||||||
|
REQ_STRING(params[0], HDL);
|
||||||
|
#elif (TYPE == E_WM_IN)
|
||||||
|
STRING(s, HDL);
|
||||||
|
IF_FREE(e_config->language);
|
||||||
|
e_config->language = strdup(s);
|
||||||
|
e_intl_language_set(e_config->language);
|
||||||
|
SAVE;
|
||||||
|
END_STRING(s);
|
||||||
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
|
#endif
|
||||||
|
#undef HDL
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
#define HDL E_IPC_OP_LANG_GET
|
||||||
|
#if (TYPE == E_REMOTE_OPTIONS)
|
||||||
|
OP("-lang-get", 0, "Get the current language", 1, HDL)
|
||||||
|
#elif (TYPE == E_REMOTE_OUT)
|
||||||
|
REQ_NULL(HDL);
|
||||||
|
#elif (TYPE == E_WM_IN)
|
||||||
|
SEND_STRING(e_config->language, E_IPC_OP_LANG_GET_REPLY, HDL);
|
||||||
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
|
#endif
|
||||||
|
#undef HDL
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
#define HDL E_IPC_OP_LANG_GET_REPLY
|
||||||
|
#if (TYPE == E_REMOTE_OPTIONS)
|
||||||
|
#elif (TYPE == E_REMOTE_OUT)
|
||||||
|
#elif (TYPE == E_WM_IN)
|
||||||
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
|
STRING(s, HDL);
|
||||||
|
printf("REPLY: \"%s\"\n", s);
|
||||||
|
END_STRING(s);
|
||||||
|
#elif (TYPE == E_LIB_IN)
|
||||||
|
STRING(s, HDL);
|
||||||
|
RESPONSE(r, E_Response_Language_Get, HDL);
|
||||||
|
r->lang = strdup(s);
|
||||||
|
END_RESPONSE(r, E_RESPONSE_LANGUAGE_GET);
|
||||||
|
END_STRING(s);
|
||||||
|
#endif
|
||||||
|
#undef HDL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -574,9 +574,6 @@ E_IPC_Opt_Handler handlers[] =
|
||||||
OSTR("-font-default-remove", "Remove the default text class OPT1", E_IPC_OP_FONT_DEFAULT_REMOVE, 0),
|
OSTR("-font-default-remove", "Remove the default text class OPT1", E_IPC_OP_FONT_DEFAULT_REMOVE, 0),
|
||||||
OREQ("-font-default-list", "List all configured text classes", E_IPC_OP_FONT_DEFAULT_LIST, 1),
|
OREQ("-font-default-list", "List all configured text classes", E_IPC_OP_FONT_DEFAULT_LIST, 1),
|
||||||
OMUL("-font-default-set", "Set textclass (OPT1) font (OPT2) and size (OPT3)", E_IPC_OP_FONT_DEFAULT_SET, 0, 3),
|
OMUL("-font-default-set", "Set textclass (OPT1) font (OPT2) and size (OPT3)", E_IPC_OP_FONT_DEFAULT_SET, 0, 3),
|
||||||
OREQ("-lang-get", "Get the current language", E_IPC_OP_LANG_GET, 1),
|
|
||||||
OREQ("-lang-list", "List all available languages", E_IPC_OP_LANG_LIST, 1),
|
|
||||||
OSTR("-lang-set", "Set the current language", E_IPC_OP_LANG_SET, 0),
|
|
||||||
OREQ("-binding-mouse-list", "List all mouse bindings", E_IPC_OP_BINDING_MOUSE_LIST, 1),
|
OREQ("-binding-mouse-list", "List all mouse bindings", E_IPC_OP_BINDING_MOUSE_LIST, 1),
|
||||||
OFNC("-binding-mouse-add", "Add an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_add, 0),
|
OFNC("-binding-mouse-add", "Add an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_add, 0),
|
||||||
OFNC("-binding-mouse-del", "Delete an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_del, 0),
|
OFNC("-binding-mouse-del", "Delete an existing mouse binding. OPT1 = Context, OPT2 = button, OPT3 = modifiers, OPT4 = any modifier ok, OPT5 = action, OPT6 = action parameters", 6, _e_opt_binding_mouse_del, 0),
|
||||||
|
@ -921,30 +918,6 @@ _e_ipc_cb_server_data(void *data, int type, void *event)
|
||||||
else
|
else
|
||||||
printf("REPLY: DEFAULT NONE\n");
|
printf("REPLY: DEFAULT NONE\n");
|
||||||
break;
|
break;
|
||||||
case E_IPC_OP_LANG_LIST_REPLY:
|
|
||||||
if (e->data)
|
|
||||||
{
|
|
||||||
Evas_List *langs;
|
|
||||||
|
|
||||||
langs = _e_ipc_str_list_dec(e->data, e->size);
|
|
||||||
if (langs)
|
|
||||||
{
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
for (l = langs; l; l = l->next)
|
|
||||||
printf("REPLY: LANG=\"%s\"\n", (char *)l->data);
|
|
||||||
evas_list_free(langs);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("REPLY: AVAILABLE NONE\n");
|
|
||||||
break;
|
|
||||||
case E_IPC_OP_LANG_GET_REPLY:
|
|
||||||
if (e->data)
|
|
||||||
{
|
|
||||||
printf("REPLY: %s\n", (char *)e->data);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case E_IPC_OP_BINDING_MOUSE_LIST_REPLY:
|
case E_IPC_OP_BINDING_MOUSE_LIST_REPLY:
|
||||||
if (e->data)
|
if (e->data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,12 +18,12 @@
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* FIXME: this is all borken right now :( */
|
|
||||||
|
|
||||||
typedef struct _E_Response_Module_List E_Response_Module_List;
|
typedef struct _E_Response_Module_List E_Response_Module_List;
|
||||||
typedef struct _E_Response_Module_Data E_Response_Module_Data;
|
typedef struct _E_Response_Module_Data E_Response_Module_Data;
|
||||||
typedef struct _E_Response_Dirs_List E_Response_Dirs_List;
|
typedef struct _E_Response_Dirs_List E_Response_Dirs_List;
|
||||||
typedef struct _E_Response_Background_Get E_Response_Background_Get;
|
typedef struct _E_Response_Background_Get E_Response_Background_Get;
|
||||||
|
typedef struct _E_Response_Language_Get E_Response_Language_Get;
|
||||||
|
|
||||||
struct _E_Response_Module_List
|
struct _E_Response_Module_List
|
||||||
{
|
{
|
||||||
|
@ -48,8 +48,14 @@ struct _E_Response_Background_Get
|
||||||
char *file;
|
char *file;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _E_Response_Language_Get
|
||||||
|
{
|
||||||
|
char *lang;
|
||||||
|
};
|
||||||
|
|
||||||
extern EAPI int E_RESPONSE_MODULE_LIST;
|
extern EAPI int E_RESPONSE_MODULE_LIST;
|
||||||
extern EAPI int E_RESPONSE_BACKGROUND_GET;
|
extern EAPI int E_RESPONSE_BACKGROUND_GET;
|
||||||
|
extern EAPI int E_RESPONSE_LANGUAGE_GET;
|
||||||
|
|
||||||
extern EAPI int E_RESPONSE_DATA_DIRS_LIST;
|
extern EAPI int E_RESPONSE_DATA_DIRS_LIST;
|
||||||
extern EAPI int E_RESPONSE_IMAGE_DIRS_LIST;
|
extern EAPI int E_RESPONSE_IMAGE_DIRS_LIST;
|
||||||
|
@ -81,6 +87,10 @@ extern "C" {
|
||||||
EAPI void e_lib_background_set (const char *bgfile);
|
EAPI void e_lib_background_set (const char *bgfile);
|
||||||
EAPI void e_lib_background_get (void);
|
EAPI void e_lib_background_get (void);
|
||||||
|
|
||||||
|
/* languages */
|
||||||
|
EAPI void e_lib_language_set (const char *lang);
|
||||||
|
EAPI void e_lib_language_get (void);
|
||||||
|
|
||||||
/* E path information */
|
/* E path information */
|
||||||
EAPI void e_lib_data_dirs_list (void);
|
EAPI void e_lib_data_dirs_list (void);
|
||||||
EAPI void e_lib_image_dirs_list (void);
|
EAPI void e_lib_image_dirs_list (void);
|
||||||
|
|
|
@ -49,14 +49,13 @@ static void _e_ipc_call(E_Ipc_Op opcode, char **params);
|
||||||
static int _e_cb_server_data(void *data, int type, void *event);
|
static int _e_cb_server_data(void *data, int type, void *event);
|
||||||
|
|
||||||
static void _e_cb_module_list_free(void *data, void *ev);
|
static void _e_cb_module_list_free(void *data, void *ev);
|
||||||
static void _e_cb_module_dir_list_free(void *data, void *ev);
|
static void _e_cb_dir_list_free(void *data __UNUSED__, void *ev);
|
||||||
static void _e_cb_bg_dir_list_free(void *data, void *ev);
|
|
||||||
static void _e_cb_theme_dir_list_free(void *data __UNUSED__, void *ev);
|
|
||||||
|
|
||||||
static Ecore_Ipc_Server *_e_ipc_server = NULL;
|
static Ecore_Ipc_Server *_e_ipc_server = NULL;
|
||||||
|
|
||||||
int E_RESPONSE_MODULE_LIST = 0;
|
int E_RESPONSE_MODULE_LIST = 0;
|
||||||
int E_RESPONSE_BACKGROUND_GET = 0;
|
int E_RESPONSE_BACKGROUND_GET = 0;
|
||||||
|
int E_RESPONSE_LANGUAGE_GET = 0;
|
||||||
|
|
||||||
int E_RESPONSE_DATA_DIRS_LIST = 0;
|
int E_RESPONSE_DATA_DIRS_LIST = 0;
|
||||||
int E_RESPONSE_IMAGE_DIRS_LIST = 0;
|
int E_RESPONSE_IMAGE_DIRS_LIST = 0;
|
||||||
|
@ -141,6 +140,7 @@ e_lib_init(const char* display)
|
||||||
{
|
{
|
||||||
E_RESPONSE_MODULE_LIST = ecore_event_type_new();
|
E_RESPONSE_MODULE_LIST = ecore_event_type_new();
|
||||||
E_RESPONSE_BACKGROUND_GET = ecore_event_type_new();
|
E_RESPONSE_BACKGROUND_GET = ecore_event_type_new();
|
||||||
|
E_RESPONSE_LANGUAGE_GET = ecore_event_type_new();
|
||||||
|
|
||||||
E_RESPONSE_DATA_DIRS_LIST = ecore_event_type_new();
|
E_RESPONSE_DATA_DIRS_LIST = ecore_event_type_new();
|
||||||
E_RESPONSE_IMAGE_DIRS_LIST = ecore_event_type_new();
|
E_RESPONSE_IMAGE_DIRS_LIST = ecore_event_type_new();
|
||||||
|
@ -240,6 +240,24 @@ e_lib_background_get(void)
|
||||||
_e_ipc_call(E_IPC_OP_BG_GET, NULL);
|
_e_ipc_call(E_IPC_OP_BG_GET, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_lib_language_set(const char *lang)
|
||||||
|
{
|
||||||
|
char *tmp;
|
||||||
|
if (!lang)
|
||||||
|
return;
|
||||||
|
|
||||||
|
tmp = strdup(lang);
|
||||||
|
_e_ipc_call(E_IPC_OP_LANG_SET, &tmp);
|
||||||
|
free(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_lib_language_get(void)
|
||||||
|
{
|
||||||
|
_e_ipc_call(E_IPC_OP_LANG_GET, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_lib_data_dirs_list(void)
|
e_lib_data_dirs_list(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue