From e2aaa5129de299c5353aa35f25f45e39b24bf4f0 Mon Sep 17 00:00:00 2001 From: InHong Han Date: Mon, 10 Aug 2020 19:36:06 +0900 Subject: [PATCH] Add ime_set_engine_loader_flag() interface Change-Id: I628e522feaf6942d059331076bfed28e4ac0538a --- include/inputmethod_internal.h | 15 +++++++++++++++ src/inputmethod.cpp | 17 +++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/include/inputmethod_internal.h b/include/inputmethod_internal.h index 8d357ef..b7c692b 100644 --- a/include/inputmethod_internal.h +++ b/include/inputmethod_internal.h @@ -1072,6 +1072,21 @@ int ime_contract_candidate(void); */ int ime_set_candidate_style(scim::ISF_CANDIDATE_PORTRAIT_LINE_T portrait_line, scim::ISF_CANDIDATE_MODE_T mode); +/** + * @brief Sets flag whether IMEngine is loaded by engine_laoder. + * + * @since_tizen 5.5 + * + * @privilege %http://tizen.org/privilege/ime + * + * @param[in] flag Set with Engine Loader mode + * @return 0 on success, otherwise a negative error value + * @retval #IME_ERROR_NONE No error + * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function + * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet + */ +int ime_set_engine_loader_flag(bool flag); + #ifdef __cplusplus } #endif diff --git a/src/inputmethod.cpp b/src/inputmethod.cpp index db30fa4..7a174b5 100644 --- a/src/inputmethod.cpp +++ b/src/inputmethod.cpp @@ -2721,6 +2721,23 @@ EXPORT_API int ime_set_candidate_style(scim::ISF_CANDIDATE_PORTRAIT_LINE_T portr return IME_ERROR_NONE; } + +EXPORT_API int ime_set_engine_loader_flag(bool flag) +{ + ime_error_e retVal = IME_ERROR_NONE; + + if (!g_running) { + LOGW("IME_ERROR_NOT_RUNNING"); + return IME_ERROR_NOT_RUNNING; + } + + retVal = _check_privilege(); + if (retVal != IME_ERROR_NONE) return retVal; + + g_core.set_engine_loader_flag(flag); + + return IME_ERROR_NONE; +} //LCOV_EXCL_STOP EXPORT_API int ime_set_candidate_visibility_state(bool visible) -- 2.34.1