return wkb_config_key_get_string(key);
}
+char **
+wkb_ibus_config_eet_get_value_string_list(struct wkb_ibus_config_eet *config_eet, const char *section, const char *name)
+{
+ struct wkb_config_key *key;
+
+ if (!(key = _config_section_find_key(config_eet->ibus_config, section, name)))
+ {
+ ERR("Config key with id '%s' not found", name);
+ return NULL;
+ }
+
+ DBG("Found key: section = <%s> name = <%s>", section, name);
+
+ return wkb_config_key_get_string_list(key);
+}
+
Eina_Bool
wkb_ibus_config_eet_get_values(struct wkb_ibus_config_eet *config_eet, const char *section, Eldbus_Message_Iter *reply)
{
int wkb_ibus_config_eet_get_value_int(struct wkb_ibus_config_eet *config_eet, const char *section, const char *name);
Eina_Bool wkb_ibus_config_eet_get_value_bool(struct wkb_ibus_config_eet *config_eet, const char *section, const char *name);
const char *wkb_ibus_config_eet_get_value_string(struct wkb_ibus_config_eet *config_eet, const char *section, const char *name);
+char **wkb_ibus_config_eet_get_value_string_list(struct wkb_ibus_config_eet *config_eet, const char *section, const char *name);
#ifdef __cplusplus
}
#endif
return *((const char **) key->field);
}
+char **
+wkb_config_key_get_string_list(struct wkb_config_key *key)
+{
+ Eina_List *node, **list = (Eina_List **) key->field;
+ char *str, **ret;
+ int i = 0;
+
+ assert(!strcmp(key->signature, "as"));
+
+ ret = calloc(eina_list_count(*list) + 1, sizeof(char *));
+ EINA_LIST_FOREACH(*list, node, str)
+ ret[i++] = str;
+
+ return ret;
+}
+
int wkb_config_key_get_int(struct wkb_config_key* key);
Eina_Bool wkb_config_key_get_bool(struct wkb_config_key* key);
const char *wkb_config_key_get_string(struct wkb_config_key* key);
+char **wkb_config_key_get_string_list(struct wkb_config_key *key);
#ifdef __cplusplus
}
return wkb_ibus_config_eet_get_value_string(_conf_eet, section, name);
}
+char **
+wkb_ibus_config_get_value_string_list(const char *section, const char *name)
+{
+ if (!_conf_eet)
+ return NULL;
+
+ return wkb_ibus_config_eet_get_value_string_list(_conf_eet, section, name);
+}
+
static Eldbus_Message *
_config_set_value(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
{
/*
* Copyright © 2014 Jaguar Landrover
+ * Copyright © 2014 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
int wkb_ibus_config_get_value_int(const char *section, const char *name);
Eina_Bool wkb_ibus_config_get_value_bool(const char *section, const char *name);
const char *wkb_ibus_config_get_value_string(const char *section, const char *name);
+char **wkb_ibus_config_get_value_string_list(const char *section, const char *name);
#ifdef __cplusplus
}