From: Jihoon Kim Date: Mon, 15 May 2017 23:07:10 +0000 (+0900) Subject: Add commit_content API X-Git-Tag: accepted/tizen/unified/20170605.151002~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a904153e612d411250f26e8620a31919aad49326;p=platform%2Fcore%2Fapi%2Finputmethod.git Add commit_content API Change-Id: I77d31a787f974e8a0bdb483c9333c152b11a70d1 Signed-off-by: Jihoon Kim --- 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 +}