Add commit_content API 55/129255/6
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 15 May 2017 23:07:10 +0000 (08:07 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 30 May 2017 10:55:18 +0000 (19:55 +0900)
Change-Id: I77d31a787f974e8a0bdb483c9333c152b11a70d1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
include/inputmethod.h
src/inputmethod.cpp

index b67cd6a..3c2db3c 100644 (file)
@@ -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);
+
+/**
  * @}
  */
 
index 183d152..7355ab3 100644 (file)
@@ -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
+}