*/
int ime_finalize();
+/**
+ * @brief Set flag whether IME is called from dotnet
+ *
+ * @since_tizen 4.0
+ *
+ * @privilege %http://tizen.org/privilege/ime
+ *
+ * @param[in] set Set with Dotnet 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
+ */
+int ime_set_dotnet_flag(bool set);
+
#ifdef __cplusplus
}
#endif
return ret;
}
+bool g_from_dotnet = false;
+EXPORT_API int ime_set_dotnet_flag(bool set)
+{
+ ime_error_e retVal = IME_ERROR_NONE;
+
+ retVal = _check_privilege();
+ if (retVal != IME_ERROR_NONE) return retVal;
+
+ g_from_dotnet = set;
+
+ return retVal;
+}
+
EXPORT_API int ime_run(ime_callback_s *basic_cb, void *user_data)
{
ime_error_e retVal = IME_ERROR_NONE;
g_user_data = user_data;
g_running = true;
+ if (g_from_dotnet) {
+ LOGD("ime_run is called from dotnet");
+ return IME_ERROR_NONE;
+ }
+
try {
g_core.run();
} catch (...) {
if (retVal != IME_ERROR_NONE) return retVal;
g_core.init();
+ g_running = false;
return retVal;
}
if (retVal != IME_ERROR_NONE) return retVal;
g_core.fini();
+ g_running = false;
+ memset(&g_basic_callback, 0, sizeof(ime_callback_s));
+ memset(&g_event_callback, 0, sizeof(ime_event_callback_s));
+ g_user_data = NULL;
return retVal;
}