#include "vc_elm_tools.h"
#include "vc_elm_tooltip.h"
#include "vc_elm_widget_wrapper.h"
-#include <voice_control_widget.h>
/**
* @brief Internal variable. It can check whether voice control elm is initilaized or not.
int vc_elm_foreach_supported_languages(vc_elm_supported_language_cb callback, void *user_data)
{
- int ret;
+ int ret = 0;
if (0 != __vc_elm_get_feature_enabled()) {
return VC_ELM_ERROR_NOT_SUPPORTED;
}
return VC_ELM_ERROR_PERMISSION_DENIED;
}
- ret = vc_widget_foreach_supported_languages(callback, user_data);
- switch (ret) {
- case VC_ERROR_NONE:
- ret = VC_ELM_ERROR_NONE;
- break;
- case VC_ERROR_INVALID_PARAMETER:
- ret = VC_ELM_ERROR_INVALID_PARAMETER;
- break;
- case VC_ERROR_INVALID_STATE:
- ret = VC_ELM_ERROR_INVALID_STATE;
- break;
- default:
- ret = VC_ELM_ERROR_OPERATION_FAILED;
- break;
- }
+ ret = _vc_elm_widget_wrapper_foreach_supported_languages(callback, user_data);
return ret;
}
int vc_elm_get_current_language(char **language)
{
- int ret;
+ int ret = 0;
if (0 != __vc_elm_get_feature_enabled()) {
return VC_ELM_ERROR_NOT_SUPPORTED;
}
return VC_ELM_ERROR_PERMISSION_DENIED;
}
- ret = vc_widget_get_current_language(language);
- switch (ret) {
- case VC_ERROR_NONE:
- ret = VC_ELM_ERROR_NONE;
- break;
- case VC_ERROR_INVALID_PARAMETER:
- ret = VC_ELM_ERROR_INVALID_PARAMETER;
- break;
- case VC_ERROR_OUT_OF_MEMORY:
- ret = VC_ELM_ERROR_OUT_OF_MEMORY;
- break;
- case VC_ERROR_INVALID_STATE:
- ret = VC_ELM_ERROR_INVALID_STATE;
- break;
- default:
- ret = VC_ELM_ERROR_OPERATION_FAILED;
- break;
- }
+ ret = _vc_elm_widget_wrapper_get_current_language(language);
return ret;
}
static int __is_hidden_widget(Evas_Object *obj);
-static void __vc_elm_core_free_default_actions();
-
/**
* @brief Function that returns the name of the widget
* @param[in] handle to widget's Evas_Object structure
while (NULL != parent_info) {
if (EINA_TRUE == parent_info->focusable) {
VC_ELM_LOG_DBG("Focusable Parent");
- char* widget_type = elm_widget_type_get((parent_info->address));
+ char* widget_type = elm_widget_type_get((Evas_Object*)(parent_info->address));
VC_ELM_LOG_DBG("type (%s)", widget_type);
Elm_Object_Item* item = NULL;
if (NULL != widget_type && !strcmp(widget_type, "Elm_Genlist")) {
unsigned int idx;
for (idx = 0; idx < info->actions_count; ++idx)
eina_stringshare_del(info->actions[idx].name);
+ free(info->actions);
free(info);
}
g_allowed_text_part_list = NULL;
}
- __vc_elm_core_free_default_actions();
-
eina_hash_free(g_widget_info_hash);
g_widget_info_hash = NULL;
return info;
}
-static void __vc_elm_core_free_action(const char* widget_name)
-{
- struct vc_elm_core_widget_info *info = NULL;
- info = eina_hash_find(g_widget_info_hash, widget_name);
-
- if (!info) {
- VC_ELM_LOG_ERR("Widget was not registered: %s", widget_name);
- } else {
- free(info->actions);
- info->actions = NULL;
- VC_ELM_LOG_ERR("Widget action is freed: %s", widget_name);
- }
-}
-
-static void __vc_elm_core_free_default_actions()
-{
- __vc_elm_core_free_action("Elm_Genlist");
- __vc_elm_core_free_action("Elm_Radio");
- __vc_elm_core_free_action("Elm_Bubble");
- __vc_elm_core_free_action("Elm_Check");
- __vc_elm_core_free_action("Elm_List");
- __vc_elm_core_free_action("Elm_Slider");
- __vc_elm_core_free_action("Elm_Colorselector");
- __vc_elm_core_free_action("simple_hue_colorbar_activator");
- __vc_elm_core_free_action("simple_saturation_colorbar_activator");
- __vc_elm_core_free_action("simple_value_colorbar_activator");
- __vc_elm_core_free_action("Elm_Spinner");
- __vc_elm_core_free_action("Elm_Panes");
- __vc_elm_core_free_action("Elm_Toolbar");
- __vc_elm_core_free_action("Elm_Entry");
- __vc_elm_core_free_action("Elm_Multibuttonentry");
- __vc_elm_core_free_action("elm_item");
- __vc_elm_core_free_action("Elm_Gengrid");
- __vc_elm_core_free_action("Elm_Button");
- __vc_elm_core_free_action("Elm_Scroller");
- __vc_elm_core_free_action("Elm_Hoversel");
- __vc_elm_core_free_action("Elm_Label");
-}
-
void _vc_elm_core_register_action(struct vc_elm_core_widget_info *info, const char *action_name, void *data, vc_elm_action_activator_cb action_activator_func)
{
unsigned int idx = 0;
static struct __voice_control_wrapper_s vcw = {0, 0, 0, 0, 0, 0, 0, 0};
+static vc_h g_vc_w;
+
static void __vc_state_changed_cb(vc_state_e previous, vc_state_e current, void *user_data);
static void __vc_service_state_changed_cb(vc_service_state_e previous, vc_service_state_e current, void *user_data);
static void __vc_error_cb(vc_error_e reason, void *user_data);
}
vcw.initialized = 1;
- VC_ERROR_CHECK(vc_widget_initialize());
- VC_ERROR_CHECK(vc_widget_set_error_cb(&__vc_error_cb, NULL));
- VC_ERROR_CHECK(vc_widget_set_show_tooltip_cb(&__vc_show_tooltip_callback, NULL));
- VC_ERROR_CHECK(vc_widget_set_result_cb(&__vc_result_cb, NULL));
- VC_ERROR_CHECK(vc_widget_set_state_changed_cb(&__vc_state_changed_cb, NULL));
- VC_ERROR_CHECK(vc_widget_set_service_state_changed_cb(&__vc_service_state_changed_cb, NULL));
- VC_ERROR_CHECK(vc_widget_set_current_language_changed_cb(&__vc_language_changed_cb, NULL));
- VC_ERROR_CHECK(vc_widget_set_send_current_command_list_cb(__vc_widget_send_current_command_group_cb, NULL));
- VC_ERROR_CHECK(vc_widget_prepare());
+ VC_ERROR_CHECK(vc_widget_initialize(&g_vc_w));
+ VC_ERROR_CHECK(vc_widget_set_error_cb(g_vc_w, &__vc_error_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_set_show_tooltip_cb(g_vc_w, &__vc_show_tooltip_callback, NULL));
+ VC_ERROR_CHECK(vc_widget_set_result_cb(g_vc_w, &__vc_result_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_set_state_changed_cb(g_vc_w, &__vc_state_changed_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_set_service_state_changed_cb(g_vc_w, &__vc_service_state_changed_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_set_current_language_changed_cb(g_vc_w, &__vc_language_changed_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_set_send_current_command_list_cb(g_vc_w, __vc_widget_send_current_command_group_cb, NULL));
+ VC_ERROR_CHECK(vc_widget_prepare(g_vc_w));
VC_ELM_LOG_DBG("VC default language used %s", lang);
vcw.lang = lang;
vcw.lang = NULL;
}
- VC_ERROR_CHECK(vc_widget_unprepare());
- VC_ERROR_CHECK(vc_widget_deinitialize());
+ VC_ERROR_CHECK(vc_widget_unprepare(g_vc_w));
+ VC_ERROR_CHECK(vc_widget_deinitialize(g_vc_w));
vcw.initialized = 0;
return 0;
case VC_STATE_READY:
curr = "VC_STATE_READY";
//vc_widget_set_foreground(EINA_TRUE);
- vc_widget_get_current_language(&tmp_lang);
+ vc_widget_get_current_language(g_vc_w, &tmp_lang);
if (NULL != tmp_lang) {
int ret = asprintf(&lang, "%s.UTF-8", tmp_lang);
if (-1 == ret) {
int ret = VC_ELM_ERROR_NONE;
VC_ELM_LOG_DBG("===========");
- ret = vc_widget_cancel();
+ ret = vc_widget_cancel(g_vc_w);
if (VC_ELM_ERROR_NONE != ret) {
VC_ELM_LOG_ERR("Error while widget cancel (%d)", ret);
}
return ret;
}
+int _vc_elm_widget_wrapper_foreach_supported_languages(vc_elm_supported_language_cb callback, void *data)
+{
+ int ret = VC_ELM_ERROR_NONE;
+ VC_ELM_LOG_DBG("==========");
+
+ ret = vc_widget_foreach_supported_languages(g_vc_w, callback, data);
+ switch (ret) {
+ case VC_ERROR_NONE:
+ ret = VC_ELM_ERROR_NONE;
+ break;
+ case VC_ERROR_INVALID_PARAMETER:
+ ret = VC_ELM_ERROR_INVALID_PARAMETER;
+ break;
+ case VC_ERROR_INVALID_STATE:
+ ret = VC_ELM_ERROR_INVALID_STATE;
+ break;
+ default:
+ ret = VC_ELM_ERROR_OPERATION_FAILED;
+ break;
+ }
+
+ if (VC_ELM_ERROR_NONE != ret) {
+ VC_ELM_LOG_ERR("[ERROR] Fail to foreach supported langauge(%d)", ret);
+ }
+
+ return ret;
+}
+
+int _vc_elm_widget_wrapper_get_current_language(char** language)
+{
+ int ret = VC_ELM_ERROR_NONE;
+ VC_ELM_LOG_DBG("==========");
+
+ ret = vc_widget_get_current_language(g_vc_w, language);
+ switch (ret) {
+ case VC_ERROR_NONE:
+ ret = VC_ELM_ERROR_NONE;
+ break;
+ case VC_ERROR_INVALID_PARAMETER:
+ ret = VC_ELM_ERROR_INVALID_PARAMETER;
+ break;
+ case VC_ERROR_OUT_OF_MEMORY:
+ ret = VC_ELM_ERROR_OUT_OF_MEMORY;
+ break;
+ case VC_ERROR_INVALID_STATE:
+ ret = VC_ELM_ERROR_INVALID_STATE;
+ break;
+ default:
+ ret = VC_ELM_ERROR_OPERATION_FAILED;
+ break;
+ }
+
+ if (VC_ELM_ERROR_NONE != ret) {
+ VC_ELM_LOG_ERR("[ERROR] Fail to get current language(%d)", ret);
+ }
+ return ret;
+}
\ No newline at end of file
#include <stdbool.h>
+#include "vc_elm.h"
typedef int (*vc_elm_widget_wrapper_result_cb)(const char *cmd, const char *param1, const char *param2, void *data);
int _vc_elm_widget_wrapper_cancel();
+int _vc_elm_widget_wrapper_foreach_supported_languages(vc_elm_supported_language_cb callback, void *data);
+
+int _vc_elm_widget_wrapper_get_current_language(char** language);
+
#ifdef __cplusplus
}
#endif