From dd87adee71621ffa940ce4fe865cbded3f034a8f Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 2 Jun 2017 19:17:29 +0900 Subject: [PATCH] Add commit_content API Change-Id: I0daf08dc3f2535f0442fb581c3aec8a6a0372e13 Signed-off-by: Jihoon Kim --- include/inputmethod.h | 20 ++++++++++++++++++++ src/inputmethod.cpp | 27 ++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/include/inputmethod.h b/include/inputmethod.h index b67cd6a..3c2db3c 100644 --- a/include/inputmethod.h +++ b/include/inputmethod.h @@ -2190,6 +2190,26 @@ EXPORT_API int ime_event_set_prediction_hint_cb(ime_prediction_hint_set_cb callb EXPORT_API int ime_send_private_command(const char *command); /** + * @brief Commit a content such as image to the associated text input UI control. + * + * @since_tizen 4.0 + * + * @privlevel public + * + * @privilege %http://tizen.org/privilege/ime + * + * @param[in] content The content URI to be sent + * @param[in] description The content description + * @param[in] mime_types The MIME types + * + * @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 + */ +EXPORT_API int ime_commit_content(const char *content, const char *description, const char *mime_types); + +/** * @} */ diff --git a/src/inputmethod.cpp b/src/inputmethod.cpp index 183d152..7355ab3 100644 --- a/src/inputmethod.cpp +++ b/src/inputmethod.cpp @@ -1502,6 +1502,31 @@ int ime_send_private_command(const char *command) return IME_ERROR_NONE; } +int ime_commit_content(const char *content, const char *description, const char *mime_types) +{ + ime_error_e retVal = IME_ERROR_NONE; + + if (!content || !description || !mime_types) { + LOGW("IME_ERROR_INVALID_PARAMETER"); + return IME_ERROR_INVALID_PARAMETER; + } + + if (!g_running) { + LOGW("IME_ERROR_NOT_RUNNING"); + return IME_ERROR_NOT_RUNNING; + } + + retVal = _check_privilege(); + if (retVal != IME_ERROR_NONE) { + LOGE("_check_privilege returned %d.", retVal); + return retVal; + } + + g_core.commit_content(content, description, mime_types); + + return IME_ERROR_NONE; +} + int ime_context_get_layout(ime_context_h context, Ecore_IMF_Input_Panel_Layout *layout) { ime_error_e retVal = IME_ERROR_NONE; @@ -1976,4 +2001,4 @@ int ime_event_set_prediction_hint_cb(ime_prediction_hint_set_cb callback_func, v g_event_callback.prediction_hint_set_user_data = user_data; return IME_ERROR_NONE; -} \ No newline at end of file +} -- 2.7.4