--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.767412284">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.767412284" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="tbt-ime" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.767412284" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.767412284." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1061622223" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.651303706" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/tbt-ime}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.728911496" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.829457844" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.467785848" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1665337054" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1231851100" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1763196665" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1689755584" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-3.0-device.core_llvm37.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1706368261" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1541812020" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1468097797" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1154272569" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1135650526" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1075874075" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1338678785" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1960943860" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1051846740" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1573758691" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1413966887" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-3.0-device.core_llvm37.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1117277018" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1411466493" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.354937304" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.898273048" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1891963502" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1841068064" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1179655926" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.2062465559" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.247145069" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.447627882" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.319591227" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1111179526" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.935975851" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.571718939" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1633586894" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1380366418" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1866519439" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1710405282" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.932729957" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1698727611" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1808597287" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.378888227">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.378888227" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="tbt-ime" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.378888227" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.378888227." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1393115333" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.487924695" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/tbt-ime}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.148516684" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.996147863" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2081129476" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.558583914" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.504255190" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.930399055" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.653503122" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-3.0-emulator.core_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.392735517" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1109010788" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1205106589" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1390969971" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.834094167" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.907541350" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1425336777" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.349484860" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1513605896" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1742312192" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="wearable-3.0-emulator.core_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1223882123" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1266965973" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1883058509" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2062997324" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1682206291" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.687233780" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1505019928" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1650073204" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.95130633" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.674727575" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1863644489" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.129760755" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2046353299" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1632737399" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1601235134" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1602575" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.266133060" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.2067073324" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.852974085" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1368279568" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="tbt-ime.org.tizen.nativecore.target.sbi.gcc45.so.1668575349" name="Tizen Native Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.767412284">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.378888227">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+ <storageModule moduleId="com.samsung.tizen.nativeapp.projectInfo" version="1.0.0"/>
+</cproject>
--- /dev/null
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <Elementary.h>
+#include <dlog.h>
+#include <inputmethod.h>
+#include "tbt-ime.h"
+#include "logger.h"
+#include <app.h>
+#include <efl_extension.h>
+
+#define SAFE_DELETE(a) if( (a) != NULL ) free (a); (a) = NULL;
+#define EDJ_FILE "edje/tbt_ime.edj"
+#define GRP_MAIN "main"
+#define GRP_1 "group_1"
+#define GRP_2 "group_2"
+
+static Evas_Object* layout = NULL;
+static char MSG[100];
+static int Mlayout = -1;
+static int Mlvar = -1;
+static int Mcursor = -1;
+static int Mautocap = -1;
+static int Mrkeytype = -1;
+static int Mrkeystate = -1;
+static int Mpred = -1;
+static int Mpassmod = -1;
+static int Minhint = -1;
+static int Mbidi = -1;
+static int Mlanguage = -1;
+
+typedef struct _ime_data
+{
+ char *info_msg;
+ Elm_Input_Panel_Layout ime_layout;
+ Evas_Object *option_window;
+ Eina_List *list;
+ bool is_device_input_event_set;
+ Evas_Object* rotation_info_btn;
+
+}ime_data;
+
+static void ise_template_create_cb(void *user_data);
+static void ise_template_terminate_cb(void *user_data);
+static void ise_template_show_cb(int ic, ime_context_h context, void *user_data);
+static void ise_template_hide_cb(int ic, void *user_data);
+static void ise_template_cursor_position_updated_cb(int cursor_pos, void *user_data);
+static void ise_template_surrounding_text_updated_cb(int ic, const char *text, int cursor, void *user_data);
+static void ise_template_focus_out_cb(int ic, void *user_data);
+static void ise_template_focus_in_cb(int ic, void *user_data);
+static void ise_template_return_key_type_set_cb(Ecore_IMF_Input_Panel_Return_Key_Type type, void *user_data);
+static void ise_template_return_key_state_set_cb(bool disabled, void *user_data);
+static void ise_template_layout_set_cb(Ecore_IMF_Input_Panel_Layout layout, void *user_data);
+static bool ise_template_process_key_event_cb(ime_key_code_e keycode, ime_key_mask_e keymask, ime_device_info_h dev_info, void *user_data);
+static void ise_template_display_language_changed_cb(const char *language, void *user_data);
+static void ise_template_rotation_degree_changed_cb(int degree, void *user_data);
+static void ise_template_input_context_reset_cb(void *user_data);
+static void ise_template_language_set_cb(Ecore_IMF_Input_Panel_Lang language, void *user_data);
+static void ise_template_language_requested_cb(void *user_data, char **lang_code);
+static void ise_template_geometry_requested_cb(void *user_data, int *x, int *y, int *w, int *h);
+static void ise_template_imdata_set_cb(void *data, unsigned int data_length, void *user_data);
+static void ise_template_accessibility_state_changed_cb(bool state, void *user_data);
+static void ise_template_option_window_created_cb(Evas_Object *window, ime_option_window_type_e type, void *user_data);
+static void ise_template_option_window_destroyed_cb(Evas_Object *window, void *user_data);
+static char *format_string(const char *format, ...);
+static char* get_ecore_imf_device_subclass(Ecore_IMF_Device_Subclass e);
+static char* get_ecore_imf_device_class(Ecore_IMF_Device_Class e);
+static void _ime_process_input_device_event_cb(ime_input_device_type_e device_type, ime_input_device_event_h device_event, void *user_data);
+
+/**
+ * @function _get_ime_error
+ * @since_tizen 2.3
+ * @description Get Ime Error
+ * @parameter int: Int
+ * @return static char*
+ */
+static char* _get_ime_error(int ret)
+{
+ switch (ret)
+ {
+ case IME_ERROR_INVALID_PARAMETER:
+ return "IME_ERROR_INVALID_PARAMETER";
+ case IME_ERROR_NO_CALLBACK_FUNCTION:
+ return "IME_ERROR_NO_CALLBACK_FUNCTION";
+ case IME_ERROR_PERMISSION_DENIED:
+ return "IME_ERROR_PERMISSION_DENIED";
+ case IME_ERROR_NOT_RUNNING:
+ return "IME_ERROR_NOT_RUNNING";
+ case IME_ERROR_NONE:
+ return "IME_ERROR_NONE";
+ case IME_ERROR_OPERATION_FAILED:
+ return "IME_ERROR_OPERATION_FAILED";
+
+ }
+ return NULL;
+}
+
+
+/**
+ * @function _button_clicked
+ * @since_tizen 2.3
+ * @description Button Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _button_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ int result;
+ const char *str = elm_object_text_get(obj);
+ DBG("text: %s", str);
+ result = ime_commit_string(str);
+ DBG("ime_commit_string %s",_get_ime_error(result));
+}
+
+
+/**
+ * @function _back_key_clicked
+ * @since_tizen 2.3
+ * @description Back Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _back_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ int ret = ime_create_option_window();
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_create_option_window fails :%s",_get_ime_error(ret));
+ ret = ime_send_key_event(IME_KEY_BackSpace, IME_KEY_MASK_PRESSED, false);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+ ret = ime_send_key_event(IME_KEY_BackSpace, IME_KEY_MASK_RELEASED, false);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+}
+
+
+/**
+ * @function _space_key_clicked
+ * @since_tizen 2.3
+ * @description Space Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _space_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ int ret = ime_create_option_window();
+ _get_ime_error(ret);
+ ret = ime_send_key_event(IME_KEY_space, IME_KEY_MASK_PRESSED, true);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+ ret = ime_send_key_event(IME_KEY_space, IME_KEY_MASK_RELEASED, true);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+}
+
+
+/**
+ * @function _get_surrounding_key_clicked
+ * @since_tizen 2.3
+ * @description Get Surrounding Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _get_surrounding_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ DBG("Get surrounding text");
+ int ret = ime_request_surrounding_text(-1, -1);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+}
+
+
+/**
+ * @function _delete_surrounding_key_clicked
+ * @since_tizen 2.3
+ * @description Delete Surrounding Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _delete_surrounding_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ DBG("Delete surrounding text");
+ int ret = ime_delete_surrounding_text(-1, 1);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_send_key_event fails :%s",_get_ime_error(ret));
+}
+
+
+/**
+ * @function _preedit_on_key_clicked
+ * @since_tizen 2.3
+ * @description Preedit On Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _preedit_on_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ DBG("On Preedit text");
+ ime_data *this = (ime_data*)data;
+ RETM_IF(!this, "data is NULL");
+ int ret;
+ ret = ime_show_preedit_string();
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_show_preedit_string fails :%s",_get_ime_error(ret));
+ this->list = NULL;
+
+ ime_preedit_attribute *attr = calloc(1, sizeof (ime_preedit_attribute));
+ RETM_IF(!attr, "calloc failed");
+ attr->start = 0;
+ attr->length = 1;
+ attr->type = IME_ATTR_FONTSTYLE;
+ attr->value = IME_ATTR_FONTSTYLE_UNDERLINE;
+ this->list = eina_list_append(this->list, attr);
+
+ attr = calloc(1, sizeof (ime_preedit_attribute));
+ RETM_IF(!attr, "calloc failed");
+ attr->start = 1;
+ attr->length = 1;
+ attr->type = IME_ATTR_FONTSTYLE;
+ attr->value = IME_ATTR_FONTSTYLE_HIGHLIGHT;
+ this->list = eina_list_append(this->list, attr);
+
+ attr = calloc(1, sizeof (ime_preedit_attribute));
+ RETM_IF(!attr, "calloc failed");
+ attr->start = 2;
+ attr->length = 1;
+ attr->type = IME_ATTR_FONTSTYLE;
+ attr->value = IME_ATTR_FONTSTYLE_REVERSAL;
+ this->list = eina_list_append(this->list, attr);
+
+ ret = ime_update_preedit_string("abcd", this->list);
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_update_preedit_string fails :%s",_get_ime_error(ret));
+ if (ret != IME_ERROR_NONE)
+ {
+ EINA_LIST_FREE(this->list, attr)
+ SAFE_DELETE(attr);
+ }
+
+}
+
+
+/**
+ * @function _preedit_off_key_clicked
+ * @since_tizen 2.3
+ * @description Preedit Off Key Clicked
+ * @parameter void*: Void Pointer, Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void _preedit_off_key_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ DBG("On Preedit text");
+ int ret = ime_hide_preedit_string();
+ RETM_IF(IME_ERROR_NONE!=ret, "ime_hide_preedit_string fails :%s",_get_ime_error(ret));
+}
+
+
+/**
+ * @function _create_key_button
+ * @since_tizen 2.3
+ * @description Create Key Button
+ * @parameter Evas_Object*: Evas Object Pointer, char*: Char Pointer
+ * @return static Evas_Object*
+ */
+static Evas_Object *_create_key_button(Evas_Object *parent, char *str)
+{
+ DBG("_create_key_button");
+ char *markup_str = NULL;
+ Evas_Object *btn = elm_button_add(parent);
+ elm_object_style_set(btn, "default");
+ evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ if (str)
+ {
+ markup_str = elm_entry_utf8_to_markup(str);
+ if (markup_str)
+ {
+ elm_object_text_set(btn, markup_str);
+ SAFE_DELETE(markup_str);
+ }
+ }
+ evas_object_show(btn);
+ return btn;
+}
+
+void view_init_keypad_theme(char *th)
+{
+ elm_theme_overlay_add(NULL, th);
+ elm_theme_extension_add(NULL, th);
+}
+
+
+void data_get_resource_path(const char *file_in, char *file_path_out, int file_path_max)
+{
+ char *res_path = app_get_resource_path();
+ if (res_path) {
+ snprintf(file_path_out, file_path_max, "%s%s", res_path, file_in);
+ free(res_path);
+ }
+}
+
+static Evas_Object *view_create_layout(Evas_Object *parent, const char *file_path, const char *group_name, Eext_Event_Cb cb_function, void *user_data)
+{
+ DBG("view_create_layout");
+ Evas_Object *layout = NULL;
+ if (parent == NULL)
+ {
+ dlog_print(DLOG_ERROR, LOG_TAG, "parent is NULL.");
+ return NULL;
+ }
+ /* Create layout by EDC(edje file) */
+ layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, file_path, group_name);
+ /* Layout size setting */
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ if (cb_function)
+ eext_object_event_callback_add(layout, EEXT_CALLBACK_BACK, cb_function, user_data);
+ evas_object_show(layout);
+
+ return layout;
+}
+
+/**
+ * @function ise_template_create_cb
+ * @since_tizen 2.3
+ * @description Ise Template Create Cb
+ * @parameter void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_create_cb(void *user_data)
+{
+ DBG("Create");
+ ime_data *data = (ime_data*)user_data;
+ unsigned int i = 0;
+ Evas_Object *btn = NULL;
+ int w, h;
+ char* str;
+ Evas_Object *ime_win;
+ int ret;
+ ime_win = ime_get_main_window();
+ RETM_IF(!ime_win, "Can't get main window: %d", get_last_result());
+ elm_win_screen_size_get(ime_win, NULL, NULL, &w, &h);
+ ime_set_size(w, h*3.5/5, h, w*3/5);
+
+ Evas_Object *bg = elm_bg_add(ime_win);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(ime_win, bg);
+ evas_object_show(bg);
+
+ data->is_device_input_event_set = false;
+
+ char file_path[PATH_MAX] = { 0, };
+ /* Get the path of EDJ file */
+ data_get_resource_path(EDJ_FILE, file_path, sizeof(file_path));
+ DBG("EDC FILE PATH: %s", file_path);
+ /* Initialize the new theme using EDJ file */
+ view_init_keypad_theme(file_path);
+
+
+ if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_NUMBER)
+ {
+ layout = view_create_layout(ime_win, file_path, GRP_MAIN, NULL, NULL);
+ // row 1
+ char *keypad_row1[] = {"1", "2", "3"};
+ for (i=0; i < sizeof(keypad_row1)/sizeof(keypad_row1[0]); i++)
+ {
+ btn = _create_key_button(layout, keypad_row1[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 0, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ btn = _create_key_button(layout, "←");
+ evas_object_smart_callback_add(btn, "clicked", _back_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 0, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 2
+ char *keypad_row2[] = {"4", "5", "6", "0"};
+ for (i=0; i < sizeof(keypad_row2)/sizeof(keypad_row2[0]); i++)
+ {
+ btn = _create_key_button(layout, keypad_row2[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 1, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ // Add get surrounding text key
+ btn = _create_key_button(layout, "GS");
+ evas_object_smart_callback_add(btn, "clicked", _get_surrounding_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 1, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 3
+ char *keypad_row3[] = {"7", "8", "9"};
+ for (i=0; i < sizeof(keypad_row3)/sizeof(keypad_row3[0]); i++)
+ {
+ Evas_Object *btn = _create_key_button(layout, keypad_row3[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ // Add delete surrounding text key
+ btn = _create_key_button(layout, "DS");
+ evas_object_smart_callback_add(btn, "clicked", _delete_surrounding_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ // Add space key
+ btn = _create_key_button(layout, "␣");
+ evas_object_smart_callback_add(btn, "clicked", _space_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i+1);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 4
+ btn = _create_key_button(layout, (data->info_msg == NULL)?"INFO":data->info_msg);
+ str = format_string("%s%d%d", "btn_", 3, 0);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ else if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_NORMAL)
+ {
+ layout = view_create_layout(ime_win, file_path, GRP_MAIN, NULL, NULL);
+ // row 1
+ char *keypad_row1[] = {"a", "b", "c"};
+ for (i=0; i < sizeof(keypad_row1)/sizeof(keypad_row1[0]); i++)
+ {
+ btn = _create_key_button(layout, keypad_row1[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 0, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ // Add backspace key
+ btn = _create_key_button(layout, "←");
+ evas_object_smart_callback_add(btn, "clicked", _back_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 0, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 2
+ char *keypad_row2[] = {"d", "e", "f", "g"};
+ for (i=0; i < sizeof(keypad_row2)/sizeof(keypad_row2[0]); i++)
+ {
+ btn = _create_key_button(layout, keypad_row2[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 1, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ // Add get surrounding text key
+ btn = _create_key_button(layout, "Prid On");
+ evas_object_smart_callback_add(btn, "clicked", _preedit_on_key_clicked, data);
+ str = format_string("%s%d%d", "btn_", 1, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 3
+ char *keypad_row3[] = {"h", "i", "j"};
+ for (i=0; i < sizeof(keypad_row3)/sizeof(keypad_row3[0]); i++)
+ {
+ Evas_Object *btn = _create_key_button(layout, keypad_row3[i]);
+ evas_object_smart_callback_add(btn, "clicked", _button_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ // Add delete surrounding text key
+ btn = _create_key_button(layout, "Prid Off");
+ evas_object_smart_callback_add(btn, "clicked", _preedit_off_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // Add space key
+ btn = _create_key_button(layout, "␣");
+ evas_object_smart_callback_add(btn, "clicked", _space_key_clicked, NULL);
+ str = format_string("%s%d%d", "btn_", 2, i+1);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ // row 4
+ btn = _create_key_button(layout, (data->info_msg == NULL)?"INFO":data->info_msg);
+ str = format_string("%s%d%d", "btn_", 3, 0);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ else if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_IP)
+ {
+ layout = view_create_layout(ime_win, file_path, GRP_2, NULL, NULL);
+ if(data->info_msg)
+ {
+ DBG("MSG :%s", MSG);
+ }
+ RETM_IF(NULL == data->info_msg, "Message is NULL");
+ btn = _create_key_button(layout, ((char*)MSG == NULL || strlen(MSG) == 0)?data->info_msg:MSG);
+ str = format_string("%s%d%d", "btn_", 0, 0);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ else if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_TERMINAL) //This is dummy type for testing wearable rotary event
+ {
+ layout = view_create_layout(ime_win, file_path, GRP_2, NULL, NULL);
+ data->rotation_info_btn = _create_key_button(layout, "Rotate wearable dial");
+ str = format_string("%s%d%d", "btn_", 0, 0);
+ elm_object_part_content_set(layout, str, data->rotation_info_btn);
+ SAFE_DELETE(str);
+
+ ret = ime_event_set_process_input_device_event_cb(_ime_process_input_device_event_cb, data);
+ RETM_IF(ret != IME_ERROR_NONE, "ime_event_set_process_input_device_event_cb failed : %s", _get_ime_error(ret));
+ data->is_device_input_event_set = true;
+ }
+ else if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_HEX)
+ {
+ layout = view_create_layout(ime_win, file_path, GRP_1, NULL, NULL);
+ //row 1
+ i = 0;
+ btn = _create_key_button(layout, (Mlayout >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 0, 1, 1);
+ str = format_string("%s%d%d", "btn_", 0, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mlvar >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 0, 1, 1);
+ str = format_string("%s%d%d", "btn_", 0, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mcursor >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 0, 1, 1);
+ str = format_string("%s%d%d", "btn_", 0, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ //row 2
+ i = 0;
+ btn = _create_key_button(layout, (Mautocap >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 1, 1, 1);
+ str = format_string("%s%d%d", "btn_", 1, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mrkeytype >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 1, 1, 1);
+ str = format_string("%s%d%d", "btn_", 1, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mrkeystate >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 1, 1, 1);
+ str = format_string("%s%d%d", "btn_", 1, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ //row 3
+ i = 0;
+ btn = _create_key_button(layout, (Mpred >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 2, 1, 1);
+ str = format_string("%s%d%d", "btn_", 2, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mpassmod >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 2, 1, 1);
+ str = format_string("%s%d%d", "btn_", 2, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Minhint >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 2, 1, 1);
+ str = format_string("%s%d%d", "btn_", 2, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+
+ //row 4
+ i = 0;
+ btn = _create_key_button(layout, (Mbidi >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 3, 1, 1);
+ str = format_string("%s%d%d", "btn_", 3, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, (Mlanguage >= 0)?"Pass":"Fail");
+ //elm_table_pack(table, btn, i++, 3, 1, 1);
+ str = format_string("%s%d%d", "btn_", 3, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ btn = _create_key_button(layout, "Pass");
+ //elm_table_pack(table, btn, i++, 3, 1, 1);
+ str = format_string("%s%d%d", "btn_", 3, i++);
+ elm_object_part_content_set(layout, str, btn);
+ SAFE_DELETE(str);
+ }
+ if(layout)
+ {
+ elm_win_resize_object_add(ime_win, layout);
+ evas_object_show(layout);
+ }
+}
+
+static void _ime_process_input_device_event_cb(ime_input_device_type_e device_type, ime_input_device_event_h device_event, void *user_data)
+{
+ DBG("_ime_process_input_device_event_cb");
+ ime_data *data = (ime_data *) user_data;
+ int ret;
+ if(device_type == IME_INPUT_DEVICE_TYPE_ROTARY)
+ {
+ if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_TERMINAL)
+ {
+ ime_input_device_rotary_direction_e direction;
+ ret = ime_input_device_rotary_get_direction(device_event, &direction);
+ RETM_IF(ret != IME_ERROR_NONE, "ime_input_device_rotary_get_direction failed : %s", _get_ime_error(ret));
+ data->info_msg = direction==IME_INPUT_DEVICE_ROTARY_DIRECTION_CLOCKWISE?"IME_INPUT_DEVICE_ROTARY_DIRECTION_CLOCKWISE":"IME_INPUT_DEVICE_ROTARY_DIRECTION_COUNTER_CLOCKWISE";
+ DBG("Rotation %s", data->info_msg);
+ elm_object_text_set(data->rotation_info_btn, data->info_msg);
+ }
+ }
+ else{
+ elm_object_text_set(data->rotation_info_btn, "Device is not rotary type");
+ }
+}
+
+/**
+ * @function ise_template_terminate_cb
+ * @since_tizen 2.3
+ * @description Ise Template Terminate Cb
+ * @parameter void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_terminate_cb(void *user_data)
+{
+ DBG("Terminate");
+ ime_data *data = (ime_data *) user_data;
+ // Release the resources
+ int ret;
+ if(data->is_device_input_event_set == true)
+ {
+ ret = ime_event_unset_process_input_device_event_cb();
+ RETM_IF(IME_ERROR_NONE != ret, "ime_event_unset_process_input_device_event_cb failed: %s",_get_ime_error(ret));
+ data->is_device_input_event_set = false;
+ }
+ if(data->option_window)
+ {
+ ret = ime_destroy_option_window(data->option_window);
+ RETM_IF(IME_ERROR_NONE != ret, "ime_destroy_option_window failed: %s",_get_ime_error(ret));
+ }
+ eina_list_free(data->list);
+
+}
+
+
+/**
+ * @function ise_template_show_cb
+ * @since_tizen 2.3
+ * @description Ise Template Show Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_show_cb(int ic, ime_context_h context, void *user_data)
+{
+ ime_data *data = (ime_data*)user_data;
+ Ecore_IMF_Input_Panel_Layout layout;
+ ime_layout_variation_e layout_variation;
+ int cursor_pos;
+ Ecore_IMF_Autocapital_Type autocapital_type;
+ Ecore_IMF_Input_Panel_Return_Key_Type return_key_type;
+ bool return_key_state, prediction_mode, password_mode;
+ Ecore_IMF_Input_Hints input_hint;
+ Ecore_IMF_BiDi_Direction bidi;
+ Ecore_IMF_Input_Panel_Lang language;
+
+ DBG("Show: %d", ic);
+
+ int ret;
+ if ((ret = ime_context_get_layout(context, &layout)) == IME_ERROR_NONE)
+ {
+ DBG("layout: %d", layout);
+ Mlayout = layout;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_layout fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_layout_variation(context, &layout_variation)) == IME_ERROR_NONE)
+ {
+ DBG("layout variation: %d", layout_variation);
+ Mlvar = layout_variation;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_layout_variation fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_cursor_position(context, &cursor_pos)) == IME_ERROR_NONE)
+ {
+ DBG("cursor position: %d", cursor_pos);
+ Mcursor = cursor_pos;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_cursor_position fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_autocapital_type(context, &autocapital_type)) == IME_ERROR_NONE)
+ {
+ DBG("autocapital_type: %d", autocapital_type);
+ Mautocap = autocapital_type;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_autocapital_type fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_return_key_type(context, &return_key_type)) == IME_ERROR_NONE)
+ {
+ DBG("return_key_type: %d", return_key_type);
+ Mrkeytype = return_key_type;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_return_key_type fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_return_key_state(context, &return_key_state)) == IME_ERROR_NONE)
+ {
+ DBG("return_key_state: %d", return_key_state);
+ Mrkeystate = return_key_state;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_return_key_state fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_prediction_mode(context, &prediction_mode)) == IME_ERROR_NONE)
+ {
+ DBG("prediction_mode: %d", prediction_mode);
+ Mpred = prediction_mode;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_prediction_mode fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_password_mode(context, &password_mode)) == IME_ERROR_NONE)
+ {
+ DBG("password_mode: %d", password_mode);
+ Mpassmod = password_mode;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_password_mode fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_input_hint(context, &input_hint)) == IME_ERROR_NONE)
+ {
+ DBG("input_hint: 0x%04x", input_hint);
+ Minhint = input_hint;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_input_hint fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_bidi_direction(context, &bidi)) == IME_ERROR_NONE)
+ {
+ DBG("bidi: %d", bidi);
+ Mbidi = bidi;
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_bidi_direction fails: %s",_get_ime_error(ret));
+ }
+ if ((ret = ime_context_get_language(context, &language)) == IME_ERROR_NONE)
+ {
+ DBG("language: %d", language);
+ Mlanguage = language;
+ //sprintf(data->info_msg_lang, "language: %d", (int)language);
+ data->ime_layout = (Elm_Input_Panel_Layout)layout;
+
+ if(layout != ELM_INPUT_PANEL_LAYOUT_IP)
+ {
+ if(language == ELM_INPUT_PANEL_LANG_AUTOMATIC)
+ data->info_msg = "ELM_INPUT_PANEL_LANG_AUTOMATIC";
+ else if(language == ELM_INPUT_PANEL_LANG_ALPHABET)
+ data->info_msg = "ELM_INPUT_PANEL_LANG_ALPHABET";
+ else
+ data->info_msg = "default";
+ }
+ else if(layout == ELM_INPUT_PANEL_LAYOUT_IP)
+ {
+ if(!data->info_msg)
+ data->info_msg = "Language Default";
+ }
+ }
+ else
+ {
+ RETM_IF(true, "ime_context_get_language fails: %s",_get_ime_error(ret));
+ }
+ Evas_Object *ime_win = ime_get_main_window();
+ RETM_IF(NULL == ime_win, "ime_get_main_window failed");
+ DBG("Ingoing MSG: %s", data->info_msg);
+ DBG("In going static MSG: %s", MSG);
+ ise_template_create_cb(data);
+ evas_object_show(ime_win);
+}
+
+
+/**
+ * @function ise_template_hide_cb
+ * @since_tizen 2.3
+ * @description Ise Template Hide Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_hide_cb(int ic, void *user_data)
+{
+ DBG("Hide: %d", ic);
+ Evas_Object *ime_win = ime_get_main_window();
+ evas_object_hide(ime_win);
+}
+
+
+/**
+ * @function ise_template_cursor_position_updated_cb
+ * @since_tizen 2.3
+ * @description Ise Template Cursor Position Updated Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_cursor_position_updated_cb(int cursor_pos, void *user_data)
+{
+ DBG("cursor position: %d", cursor_pos);
+}
+
+
+/**
+ * @function ise_template_surrounding_text_updated_cb
+ * @since_tizen 2.3
+ * @description Ise Template Surrounding Text Updated Cb
+ * @parameter int: Int, const char*: Const char Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_surrounding_text_updated_cb(int ic, const char *text, int cursor, void *user_data)
+{
+ DBG("text: %s, cursor: %d", text, cursor);
+}
+
+
+/**
+ * @function ise_template_focus_out_cb
+ * @since_tizen 2.3
+ * @description Ise Template Focus Out Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_focus_out_cb(int ic, void *user_data)
+{
+ DBG("focus out: %d", ic);
+}
+
+
+/**
+ * @function ise_template_focus_in_cb
+ * @since_tizen 2.3
+ * @description Ise Template Focus In Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_focus_in_cb(int ic, void *user_data)
+{
+ DBG("focus in: %d", ic);
+}
+
+
+/**
+ * @function ise_template_return_key_type_set_cb
+ * @since_tizen 2.3
+ * @description Ise Template Return Key Type Set Cb
+ * @parameter Ecore_IMF_Input_Panel_Return_Key_Type: Ecore IMF Input Panel Return Key Type, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_return_key_type_set_cb(Ecore_IMF_Input_Panel_Return_Key_Type type, void *user_data)
+{
+ dlog_print(DLOG_DEBUG, LOG_TAG,"Return key type: %d", type);
+ // Do a proper action
+}
+
+
+/**
+ * @function ise_template_return_key_state_set_cb
+ * @since_tizen 2.3
+ * @description Ise Template Return Key State Set Cb
+ * @parameter bool: Bool, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_return_key_state_set_cb(bool disabled, void *user_data)
+{
+ DBG("Return key disabled: %d", disabled);
+ // Do a proper action
+}
+
+
+/**
+ * @function ise_template_layout_set_cb
+ * @since_tizen 2.3
+ * @description Ise Template Layout Set Cb
+ * @parameter Ecore_IMF_Input_Panel_Layout: Ecore IMF Input Panel Layout, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_layout_set_cb(Ecore_IMF_Input_Panel_Layout layout, void *user_data)
+{
+ DBG("layout: %d", layout);
+ // Do a proper action
+}
+
+
+/**
+ * @function ise_template_process_key_event_cb
+ * @since_tizen 2.3
+ * @description Ise Template Process Key Event Cb
+ * @parameter ime_key_code_e: Ime Key Code E, void*: Void Pointer
+ * @return static bool
+ */
+static bool ise_template_process_key_event_cb(ime_key_code_e keycode, ime_key_mask_e keymask, ime_device_info_h dev_info, void *user_data)
+{
+ DBG("keycode=0x%x, keymask=0x%x", keycode, keymask);
+
+ if ((keymask & IME_KEY_MASK_CONTROL) ||
+ (keymask & IME_KEY_MASK_ALT) ||
+ (keymask & IME_KEY_MASK_META) ||
+ (keymask & IME_KEY_MASK_WIN) ||
+ (keymask & IME_KEY_MASK_HYPER))
+ {
+ return false;
+ }
+
+ char *dev_name = NULL;
+ Ecore_IMF_Device_Class dev_class;
+ Ecore_IMF_Device_Subclass dev_subclass;
+ int ret;
+ ret = ime_device_info_get_name(dev_info, &dev_name);
+ RETVM_IF(ret != IME_ERROR_NONE, false, "ime_device_info_get_name fails : %s", _get_ime_error(ret));
+ DBG("dev_name: %s", dev_name==NULL?"NULL":dev_name);
+ SAFE_DELETE(dev_name);
+
+ // return false;
+
+ ret = ime_device_info_get_class(dev_info, &dev_class);
+ RETVM_IF(ret!=IME_ERROR_NONE, false, "ime_device_info_get_class fails : %s", _get_ime_error(ret));
+ DBG("dev_class: %s", get_ecore_imf_device_class(dev_class));
+
+ ret = ime_device_info_get_subclass(dev_info, &dev_subclass);
+ RETVM_IF(ret, false, "ime_device_info_get_subclass fails : %s", _get_ime_error(ret));
+ DBG("dev_subclass: %s", get_ecore_imf_device_subclass(dev_subclass));
+
+ return false;
+}
+
+
+/**
+ * @function ise_template_display_language_changed_cb
+ * @since_tizen 2.3
+ * @description Ise Template Display Language Changed Cb
+ * @parameter const char*: Const char Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_display_language_changed_cb(const char *language, void *user_data)
+{
+ DBG("ise_template_display_language_changed_cb language: %s", language);
+ ime_data *data = (ime_data*)user_data;
+ // Do a proper action
+ if(data->ime_layout == ELM_INPUT_PANEL_LAYOUT_IP)
+ {
+ data->info_msg = (char*)language;
+ snprintf(MSG, sizeof(MSG), "Language changed:%s",data->info_msg);
+ ise_template_create_cb(data);
+ DBG("Setting msg: %s", MSG);
+ }
+}
+
+/**
+ * @function ise_template_input_context_reset_cb
+ * @since_tizen 2.3
+ * @description Ise Template Input Context Reset Cb
+ * @parameter void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_input_context_reset_cb(void *user_data)
+{
+ DBG("ime_input_context_reset_cb called");
+}
+
+
+/**
+ * @function ise_template_rotation_degree_changed_cb
+ * @since_tizen 2.3
+ * @description Ise Template Rotation Degree Changed Cb
+ * @parameter int: Int, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_rotation_degree_changed_cb(int degree, void *user_data)
+{
+ DBG("degree=%d", degree);
+ // Do a proper action
+}
+
+
+/**
+ * @function ise_template_language_set_cb
+ * @since_tizen 2.3
+ * @description Ise Template Language Set Cb
+ * @parameter Ecore_IMF_Input_Panel_Lang: Ecore IMF Input Panel Lang, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_language_set_cb(Ecore_IMF_Input_Panel_Lang language, void *user_data)
+{
+ DBG("ise_template_language_set_cb");
+ // Do a proper action
+ //char *info_txt = "Language is set by Entry.";
+}
+
+
+/**
+ * @function ise_template_language_requested_cb
+ * @since_tizen 2.3
+ * @description Ise Template Language Requested Cb
+ * @parameter void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_language_requested_cb(void *user_data, char **lang_code)
+{
+ DBG("ise_template_language_requested_cb");
+ // Do a proper action
+ //char *info_txt = "Language is requested..";
+
+}
+
+
+/**
+ * @function ise_template_geometry_requested_cb
+ * @since_tizen 2.3
+ * @description Ise Template Geometry Requested Cb
+ * @parameter void*: Void Pointer, int*: Int Pointer, int*: Int Pointer, int*: Int Pointer, int*: Int Pointer
+ * @return static void
+ */
+static void ise_template_geometry_requested_cb(void *user_data, int *x, int *y, int *w, int *h)
+{
+ DBG("ise_template_geometry_requested_cb x:%d y:%d w:%d h:%d", x, y, w, h);
+}
+
+
+/**
+ * @function ise_template_imdata_set_cb
+ * @since_tizen 2.3
+ * @description Ise Template Imdata Set Cb
+ * @parameter void*: Void Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_imdata_set_cb(void *data, unsigned int data_length, void *user_data)
+{
+ DBG("ise_template_imdata_set_cb ");
+}
+
+
+/**
+ * @function ise_template_accessibility_state_changed_cb
+ * @since_tizen 2.3
+ * @description Ise Template Accessibility State Changed Cb
+ * @parameter bool: Bool, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_accessibility_state_changed_cb(bool state, void *user_data)
+{
+ DBG("ise_template_accessibility_state_changed_cb %d", state);
+}
+
+
+/**
+ * @function ise_template_option_window_created_cb
+ * @since_tizen 2.3
+ * @description Ise Template Option Window Created Cb
+ * @parameter Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_option_window_created_cb(Evas_Object *window, ime_option_window_type_e type, void *user_data)
+{
+ DBG("ise_template_option_window_created_cb");
+}
+
+
+/**
+ * @function ise_template_option_window_destroyed_cb
+ * @since_tizen 2.3
+ * @description Ise Template Option Window Destroyed Cb
+ * @parameter Evas_Object*: Evas Object Pointer, void*: Void Pointer
+ * @return static void
+ */
+static void ise_template_option_window_destroyed_cb(Evas_Object *window, void *user_data)
+{
+ DBG("ise_template_option_window_destroyed_cb");
+ ime_data *data = (ime_data*) user_data;
+ data->option_window = window;
+ Evas_Object *button = _create_key_button(window, "Option");
+ evas_object_move(button, 0, 0);
+ evas_object_resize(button, 50, 50);
+ evas_object_show(button);
+ evas_object_show(window);
+}
+
+
+/**
+ * @function ime_app_main
+ * @since_tizen 2.3
+ * @description Ime App Main
+ * @parameter int: Int
+ * @return void
+ */
+void ime_app_main(int argc, char **argv)
+{
+ DBG("Start! TBT IME template");
+ ime_data *data = NULL;
+ data = calloc(1, sizeof(ime_data));
+ ime_callback_s basic_callback = {
+ ise_template_create_cb,
+ ise_template_terminate_cb,
+ ise_template_show_cb,
+ ise_template_hide_cb,
+ };
+ int result;
+ // Set the necessary callback functions
+ result = ime_event_set_focus_in_cb(ise_template_focus_in_cb, data);
+ DBG("ime_event_set_focus_in_cb =%d", result);
+ result = ime_event_set_focus_out_cb(ise_template_focus_out_cb, data);
+ DBG("ise_template_focus_out_cb =%d", result);
+ result = ime_event_set_surrounding_text_updated_cb(ise_template_surrounding_text_updated_cb, data);
+ DBG("ime_event_set_surrounding_text_updated_cb =%d", result);
+ result = ime_event_set_cursor_position_updated_cb(ise_template_cursor_position_updated_cb, data);
+ DBG("ime_event_set_cursor_position_updated_cb =%d", result);
+ result = ime_event_set_layout_set_cb(ise_template_layout_set_cb, data);
+ DBG("ime_event_set_layout_set_cb =%d", result);
+ result = ime_event_set_return_key_type_set_cb(ise_template_return_key_type_set_cb, data);
+ DBG("ime_event_set_return_key_type_set_cb =%d", result);
+ result = ime_event_set_return_key_state_set_cb(ise_template_return_key_state_set_cb, data);
+ DBG("ime_event_set_return_key_state_set_cb =%d", result);
+ result = ime_event_set_process_key_event_cb(ise_template_process_key_event_cb, data);
+ DBG("ime_event_set_process_key_event_cb =%d", result);
+ result = ime_event_set_display_language_changed_cb(ise_template_display_language_changed_cb, data);
+ DBG("ime_event_set_display_language_changed_cb =%d", result);
+ result = ime_event_set_rotation_degree_changed_cb(ise_template_rotation_degree_changed_cb, data);
+ DBG("ime_event_set_rotation_degree_changed_cb =%d", result);
+ result = ime_event_set_input_context_reset_cb(ise_template_input_context_reset_cb, data);
+ DBG("ime_event_set_input_context_reset_cb =%d", result);
+ result = ime_event_set_language_set_cb(ise_template_language_set_cb, data);
+ DBG("ime_event_set_language_set_cb =%d", result);
+ result = ime_event_set_language_requested_cb(ise_template_language_requested_cb, data);
+ DBG("ise_template_language_requested_cb =%d", result);
+ result = ime_event_set_geometry_requested_cb(ise_template_geometry_requested_cb, data);
+ DBG("ime_event_set_geometry_requested_cb =%d", result);
+ result = ime_event_set_imdata_set_cb(ise_template_imdata_set_cb,data);
+ DBG("ime_event_set_imdata_set_cb =%d", result);
+ result = ime_event_set_accessibility_state_changed_cb(ise_template_accessibility_state_changed_cb, data);
+ DBG("ime_event_set_accessibility_state_changed_cb =%d", result);
+ result = ime_event_set_option_window_created_cb(ise_template_option_window_created_cb, data);
+ DBG("ime_event_set_option_window_created_cb =%d", result);
+ result = ime_event_set_option_window_destroyed_cb(ise_template_option_window_destroyed_cb, data);
+ // Start IME
+ ime_run(&basic_callback, data);
+}
+
+static char* get_ecore_imf_device_class(Ecore_IMF_Device_Class e)
+{
+ char* str = NULL;
+ switch(e)
+ {
+ case ECORE_IMF_DEVICE_CLASS_NONE:
+ str = "ECORE_IMF_DEVICE_CLASS_NONE";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_SEAT:
+ str = "ECORE_IMF_DEVICE_CLASS_SEAT";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_KEYBOARD:
+ str = "ECORE_IMF_DEVICE_CLASS_KEYBOARD";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_MOUSE:
+ str = "ECORE_IMF_DEVICE_CLASS_MOUSE";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_TOUCH:
+ str = "ECORE_IMF_DEVICE_CLASS_TOUCH";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_PEN:
+ str = "ECORE_IMF_DEVICE_CLASS_PEN";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_POINTER:
+ str = "ECORE_IMF_DEVICE_CLASS_POINTER";
+ break;
+ case ECORE_IMF_DEVICE_CLASS_GAMEPAD:
+ str = "ECORE_IMF_DEVICE_CLASS_GAMEPAD";
+ break;
+ default:
+ str = "UNKWON_CLASS";
+ break;
+ }
+ return str;
+}
+
+static char* get_ecore_imf_device_subclass(Ecore_IMF_Device_Subclass e)
+{
+ char* str = NULL;
+ switch(e)
+ {
+ case ECORE_IMF_DEVICE_SUBCLASS_NONE:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_NONE";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_FINGER:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_FINGER";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_PALM:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_PALM";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT";
+ break;
+ case ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL:
+ str = "ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL";
+ break;
+ default:
+ str = "UNKNWON_SUBCLASS";
+ break;
+ }
+ return str;
+}
+static char *format_string(const char *format, ...)
+{
+ va_list arg;
+ char* chTemp;
+ chTemp= (char*)malloc(1024 * sizeof(char));
+ RETVM_IF(!chTemp, NULL,"malloc failed.");
+ va_start(arg,format);
+ vsnprintf(chTemp,1024,format,arg);
+ va_end(arg);
+ return chTemp;
+}