static VoiceControlConfig *g_VoiceControlConfig = nullptr;
-static Ecore_Idler *g_engine_changed_event_idler = NULL;
-static Ecore_Idler *g_language_changed_event_idler = NULL;
-static Ecore_Idler *g_enabled_changed_event_idler = NULL;
+static Ecore_Timer *g_engine_changed_event_invoker = NULL;
+static Ecore_Timer *g_language_changed_event_invoker = NULL;
+static Ecore_Timer *g_enabled_changed_event_invoker = NULL;
static int g_lang_ref_count;
static Ecore_Fd_Handler* g_fd_handler_lang = NULL;
static int unregister_engine_config_updated_event();
static int set_current_language(const char* language);
-static Eina_Bool notify_engine_changed_event_by_idler(void *data)
+static Eina_Bool notify_engine_changed_event_by_invoker(void *data)
{
- SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke engine changed callback by idler");
+ SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke engine changed callback asynchronously");
char *engine_appid = static_cast<char *>(data);
[&engine_appid]() {
if (nullptr == engine_appid) {
}();
free(engine_appid);
- g_engine_changed_event_idler = nullptr;
+ g_engine_changed_event_invoker = nullptr;
return EINA_FALSE;
}
static inline void delete_engine_changed_event_invoker()
{
- if (nullptr != g_engine_changed_event_idler) {
- void *param = ecore_idler_del(g_engine_changed_event_idler);
- g_engine_changed_event_idler = nullptr;
+ if (nullptr != g_engine_changed_event_invoker) {
+ void *param = ecore_timer_del(g_engine_changed_event_invoker);
+ g_engine_changed_event_invoker = nullptr;
free(static_cast<char *>(param));
}
}
}
delete_engine_changed_event_invoker();
- g_engine_changed_event_idler = ecore_idler_add(notify_engine_changed_event_by_idler, static_cast<void *>(param));
+ g_engine_changed_event_invoker = ecore_timer_add(0.0, notify_engine_changed_event_by_invoker, static_cast<void *>(param));
}
static inline void release_language_changed_cb_params(language_changed_cb_parameters_s *params)
delete params;
}
-static Eina_Bool notify_language_changed_event_by_idler(void *data)
+static Eina_Bool notify_language_changed_event_by_invoker(void *data)
{
- SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke language changed callback by idler");
+ SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke language changed callback asynchronously");
language_changed_cb_parameters_s *params = static_cast<language_changed_cb_parameters_s *>(data);
[¶ms]() {
if (nullptr == params) {
}();
release_language_changed_cb_params(params);
- g_language_changed_event_idler = nullptr;
+ g_language_changed_event_invoker = nullptr;
return EINA_FALSE;
}
static inline void delete_language_changed_event_invoker()
{
- if (nullptr != g_language_changed_event_idler) {
- void *params = ecore_idler_del(g_language_changed_event_idler);
- g_language_changed_event_idler = nullptr;
+ if (nullptr != g_language_changed_event_invoker) {
+ void *params = ecore_timer_del(g_language_changed_event_invoker);
+ g_language_changed_event_invoker = nullptr;
release_language_changed_cb_params(static_cast<language_changed_cb_parameters_s *>(params));
}
}
params->current_lang = strdup(current_lang);
delete_language_changed_event_invoker();
- g_engine_changed_event_idler = ecore_idler_add(notify_language_changed_event_by_idler, static_cast<void *>(params));
+ g_language_changed_event_invoker = ecore_timer_add(0.0, notify_language_changed_event_by_invoker, static_cast<void *>(params));
}
-static Eina_Bool notify_enabled_changed_event_by_idler(void *data)
+static Eina_Bool notify_enabled_changed_event_by_invoker(void *data)
{
- SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke enabled changed callback by idler");
+ SLOG(LOG_INFO, vc_config_tag(), "[INFO] Invoke enabled changed callback asynchronously");
bool *enable = static_cast<bool *>(data);
[&enable]() {
if (nullptr == enable) {
}();
free(enable);
- g_enabled_changed_event_idler = nullptr;
+ g_enabled_changed_event_invoker = nullptr;
return EINA_FALSE;
}
static inline void delete_enabled_changed_event_invoker()
{
- if (nullptr != g_enabled_changed_event_idler) {
- void *param = ecore_idler_del(g_enabled_changed_event_idler);
- g_enabled_changed_event_idler = nullptr;
+ if (nullptr != g_enabled_changed_event_invoker) {
+ void *param = ecore_timer_del(g_enabled_changed_event_invoker);
+ g_enabled_changed_event_invoker = nullptr;
free(static_cast<bool *>(param));
}
}
}
delete_enabled_changed_event_invoker();
- g_engine_changed_event_idler = ecore_idler_add(notify_enabled_changed_event_by_idler, static_cast<void *>(param));
+ g_enabled_changed_event_invoker = ecore_timer_add(0.0, notify_enabled_changed_event_by_invoker, static_cast<void *>(param));
}
static int initialize_config_info()