#include <string.h>
#include <dlog.h>
#include <sclcore.h>
+#include <unistd.h>
+#include <privilege_checker_private.h>
#include "inputmethod_private.h"
#include <inputmethod.h>
}
}
+ime_error_e _check_privilege()
+{
+ char uid[16];
+ ime_error_e ret = IME_ERROR_NONE;
+
+ if (inputmethod_cynara_initialize() == false) {
+ LOGE("inputmethod_cynara_initialize () == false");
+ return IME_ERROR_PERMISSION_DENIED;
+ }
+
+ snprintf(uid, 16, "%d", getuid());
+ if (check_privilege(uid, IME_PRIVILEGE) == false) {
+ LOGE("check_privilege(uid, IME_PRIVILEGE) == false");
+ LOGE("uid : %s.", uid);
+ ret = IME_ERROR_PERMISSION_DENIED;
+ }
+
+ inputmethod_cynara_finish ();
+
+ return ret;
+}
+
int ime_run(ime_callback_s *basic_cb, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (g_running) {
LOGE("inputmethod main loop is already running.");
return IME_ERROR_OPERATION_FAILED;
return IME_ERROR_INVALID_PARAMETER;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_basic_callback = *basic_cb;
if (!g_basic_callback.create || !g_basic_callback.terminate ||
int ime_event_set_focus_in_cb(ime_focus_in_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.focus_in = callback_func;
g_event_callback.focus_in_user_data = user_data;
int ime_event_set_focus_out_cb(ime_focus_out_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.focus_out = callback_func;
g_event_callback.focus_out_user_data = user_data;
int ime_event_set_surrounding_text_updated_cb(ime_surrounding_text_updated_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.surrounding_text_updated = callback_func;
g_event_callback.surrounding_text_updated_user_data = user_data;
int ime_event_set_input_context_reset_cb(ime_input_context_reset_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.input_context_reset = callback_func;
g_event_callback.input_context_reset_user_data = user_data;
int ime_event_set_cursor_position_updated_cb(ime_cursor_position_updated_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.cursor_position_updated = callback_func;
g_event_callback.cursor_position_updated_user_data = user_data;
int ime_event_set_language_requested_cb(ime_language_requested_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.language_requested = callback_func;
g_event_callback.language_requested_user_data = user_data;
int ime_event_set_language_set_cb(ime_language_set_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.language_set = callback_func;
g_event_callback.language_set_user_data = user_data;
int ime_event_set_imdata_set_cb(ime_imdata_set_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.imdata_set = callback_func;
g_event_callback.imdata_set_user_data = user_data;
int ime_event_set_imdata_requested_cb(ime_imdata_requested_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.imdata_requested = callback_func;
g_event_callback.imdata_requested_user_data = user_data;
int ime_event_set_layout_set_cb(ime_layout_set_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.layout_set = callback_func;
g_event_callback.layout_set_user_data = user_data;
int ime_event_set_return_key_type_set_cb(ime_return_key_type_set_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.return_key_type_set = callback_func;
g_event_callback.return_key_type_set_user_data = user_data;
int ime_event_set_return_key_state_set_cb(ime_return_key_state_set_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.return_key_state_set = callback_func;
g_event_callback.return_key_state_set_user_data = user_data;
int ime_event_set_geometry_requested_cb(ime_geometry_requested_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.geometry_requested = callback_func;
g_event_callback.geometry_requested_user_data = user_data;
int ime_event_set_process_key_event_cb(ime_process_key_event_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.process_key_event = callback_func;
g_event_callback.process_key_event_user_data = user_data;
int ime_event_set_display_language_changed_cb(ime_display_language_changed_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.display_language_changed = callback_func;
g_event_callback.display_language_changed_user_data = user_data;
int ime_event_set_rotation_degree_changed_cb(ime_rotation_degree_changed_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.rotation_degree_changed = callback_func;
g_event_callback.rotation_degree_changed_user_data = user_data;
int ime_event_set_accessibility_state_changed_cb(ime_accessibility_state_changed_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.accessibility_state_changed = callback_func;
g_event_callback.accessibility_state_changed_user_data = user_data;
int ime_event_set_option_window_created_cb(ime_option_window_created_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.option_window_created = callback_func;
g_event_callback.option_window_created_user_data = user_data;
int ime_event_set_option_window_destroyed_cb(ime_option_window_destroyed_cb callback_func, void *user_data)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!callback_func) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_OPERATION_FAILED;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_event_callback.option_window_destroyed = callback_func;
g_event_callback.option_window_destroyed_user_data = user_data;
int ime_send_key_event(ime_key_code_e keycode, ime_key_mask_e keymask, bool forward_key)
{
+ 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) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
if (forward_key)
g_core.forward_key_event(-1, NULL, (sclu32)keycode, (sclu16)keymask);
else
int ime_commit_string(const char *str)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!str) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.commit_string(-1, NULL, str);
return IME_ERROR_NONE;
int ime_show_preedit_string(void)
{
+ 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) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.show_preedit_string(-1, NULL);
return IME_ERROR_NONE;
int ime_hide_preedit_string(void)
{
+ 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) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.hide_preedit_string(-1, NULL);
return IME_ERROR_NONE;
int ime_update_preedit_string(const char *str, Eina_List *attrs)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!str) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
scim::AttributeList attrv;
void *data = NULL;
ime_preedit_attribute *attr = NULL;
int ime_request_surrounding_text(int maxlen_before, int maxlen_after)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!g_event_callback.surrounding_text_updated) {
LOGW("IME_ERROR_NO_CALLBACK_FUNCTION");
return IME_ERROR_NO_CALLBACK_FUNCTION;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.get_surrounding_text(NULL, maxlen_before, maxlen_after);
return IME_ERROR_NONE;
int ime_delete_surrounding_text(int offset, int len)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (len <= 0) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.delete_surrounding_text(offset, len);
return IME_ERROR_NONE;
Evas_Object* ime_get_main_window(void)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
Evas_Object *win = NULL;
if (!g_running) {
return NULL;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ set_last_result(retVal);
+ return NULL;
+ }
+
win = static_cast<Evas_Object*>(g_core.get_main_window());
if (win) {
set_last_result(IME_ERROR_NONE);
int ime_set_size(int portrait_width, int portrait_height, int landscape_width, int landscape_height)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
SclSize portrait_size, landscape_size;
if (portrait_width < 1 || portrait_height < 1 || landscape_width < 1 || landscape_height < 1) {
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
portrait_size.width = portrait_width;
portrait_size.height = portrait_height;
int ime_create_option_window(void)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!g_event_callback.option_window_created || !g_event_callback.option_window_destroyed) {
LOGW("ime_create_option_window_cb() and ime_destroy_option_window_cb() callback functions are not set.");
return IME_ERROR_NO_CALLBACK_FUNCTION;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
if (g_core.create_option_window())
return IME_ERROR_NONE;
else {
int ime_destroy_option_window(Evas_Object *window)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!g_event_callback.option_window_created || !g_event_callback.option_window_destroyed) {
LOGW("ime_create_option_window_cb() and ime_destroy_option_window_cb() callback functions are not set.");
return IME_ERROR_NO_CALLBACK_FUNCTION;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
g_core.destroy_option_window(window);
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;
+
if (!context || !layout) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*layout = context->layout;
return IME_ERROR_NONE;
int ime_context_get_layout_variation(ime_context_h context, ime_layout_variation_e *layout_variation)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !layout_variation) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*layout_variation = static_cast<ime_layout_variation_e>(context->layout_variation);
return IME_ERROR_NONE;
int ime_context_get_cursor_position(ime_context_h context, int *cursor_pos)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !cursor_pos) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*cursor_pos = context->cursor_pos;
return IME_ERROR_NONE;
int ime_context_get_autocapital_type(ime_context_h context, Ecore_IMF_Autocapital_Type *autocapital_type)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !autocapital_type) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*autocapital_type = context->autocapital_type;
return IME_ERROR_NONE;
int ime_context_get_return_key_type(ime_context_h context, Ecore_IMF_Input_Panel_Return_Key_Type *return_key_type)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !return_key_type) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*return_key_type = context->return_key_type;
return IME_ERROR_NONE;
int ime_context_get_return_key_state(ime_context_h context, bool *return_key_state)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !return_key_state) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*return_key_state = static_cast<bool>(context->return_key_disabled);
return IME_ERROR_NONE;
int ime_context_get_prediction_mode(ime_context_h context, bool *prediction_mode)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !prediction_mode) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*prediction_mode = static_cast<bool>(context->prediction_allow);
return IME_ERROR_NONE;
int ime_context_get_password_mode(ime_context_h context, bool *password_mode)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !password_mode) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*password_mode = static_cast<bool>(context->password_mode);
return IME_ERROR_NONE;
int ime_context_get_input_hint(ime_context_h context, Ecore_IMF_Input_Hints *input_hint)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !input_hint) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*input_hint = context->input_hint;
return IME_ERROR_NONE;
int ime_context_get_bidi_direction(ime_context_h context, Ecore_IMF_BiDi_Direction *bidi)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !bidi) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*bidi = context->bidi_direction;
return IME_ERROR_NONE;
int ime_context_get_language(ime_context_h context, Ecore_IMF_Input_Panel_Lang *language)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!context || !language) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*language = context->language;
return IME_ERROR_NONE;
int ime_device_info_get_name(ime_device_info_h dev_info, char **dev_name)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!dev_info || !dev_name) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
if (!dev_info->dev_name)
*dev_name = strdup("");
else
int ime_device_info_get_class(ime_device_info_h dev_info, Ecore_IMF_Device_Class *dev_class)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!dev_info || !dev_class) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*dev_class = dev_info->dev_class;
return IME_ERROR_NONE;
int ime_device_info_get_subclass(ime_device_info_h dev_info, Ecore_IMF_Device_Subclass *dev_subclass)
{
+ ime_error_e retVal = IME_ERROR_NONE;
+
if (!dev_info || !dev_subclass) {
LOGW("IME_ERROR_INVALID_PARAMETER");
return IME_ERROR_INVALID_PARAMETER;
return IME_ERROR_NOT_RUNNING;
}
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) {
+ LOGE("_check_privilege returned %d.", retVal);
+ return retVal;
+ }
+
*dev_subclass = dev_info->dev_subclass;
return IME_ERROR_NONE;