--- /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.app.debug.574020802">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.574020802" 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.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" 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.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="menu-screen" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,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.app.debug.574020802" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.574020802." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1148483580" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.558975473" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/menu_test}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.760721592" 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.1485556622" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1748119002" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.843158271" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1284797832" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1804338471" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.114775574" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private.20170314_1_gcc49.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1756446236" 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/appcore/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/aul/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/auth-fw""/>
+ <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/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/call-manager""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <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/EGL""/>
+ <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/email-service""/>
+ <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/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <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/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/KHR""/>
+ <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/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/msg-service""/>
+ <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/pkgmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/rua/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <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/telephony-client""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ug-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vconf""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <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.481420752" 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=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.942058084" 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.157551369" 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.1991468638" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.85813431" 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.1374924116" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.80123972" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.605802835" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.778260764" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private.20170314_1_gcc49.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.916181584" 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/appcore/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/aul/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/auth-fw""/>
+ <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/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/call-manager""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <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/EGL""/>
+ <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/email-service""/>
+ <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/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <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/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/KHR""/>
+ <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/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/msg-service""/>
+ <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/pkgmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/rua/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <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/telephony-client""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ug-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vconf""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <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.683175174" 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=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.688351050" 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.1790694686" 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.300400350" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1408350040" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1197988644" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1352744729" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.923457938" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1647123928" 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="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.2007282876" 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.633733215" 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.1865678689" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1780949544" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.2114882863" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.886086897" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.414579686" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.823662842" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1115161781" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1658598928" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1383671044" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1145703228" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/res/images""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <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.app.release.203887098">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.203887098" 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.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" 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.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="menu_test" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,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.app.release.203887098" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.203887098." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.1268919045" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.2039278053" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/menu_test}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.620272822" 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.1761084734" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1356394769" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1324628089" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.none" id="sbi.gnu.cpp.compiler.option.debugging.level.core.759290688" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1301621467" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1850169025" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.610508474" 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/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <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/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <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/geofence""/>
+ <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/minicontrol""/>
+ <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/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <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/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <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.3485257" 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=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.950610533" 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.1254112543" 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.834591902" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.461128314" 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.980383938" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.577705950" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.213405615" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.572815884" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.689202775" 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/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <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/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <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/geofence""/>
+ <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/minicontrol""/>
+ <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/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <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/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <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.830180859" 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=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1513476666" 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.220978565" 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.1151188659" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.579363147" 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.465887142" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.883510057" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.78869597" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.966118139" 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="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.276171569" 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.1852837850" 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.400237827" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1502467389" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.822224818" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1519867211" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1380582847" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.924671581" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.416562258" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1098989230" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.606781939" 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="res"/>
+ <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="menu_test.org.tizen.nativecore.target.sbi.gcc45.app.389148488" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.203887098">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.574020802">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/menu_test"/>
+ </configuration>
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/menu_test"/>
+ </configuration>
+ </storageModule>
+</cproject>
--- /dev/null
+{
+ global: main;
+ _IO_*;
+ local: *;
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>menu-screen</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>0</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ <filter>
+ <id>0</id>
+ <name></name>
+ <type>6</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-3.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ </package>
+</tproject>
SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}")
SET(PREFIX "/usr/apps/${PACKAGE_NAME}")
-SET(EXEC_PREFIX "${PREFIX}/bin")
-SET(LIBDIR "${PREFIX}/lib")
+SET(BINDIR "${PREFIX}/bin")
SET(DATADIR "${PREFIX}/res/data")
SET(RESDIR "${PREFIX}/res")
SET(ICONDIR "${PREFIX}/shared/res")
SET(LOCALEDIR "${RESDIR}/locale")
SET(VERSION 0.1.0)
-#IF("${ARCH}" STREQUAL "arm")
-# OPTION(USE_ARM "Use Arm" ON)
-# ADD_DEFINITIONS("-DARM_TYPE")
-#ELSE()
-# OPTION(USE_EMULATOR "Use Emulator" ON)
-# ADD_DEFINITIONS("-DEMULATOR_TYPE")
-#ENDIF()
-#MESSAGE("ARCH: ${ARCH}")
+SET(SRCS
+ src/db.c
+ src/index.c
+ src/item.c
+ src/item_badge.c
+ src/item_event.c
+ src/key.c
+ src/layout.c
+ src/list.c
+ src/mapbuf.c
+ src/menu_screen.c
+ src/mouse.c
+ src/page.c
+ src/page_scroller.c
+ src/pkgmgr.c
+ src/popup.c
+ src/util.c
+ src/all_apps/db.c
+ src/all_apps/layout.c
+ src/all_apps/list.c
+ src/all_apps/shortcut.c
+)
INCLUDE(FindPkgConfig)
pkg_check_modules(MENU_PKGS REQUIRED
appcore-efl
- appsvc
+ # appsvc
aul
badge
bundle
capi-appfw-application
-# capi-appfw-preference
capi-system-info
capi-system-system-settings
capi-system-info
+ capi-appfw-app-manager
+ capi-appfw-package-manager
dlog
db-util
ecore
ecore-file
ecore-imf
ecore-input
-# ecore-x
edje
eet
eina
pkgmgr-info
shortcut
syspopup-caller
-# utilX
-)
-
-IF(USE_ARM)
-pkg_check_modules(ARM_PKGS REQUIRED
- bincfg
- factory
)
-ENDIF()
ADD_DEFINITIONS("-DENABLE_BGIMAGE")
ADD_DEFINITIONS("-DLOG_TAG=\"MENU_SCREEN\"")
ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
FOREACH (flag ${MENU_PKGS_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
SET(CMAKE_CXX_FLAGS_CCOV "-O2 std=c++0x -g --coverage -fPIE")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-ADD_EXECUTABLE(${PROJECT_NAME}
- src/db.c
- src/index.c
- src/item.c
- src/item_badge.c
- src/item_event.c
- src/key.c
- src/layout.c
- src/list.c
- src/mapbuf.c
- src/menu_screen.c
- src/mouse.c
- src/page.c
- src/page_scroller.c
- src/pkgmgr.c
- src/popup.c
- src/util.c
- src/all_apps/db.c
- src/all_apps/layout.c
- src/all_apps/list.c
- src/all_apps/shortcut.c
-)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/res)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/all_apps)
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ARM_PKGS_LDFLAGS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS})
# Install
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${EXEC_PREFIX})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+
+# Install xml
+INSTALL(FILES ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml DESTINATION /usr/share/packages)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PACKAGE_NAME}.png DESTINATION /usr/share/icons/)
-ADD_SUBDIRECTORY(data)
+ADD_SUBDIRECTORY(res/edje)
+ADD_SUBDIRECTORY(res/images)
+ADD_SUBDIRECTORY(res/po)
# End of a file
--- /dev/null
+
+# Add pre/post build process
+PREBUILD_DESC =
+PREBUILD_COMMAND =
+POSTBUILD_DESC =
+POSTBUILD_COMMAND =
+++ /dev/null
-SET(MANIFESTDIR "/usr/share/packages")
-
-# manifest
-CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/main_operation.launch DESTINATION /usr/apps/org.tizen.menu-screen/res/data)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/${PACKAGE_NAME}.png DESTINATION /usr/apps/org.tizen.menu-screen/shared/res)
-
-ADD_SUBDIRECTORY(edje)
-ADD_SUBDIRECTORY(images)
-ADD_SUBDIRECTORY(po)
-
-# End of a file
+++ /dev/null
-../../include/conf.h
\ No newline at end of file
+++ /dev/null
-org.tizen.phone
-org.tizen.contacts
+++ /dev/null
-#!/bin/sh
-
-export LAUNCHER_ENGINE=gl
-export LAUNCHER_FPS=6000
-
-# End of a file
#define __MENU_SCREEN_LIST_ALL_APPS_H__
extern app_list *all_apps_list_create(void);
-extern int all_apps_list_find_installed_time(const char *id);
extern void all_apps_list_destroy(app_list *list);
#endif //__MENU_SCREEN_LIST_ALL_APPS_H__
#ifndef _MENU_SCREEN_CONF_H_
#define _MENU_SCREEN_CONF_H_
+#define PACKAGE "org.tizen.menu-screen"
+#define EDJE_DIR "edje"
+#define IMAGE_DIR "images"
+
#define MAX_PAGE_NO 10
#define BASE_HEIGHT 1280.0f
#define ITEM_HEIGHT 220.0 // 198.0
#define LITE_ITEM_HEIGHT 99.0
#define ITEM_HEIGHT_PROP (ITEM_HEIGHT/BASE_HEIGHT)
+#define MAX_FILE_PATH_LEN 1024
#endif // _MENU_SCREEN_CONF_H_
#define __MENU_SCREEN_LAYOUT_H__
#include <Evas.h>
+
#include "util.h"
+#include "list.h"
extern Evas_Object *layout_create(Evas_Object *conformant, const char *file, const char *group, int rotate);
extern void layout_destroy(Evas_Object *layout);
extern Evas_Object* layout_load_edj(Evas_Object *parent, const char *edjname, const char *grpname);
extern void layout_unload_edj(Evas_Object *layout);
-HAPI void layout_create_package(Evas_Object *layout, const char *package);
-HAPI void layout_update_package(Evas_Object *layout, const char *package);
+HAPI void layout_create_package(Evas_Object *layout, app_info_t *ai);
HAPI void layout_delete_package(Evas_Object *layout, const char *package);
#endif //__MENU_SCREEN_LAYOUT_H__
char *package;
pid_t pid;
time_t launch_time;
- int installed_time;
void *data;
} app_list_item;
extern menu_screen_error_e list_is_ended(app_list *list, bool *flag);
extern menu_screen_error_e list_get_item(app_list *list, app_list_item **item);
-extern menu_screen_error_e list_get_values(const char *package, app_info_t *ai);
extern void list_free_values(app_info_t *ai);
extern menu_screen_error_e list_append_item(app_list *list, app_list_item *item);
HAPI void pkgmgr_item_list_affect_pkgid(const char *pkg_id, Eina_Bool (*_affected_cb)(const char *, Evas_Object *, void *), void *data);
HAPI void pkgmgr_item_list_affect_appid(const char *app_id, Eina_Bool (*_affected_cb)(const char *, Evas_Object *, void *), void *data);
+HAPI Eina_Bool pkgmgr_get_app_list(app_list **list);
HAPI menu_screen_error_e pkgmgr_uninstall(Evas_Object *item);
#define ACCESS_BUTTON "button"
#define ACCESS_EDIT "edit"
-/* Log */
-#if !defined(_W)
-#define _W(fmt, arg...) LOGW(fmt"\n", ##arg)
+#ifndef __MODULE__
+#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
#endif
-#if !defined(_D)
-#define _D(fmt, arg...) LOGD(fmt"\n", ##arg)
-#endif
+#define LOG_V(prio, tag, fmt, arg...) \
+ ({ do { \
+ dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\
+ } while (0); })
-#if !defined(_E)
-#define _E(fmt, arg...) LOGE(fmt"\n", ##arg)
-#endif
+#define _D(format, arg...) LOG_V(DLOG_DEBUG, LOG_TAG, format, ##arg)
+#define _I(format, arg...) LOG_V(DLOG_INFO, LOG_TAG, format, ##arg)
+#define _W(format, arg...) LOG_V(DLOG_WARN, LOG_TAG, format, ##arg)
+#define _E(format, arg...) LOG_V(DLOG_ERROR, LOG_TAG, format, ##arg)
+#define _F(format, arg...) LOG_V(DLOG_FATAL, LOG_TAG, format, ##arg)
#if !defined(_T)
-#define _T(package) LOG(LOG_DEBUG, "LAUNCH", "[%s:Menuscreen:launch:done]", package);
+#define _T(package) LOG_V(DLOG_DEBUG, "LAUNCH", "[%s:Menuscreen:launch:done]", package);
#endif
/* Build */
#define HAPI __attribute__((visibility("hidden")))
-/* Packaging */
-#define DEFAULT_ICON IMAGEDIR"/default.png"
-#define DEFAULT_BG IMAGEDIR"/home_001.png"
-
#ifdef APPFWK_MEASUREMENT
#define PRINT_APPFWK() do { \
struct timeval tv; \
extern void _evas_object_event_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
extern void _evas_object_event_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
extern void _evas_object_event_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+extern const char *util_get_file_path(const char *relative);
+
+#define util_get_res_file_path(x) util_get_file_path(x);
#endif /* __MENU_SCREEN_UTIL_H__ */
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="1.2.5" install-location="internal-only" api-version="2.3.1">
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.menu-screen" version="1.2.5" install-location="internal-only" api-version="3.0">
<label>Simple Menu-screen</label>
<author email="jinny.yoon@samsung.com" href="www.samsung.com">Jin Yoon</author>
<author email="junkyu.han@samsung.com" href="www.samsung.com">Junkyu Han</author>
<author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
<description>Simple Menu-screen Application</description>
- <ui-application appid="@PACKAGE_NAME@" exec="@EXEC_PREFIX@/@PROJECT_NAME@" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+ <ui-application appid="org.tizen.menu-screen" exec="menu-screen" nodisplay="true" multiple="false" type="capp" taskmanage="false">
<label>Simple Menu-screen</label>
<category name="http://tizen.org/category/homeapp"/>
<icon>org.tizen.menu-screen.png</icon>
<privileges>
<privilege>http://tizen.org/privilege/appmanager.launch</privilege>
<privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
+ <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
<privilege>http://tizen.org/privilege/notification</privilege>
<privilege>http://tizen.org/privilege/shortcut</privilege>
<privilege>http://tizen.org/privilege/mediastorage</privilege>
%define _datadir %{_optdir}%{_packagedir}/data
%define _resdir %{_packagedir}/res
%define _sharedir %{_packagedir}/share
-
%define _localedir %{_resdir}/locale
Name: org.tizen.menu-screen
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
BuildRequires: pkgconfig(appcore-efl)
-BuildRequires: pkgconfig(appsvc)
+#BuildRequires: pkgconfig(appsvc)
BuildRequires: pkgconfig(aul)
BuildRequires: pkgconfig(badge)
BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(capi-appfw-preference)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(capi-appfw-package-manager)
+BuildRequires: pkgconfig(capi-appfw-app-manager)
BuildRequires: cmake
BuildRequires: edje-tools
BuildRequires: gettext-tools
make %{?jobs:-j%jobs}
%install
+rm -rf %{buildroot}
%make_install
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{_package_name}
%define tizen_sign 1
-%define tizen_sign_base %{_packagedir}
+%define tizen_sign_base /usr/apps/%{_package_name}
%define tizen_sign_level platform
%define tizen_author_sign 1
%define tizen_dist_sign 1
-mkdir -p %{buildroot}/usr/share/license
-cp -f LICENSE %{buildroot}/usr/share/license/%{_package_name}
%post
-
PRIVATE_OPTION="-s org.tizen.menu-screen"
-
INHOUSE_ID="5000"
%files
-%manifest %{name}.manifest
+%manifest %{_package_name}.manifest
%defattr(-,root,root,-)
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/bin/*
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/edje/*
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/images/*
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/data/main_operation.launch
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/locale/*
-%{TZ_SYS_RO_APP}/org.tizen.menu-screen/shared/res/org.tizen.menu-screen.png
-#%{TZ_SYS_RO_PACKAGES}/org.tizen.menu-screen.xml
+/usr/apps/%{_package_name}/*
+/usr/share/icons/%{_package_name}.png
/usr/share/packages/org.tizen.menu-screen.xml
/usr/share/license/%{_package_name}
--- /dev/null
+
+# Project Name
+APPNAME = menu-screen
+
+# Project Type
+type = app
+
+# Project Profile
+profile = mobile-3.0
+
+# C/CPP Sources
+USER_SRCS = src/popup.c src/util.c src/page.c src/key.c src/all_apps/shortcut.c src/all_apps/list.c src/item.c src/menu_screen.c src/pkgmgr.c src/item_event.c src/db.c src/all_apps/layout.c src/mapbuf.c src/index.c src/mouse.c src/layout.c src/item_badge.c src/page_scroller.c src/list.c src/all_apps/db.c
+
+# EDC Sources
+USER_EDCS =
+
+# PO Sources
+USER_POS = res/po/sl.po res/po/as.po res/po/ca.po res/po/fr.po res/po/nl.po res/po/sk.po res/po/tr_TR.po res/po/pt_PT.po res/po/ar.po res/po/hu.po res/po/ta.po res/po/tl.po res/po/fi.po res/po/id.po res/po/ml.po res/po/mk.po res/po/gu.po res/po/es_ES.po res/po/uz.po res/po/my_MM.po res/po/vi.po res/po/da.po res/po/ky_KG.po res/po/ms.po res/po/si.po res/po/ja_JP.po res/po/be_BY.po res/po/or.po res/po/tk_TM.po res/po/ga.po res/po/lv.po res/po/de.po res/po/en_US.po res/po/fa.po res/po/lt.po res/po/bg.po res/po/mr.po res/po/el_GR.po res/po/pt_BR.po res/po/pl.po res/po/hy.po res/po/te.po res/po/is.po res/po/ka.po res/po/ro.po res/po/sq.po res/po/th.po res/po/ko_KR.po res/po/az.po res/po/lo.po res/po/pa.po res/po/sr.po res/po/eu.po res/po/he.po res/po/kk.po res/po/en_PH.po res/po/kn.po res/po/my_ZG.po res/po/bn.po res/po/zh_CN.po res/po/hr.po res/po/km.po res/po/uk.po res/po/mn_MN.po res/po/tg_TJ.po res/po/en.po res/po/hi.po res/po/es_US.po res/po/bn_BD.po res/po/et.po res/po/ne.po res/po/it_IT.po res/po/zh_HK.po res/po/nb.po res/po/ru_RU.po res/po/pl_SP.po res/po/sv.po res/po/zh_TW.po res/po/cs.po res/po/fr_CA.po res/po/gl.po res/po/ur.po
+
+# User Defines
+USER_DEFS = TIZEN_DEPRECATION DEPRECATION_WARNING
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+
+# User Includes
+## C Compiler
+USER_C_INC_DIRS = inc
+USER_INC_FILES =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_FILES =
+
+USER_INC_DIRS = $(USER_C_INC_DIRS) $(USER_CPP_INC_DIRS)
+
+# User Library Path
+USER_LIB_DIRS = lib
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = ${OUTPUT_DIR} res/images
+USER_EDCS_SOUND_DIRS = ${OUTPUT_DIR} edje/sounds
+USER_EDCS_FONT_DIRS = ${OUTPUT_DIR} edje/fonts
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0
+
+USER_EXT_EDC0_EDCS = res/edje/item_4x4.edc res/edje/group_4x4_portrait.edc res/edje/layout_portrait.edc res/edje/all_apps_portrait.edc res/edje/conf.edc res/edje/button_edit.edc res/edje/index.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = ${OUTPUT_DIR} res/images
+USER_EXT_EDC0_EDCS_SOUND_DIRS = ${OUTPUT_DIR} edje/sounds
+USER_EXT_EDC0_EDCS_FONT_DIRS = ${OUTPUT_DIR} edje/fonts
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE =
+
--- /dev/null
+../../inc/conf.h
\ No newline at end of file
#include "all_apps/list.h"
#include "all_apps/shortcut.h"
-#define ALL_APPS_EDJE_PORTRAIT EDJEDIR"/all_apps_portrait.edj"
#define ALL_APPS_GROUP "all_apps"
-
-#define GROUP_4X4_EDJE_PORTRAIT EDJEDIR"/group_4x4_portrait.edj";
-
-#define ALL_APPS_EDIT_BUTTON_EDJE EDJEDIR"/button_edit.edj"
#define ALL_APPS_EDIT_BUTTON_GROUP "button_edit"
#define ALL_APPS_EDIT_BUTTON_PART "button_edit"
retv_if(NULL == parent, NULL);
retv_if(NULL == scroller, NULL);
- button = layout_load_edj(parent, ALL_APPS_EDIT_BUTTON_EDJE, ALL_APPS_EDIT_BUTTON_GROUP);
+ button = layout_load_edj(parent, util_get_file_path(EDJE_DIR"/button_edit.edj"), ALL_APPS_EDIT_BUTTON_GROUP);
retv_if(NULL == button, NULL);
edje_object_signal_callback_add(_EDJ(button), "edit_button,down", "menu", _edit_button_down_cb, scroller);
page_scroller_bring_in(scroller, 0);
page_scroller_focus(scroller);
menu_screen_set_done(true);
- menu_screen_inc_booting_state();
return ECORE_CALLBACK_CANCEL;
}
Evas_Object *bg;
Evas *evas;
- static const char item_edje[] = EDJEDIR"/item_4x4.edj";
- static const char *page_edje;
- static const char *all_apps_edje;
int item_width, item_height;
all_apps = elm_layout_add(controlbar);
retv_if(NULL == all_apps, NULL);
- all_apps_edje = ALL_APPS_EDJE_PORTRAIT;
- page_edje = GROUP_4X4_EDJE_PORTRAIT;
-
item_width = ITEM_WIDTH_PROP * menu_screen_get_root_width();
item_height = ITEM_HEIGHT_PROP * menu_screen_get_root_height();
- if (EINA_FALSE == elm_layout_file_set(all_apps, all_apps_edje, ALL_APPS_GROUP)) {
+ if (EINA_FALSE == elm_layout_file_set(all_apps, util_get_file_path(EDJE_DIR"/all_apps_portrait.edj"), ALL_APPS_GROUP)) {
evas_object_del(all_apps);
_E("cannot load layout");
return NULL;
evas_object_data_set(all_apps, "win", evas_object_data_get(controlbar, "win"));
evas_object_data_set(all_apps, "layout", evas_object_data_get(controlbar, "layout"));
evas_object_data_set(all_apps, "controlbar", controlbar);
- evas_object_data_set(all_apps, "page_edje", (void *) page_edje);
evas_object_data_set(all_apps, "page_max_app", (void *) PAGE_MAX_APP);
- evas_object_data_set(all_apps, "item_edje", (void *) item_edje);
evas_object_data_set(all_apps, "item_width", (void *) item_width);
evas_object_data_set(all_apps, "item_height", (void *) item_height);
evas_object_data_set(all_apps, "item_enable_long_press", (void *) true);
evas_object_data_del(all_apps, "controlbar");
evas_object_data_del(all_apps, "index");
evas_object_data_del(all_apps, "scroller");
- evas_object_data_del(all_apps, "page_edje");
evas_object_data_del(all_apps, "page_max_app");
- evas_object_data_del(all_apps, "item_edje");
evas_object_data_del(all_apps, "item_width");
evas_object_data_del(all_apps, "item_height");
evas_object_data_del(all_apps, "item_enable_long_press");
*/
#include <Elementary.h>
-#include <pkgmgr-info.h>
#include "menu_screen.h"
#include "conf.h"
#include "list.h"
#include "all_apps/layout.h"
-
-
-
-HAPI int all_apps_list_find_installed_time(const char *id)
-{
- pkgmgrinfo_pkginfo_h handle = NULL;
- pkgmgrinfo_appinfo_h appinfo_h = NULL;
-
- int ret = 0;
- int installed_time = 0;
-
- goto_if(0> pkgmgrinfo_appinfo_get_usr_appinfo(id, getuid(), &appinfo_h), ERROR);
-
- char *pkgid = NULL;
- goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_get_pkgid(appinfo_h, &pkgid), ERROR);
- goto_if (NULL == pkgid, ERROR);
-
- goto_if (0>pkgmgrinfo_pkginfo_get_usr_pkginfo(pkgid, getuid(), &handle), ERROR);
-
- ret = pkgmgrinfo_pkginfo_get_installed_time(handle, &installed_time);
- goto_if (ret != PMINFO_R_OK, ERROR);
-
- pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-
- return installed_time;
-
-ERROR:
- if (appinfo_h) pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
- if (handle) pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return 0;
-}
-
-
-
-static int _all_apps_cb(pkgmgrinfo_appinfo_h handle, void *data)
-{
- app_list *list = data;
- app_list_item *item;
- app_info_t *item_info;
- int installed_time = 0;
- char *appid = NULL;
-
- pkgmgrinfo_appinfo_get_appid(handle, &appid);
- retv_if(NULL == appid, 0);
- retv_if(NULL == (item = calloc(1, sizeof(struct _app_list_item))), 0);
-
- if (NULL == (item->package = strdup(appid))) {
- free(item);
- return 0;
- }
-
- if (NULL == (item->data = calloc(1, sizeof(app_info_t)))) {
- free(item->package);
- free(item);
- return 0;
- }
-
- if (MENU_SCREEN_ERROR_OK != list_get_values(item->package, item->data)) {
- free(item->data);
- free(item->package);
- free(item);
- return 0;
- }
-
- item_info = item->data;
- if (NULL == item_info) {
- free(item->data);
- free(item->package);
- free(item);
- return 0;
- }
-
- if (item_info->nodisplay || !item_info->enabled) {
- free(item->data);
- free(item->package);
- free(item);
- return 0;
- }
-
- installed_time = all_apps_list_find_installed_time(item->package);
- item->installed_time = installed_time;
-
- if (0 == item->installed_time) {
- free(item->data);
- free(item->package);
- free(item);
- return 0;
- }
-
- if (list_append_item(list, item) != MENU_SCREEN_ERROR_OK) {
- free(item->data);
- free(item->package);
- free(item);
- return 0;
- }
-
- _D("[ALL Apps] package=%s", item->package);
-
- return 1;
-}
-
-
-
-static int _all_apps_installed_time_sort_cb(const void *d1, const void *d2)
-{
- app_list_item *item[2];
-
- retv_if(NULL == d1, 0);
- retv_if(NULL == d2, 0);
-
- item[0] = (app_list_item *) d1;
- item[1] = (app_list_item *) d2;
-
-
- if (item[0]->installed_time > item[1]->installed_time) return (1);
- if (item[0]->installed_time < item[1]->installed_time) return (-1);
- else return (0);
-}
+#include "pkgmgr.h"
{
int count = 0;
app_list *list;
- pkgmgrinfo_appinfo_filter_h handle = NULL;
list = calloc(1, sizeof(app_list));
retv_if(NULL == list, NULL);
- if (PMINFO_R_OK != pkgmgrinfo_appinfo_filter_create(&handle))
- {
- free(list);
+ if (!pkgmgr_get_app_list(&list)) {
+ _E("Failed to get app list");
return NULL;
- }
- goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_NODISPLAY, 0), ERROR);
- goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_usr_filter_foreach_appinfo(handle, _all_apps_cb, list, getuid()), ERROR);
-
- pkgmgrinfo_appinfo_filter_destroy(handle);
+ };
if (MENU_SCREEN_ERROR_FAIL == list_count(list, &count)) {
_D("Cannot count apps.");
int i;
- if (MENU_SCREEN_ERROR_FAIL == list_sort(list, _all_apps_installed_time_sort_cb)) {
- _E("Cannot sort installed_time");
- }
-
for(i = (MAX_PAGE_NO * PAGE_MAX_APP); i<count; i++) {
app_list_item *item = list_nth(list, (MAX_PAGE_NO * PAGE_MAX_APP));
}
return list;
-
-ERROR:
- if (handle) pkgmgrinfo_appinfo_filter_destroy(handle);
-
- return list;
}
*
*/
-#include <db-util.h>
#include <sqlite3.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <Elementary.h>
-#include <appsvc.h>
#include <app_control.h>
#include <app.h>
#include <aul.h>
#define LAYOUT_BLOCK_INTERVAL 1.0
#define ITEM_GROUP_NAME "icon"
-#define DATA_KEY_ITEM_LAUNCH_MAIN_OPERATION "dk_it_launch"
#define STR_ATTRIBUTE_PKGID "pkgid"
#define STR_ATTRIBUTE_NAME "name"
#define STR_ATTRIBUTE_ICON "icon"
-static int _is_main_operation_launch(Evas_Object *scroller, const char *package)
-{
- Eina_List *main_operation_list;
-
- retv_if(!package, 0);
-
- main_operation_list = evas_object_data_get(scroller, DATA_KEY_MAIN_OPERATION_LIST);
- if (!main_operation_list) {
- _D("main operation list is NULL");
- return 0;
- }
-
- const Eina_List *l, *l_next;
- char *data;
- EINA_LIST_FOREACH_SAFE(main_operation_list, l, l_next, data) {
- continue_if(!data);
- if (!strcmp(package, data)) {
- return 1;
- }
- }
-
- return 0;
-}
-
-
-
HAPI void item_update(Evas_Object *item, app_info_t *ai)
{
Evas_Object *icon = NULL;
_E("Failed to access to [%s]", ai->icon);
if (ai->icon) free(ai->icon);
- ai->icon = strdup(DEFAULT_ICON);
+ ai->icon = strdup(util_get_file_path(IMAGE_DIR"/default.png"));
if (!ai->icon) _E("Critical! strdup error");
}
Evas_Object *item;
Evas_Object *bg;
- char *item_edje;
int item_width;
int item_height;
- item_edje = evas_object_data_get(scroller, "item_edje");
- item = layout_load_edj(scroller, item_edje, ITEM_GROUP_NAME);
+ item = layout_load_edj(scroller, util_get_file_path(EDJE_DIR"/item_4x4.edj"), ITEM_GROUP_NAME);
if (!item) {
_E("Failed to load an item object");
return NULL;
evas_object_data_set(item, "x", (void *) 0);
evas_object_data_set(item, "y", (void *) 0);
evas_object_data_set(item, "dirty", (void *) 0);
- if (_is_main_operation_launch(scroller, ai->package)) {
- evas_object_data_set(item, DATA_KEY_ITEM_LAUNCH_MAIN_OPERATION, (void *) 1);
- }
item_update(item, ai);
item_event_register(item);
evas_object_data_del(item, "x");
evas_object_data_del(item, "y");
evas_object_data_del(item, "dirty");
- evas_object_data_del(item, DATA_KEY_ITEM_LAUNCH_MAIN_OPERATION);
do {
Evas_Object *focus = NULL;
-static void _run_cb(bundle *b, int request_code, appsvc_result_val result, void *data)
-{
-}
-
-
-#define BUNDLE_KEY_OPERATION "__APP_SVC_OP_TYPE__"
HAPI void item_launch(Evas_Object *obj)
{
char *package;
- char *name;
- bundle *b = NULL;
Evas_Object *layout = NULL;
+ app_control_h app_control_handle = NULL;
Evas_Object *item = obj;
ret_if(NULL == item);
- name = item_get_name(item);
package = item_get_package(item);
ret_if(NULL == package);
bool is_shortcut = (bool) evas_object_data_get(item, "is_shortcut");
bool shortcut_launch_package = (bool) evas_object_data_get(item, "shortcut_launch_package");
- if (is_shortcut && !shortcut_launch_package) {
- b = bundle_create();
- ret_if(NULL == b);
- appsvc_set_operation(b, APPSVC_OPERATION_VIEW);
- appsvc_set_uri(b, evas_object_data_get(item, "content_info"));
+ if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) {
+ _E("Failed to create app control");
+ app_control_handle = NULL;
+ return;
+ }
+
+ if (app_control_set_app_id(app_control_handle, package) != APP_CONTROL_ERROR_NONE) {
+ _E("Failed to set app id");
+ return;
+ }
- int ret = -1;
- ret = appsvc_run_service(b, 0, _run_cb, NULL);
- if (0 > ret) {
- _E("cannot run service. ret [%d]", ret);
+ if (is_shortcut && !shortcut_launch_package) {
+ if (app_control_set_uri(app_control_handle, evas_object_data_get(item, "content_info")) != APP_CONTROL_ERROR_NONE) {
+ _E("Failed to set uri");
+ return;
+ }
+
+ if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) {
+ _E("Failed to send launch request");
layout_disable_block(layout);
+ return;
} else {
- _D("Launch app's ret : [%d]", ret);
+ _D("Sending launch request successed");
ecore_timer_add(LAYOUT_BLOCK_INTERVAL, _unblock_cb, NULL);
}
-
- bundle_free(b);
} else {
- int ret_aul = AUL_R_OK;
- if (evas_object_data_get(item, DATA_KEY_ITEM_LAUNCH_MAIN_OPERATION)) {
- b = bundle_create();
- ret_if(NULL == b);
-
- if (0 != bundle_add(b, BUNDLE_KEY_OPERATION, APP_CONTROL_OPERATION_MAIN)) {
- _E("Cannot add to a bundle");
- bundle_free(b);
- return;
- }
-
- if (b) {
- ret_aul = aul_launch_app(package, b);
- if (AUL_R_EINVAL == ret_aul) {
- _E("cannot launch app");
- }
- bundle_free(b);
- }
- } else {
- ret_aul = aul_open_app(package);
- if (AUL_R_EINVAL == ret_aul) {
- char* sinform;
- int len;
-
- if (!name) {
- name = package;
- }
-
- // IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS : "Unable to launch %s"
- len = strlen(_("IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS")) + strlen(name) + 1;
-
- sinform = calloc(len, sizeof(char));
- if (!sinform) {
- _E("cannot calloc for popup.");
- return;
- }
-
- snprintf(sinform, len, _("IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS"), name);
- popup_create_confirm(layout, sinform);
-
- free(sinform);
- layout_disable_block(layout);
- }
+ if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) {
+ _E("Failed to send launch request");
+ return;
}
- _D("Launch app's ret : [%d]", ret_aul);
-
_T(package);
ecore_timer_add(LAYOUT_BLOCK_INTERVAL, _unblock_cb, NULL);
}
-HAPI void layout_create_package(Evas_Object *layout, const char *package)
+HAPI void layout_create_package(Evas_Object *layout, app_info_t *ai)
{
- app_info_t ai = {0,};
Evas_Object *all_apps = NULL;
Evas_Object *scroller = NULL;
Evas_Object *item = NULL;
+#if 0
if (MENU_SCREEN_ERROR_FAIL == list_get_values(package, &ai)) {
list_free_values(&ai);
return;
}
+#endif
- if (ai.nodisplay) {
- _D("This app(%s) is nodisplay", ai.package);
- list_free_values(&ai);
+ if (ai->nodisplay) {
+ _D("This app(%s) is nodisplay", ai->package);
+ list_free_values(ai);
return;
}
goto_if(!scroller, EXIT);
/* Update the package */
- item = page_scroller_find_item_by_package(scroller, ai.package, NULL);
+ item = page_scroller_find_item_by_package(scroller, ai->package, NULL);
if (item) {
- _D("Package %s is found, update it!", package);
- item_update(item, &ai);
+ _D("Package %s is found, update it!", ai->package);
+ item_update(item, ai);
goto EXIT;
}
/* Create the package */
- _D("package %s is installed directly", package);
- item = page_scroller_push_item_by_order(scroller, &ai);
+ _D("package %s is installed directly", ai->package);
+ item = page_scroller_push_item_by_order(scroller, ai);
if (!item) _E("item is NULL");
EXIT:
- list_free_values(&ai);
+ list_free_values(ai);
return;
}
-HAPI void layout_update_package(Evas_Object *layout, const char *package)
+HAPI void layout_update_package(Evas_Object *layout, app_info_t *ai)
{
- layout_create_package(layout, package);
+ layout_create_package(layout, ai);
}
#include <stdbool.h>
#include <stdlib.h>
#include <Elementary.h>
-#include <pkgmgr-info.h>
#include "list.h"
#include "util.h"
+#if 0
/* FIXME : package -> appid */
HAPI menu_screen_error_e list_get_values(const char *package, app_info_t *ai)
{
list_free_values(ai);
return MENU_SCREEN_ERROR_FAIL;
}
+#endif
return MENU_SCREEN_ERROR_FAIL;
}
- if(menu_screen_is_tts()) {
- evas_object_data_set(mapbuf, "mapbuf_enabled", (void*)0);
- elm_mapbuf_enabled_set(mapbuf, 0);
- return MENU_SCREEN_ERROR_OK;
- }
-
if (force) {
evas_object_data_set(mapbuf, "mapbuf_enabled", (void*)0);
_move_pages(page);
*/
#include <app.h>
-#include <appcore-efl.h>
#include <aul.h>
#include <Elementary.h>
#include <stdbool.h>
#include <vconf.h>
#include <app_preference.h>
#include <system_settings.h>
-#include <pkgmgr-info.h>
+#include <app_manager.h>
#include "conf.h"
#include "item.h"
#include "util.h"
#define MENU_SCREEN_ENGINE "file/private/org.tizen.menu-screen/engine"
-
-#define LAYOUT_EDJE_PORTRAIT EDJEDIR"/layout_portrait.edj"
#define LAYOUT_GROUP_NAME "layout"
-
// Define prototype of the "hidden API of AUL"
extern int aul_listen_app_dead_signal(int (*func)(int signal, void *data), void *data);
static struct {
int state;
int root_width;
int root_height;
- int is_tts;
- int booting_state;
Evas *evas;
Ecore_Evas *ee;
Evas_Object *win;
bool is_done;
} menu_screen_info = {
.state = APP_STATE_PAUSE,
- .is_tts = false,
- .booting_state = 0,
.evas = NULL,
.ee = NULL,
.win = NULL,
-HAPI int menu_screen_is_tts(void)
-{
- return menu_screen_info.is_tts;
-}
-
-
-static Eina_Bool _appcore_flush_cb(void *data)
-{
- if (APP_STATE_PAUSE != menu_screen_info.state) return ECORE_CALLBACK_CANCEL;
- if (0 != appcore_flush_memory()) _E("Cannot flush memory");
- return ECORE_CALLBACK_CANCEL;
-}
-
-
-
-HAPI void menu_screen_inc_booting_state(void)
-{
- menu_screen_info.booting_state++;
- if (BOOTING_STATE_DONE > menu_screen_info.booting_state) return;
-
- menu_screen_error_e ret = MENU_SCREEN_ERROR_OK;
- do {
- ret = pkgmgr_reserve_list_pop_request();
- } while (MENU_SCREEN_ERROR_OK == ret);
-
- /* Cache memory is cleared when the application paused (every time, after 5 seconds (in appcore)),
- * but after running in a minimized mode (HIDE_LAUNCH) application have status AS_RUNNING.
- * Application have status AS_PAUSED only after change of visibility to hidden condition by user (on hiding window)
- * Cleaning must be performed only once after application loading in hidden condition
- * (and stay in a hidden condition at time of cleaning).
- */
- if (APP_STATE_PAUSE == menu_screen_info.state)
- ecore_timer_add(5, _appcore_flush_cb, NULL);
-}
-
-
-
-HAPI void menu_screen_dec_booting_state(void)
-{
- menu_screen_info.booting_state --;
-}
-
-
-
-HAPI int menu_screen_get_booting_state(void)
-{
- return menu_screen_info.booting_state;
-}
-
-
-
static bool _is_emulator_on(void)
{
int ret;
evas_object_size_hint_max_set(bg, width, height);
if (!elm_image_file_set(bg, buf, NULL)) {
_E("Failed to set image file : %s", buf);
- elm_image_file_set(bg, DEFAULT_BG, NULL);
+ if (!elm_image_file_set(bg, util_get_file_path(IMAGE_DIR"/home_001.png"), NULL)) {
+ _E("Failed to set default image file: %s", util_get_file_path(IMAGE_DIR"/home_001.png"));
+ return;
+ }
}
elm_win_resize_object_add(menu_screen_get_win(), bg);
{
menu_screen_info.theme = elm_theme_new();
elm_theme_ref_set(menu_screen_info.theme, NULL);
- elm_theme_extension_add(menu_screen_info.theme, EDJEDIR"/index.edj");
+ elm_theme_extension_add(menu_screen_info.theme, util_get_file_path(EDJE_DIR"/index.edj"));
}
static void _fini_theme(void)
{
- elm_theme_extension_del(menu_screen_info.theme, EDJEDIR"/index.edj");
+ elm_theme_extension_del(menu_screen_info.theme, util_get_file_path(EDJE_DIR"/index.edj"));
elm_theme_free(menu_screen_info.theme);
menu_screen_info.theme = NULL;
evas_object_data_set(menu_screen_info.win, "conformant", conformant);
Evas_Object *layout;
- layout = layout_create(conformant, LAYOUT_EDJE_PORTRAIT,
- LAYOUT_GROUP_NAME, MENU_SCREEN_ROTATE_PORTRAIT);
+ layout = layout_create(conformant, util_get_file_path(EDJE_DIR"/layout_portrait.edj"), LAYOUT_GROUP_NAME, MENU_SCREEN_ROTATE_PORTRAIT);
if (NULL == layout) {
_E("Failed to load an edje object");
evas_object_del(menu_screen_info.win);
Evas_Object *layout;
// FIXME : This will be enabled after rebuilding the routine for appid <-> pkgid.
- pkgmgr_fini();
if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN) < 0) {
_E("Failed to remove bgset [%s]\n", SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN);
}
for (j = 0; j < page_max_app; j ++) {
- pkgmgrinfo_appinfo_h appinfo_h = NULL;
+ app_info_h app_info = NULL;
char *name;
+ int ret;
item = page_get_item_at(page, j);
if (!item) continue;
- if (pkgmgrinfo_appinfo_get_usr_appinfo(item_get_package(item), getuid(), &appinfo_h) < 0) {
- pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
- continue;
- }
- if (pkgmgrinfo_appinfo_get_label(appinfo_h, &name) < 0) {
- pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
- continue;
- }
+ app_manager_get_app_info(item_get_package(item), &app_info);
- if (!name) {
- _D("Failed to get name for %s", item_get_package(item));
- pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
+ ret = app_info_get_label(app_info, &name);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("Failed to get label from : %s", item_get_package(item));
continue;
}
+ _D("Changed Language name: %s", name);
+
item_set_name(item, name, 0);
- pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
}
mapbuf_enable(page, 1);
Evas_Object *mapbuf;
Evas_Object *box;
- char *page_edje;
unsigned int count;
int page_height;
int page_width;
_D("Create a new page[%d]", idx);
- page_edje = evas_object_data_get(scroller, "page_edje");
-
- page = layout_load_edj(scroller, page_edje, PAGE_GROUP_NAME);
+ page = layout_load_edj(scroller, util_get_file_path(EDJE_DIR"/group_4x4_portrait.edj"), PAGE_GROUP_NAME);
retv_if(!page, NULL);
edje_object_signal_callback_add(_EDJ(page), "dim,down", "menu", _dim_down_cb, NULL);
evas_object_data_set(page, "controlbar", evas_object_data_get(scroller, "controlbar"));
evas_object_data_set(page, "tab", evas_object_data_get(scroller, "tab"));
evas_object_data_set(page, "scroller", scroller);
- evas_object_data_set(page, "page_edje", page_edje);
evas_object_data_set(page, "page_max_app", evas_object_data_get(scroller, "page_max_app"));
evas_object_data_set(page, "bg", bg);
evas_object_data_set(page, "pending,list", NULL);
evas_object_data_del(page, "controlbar");
evas_object_data_del(page, "tab");
evas_object_data_del(page, "scroller");
- evas_object_data_del(page, "page_edje");
evas_object_data_del(page, "page_max_app");
evas_object_data_del(page, "bg");
evas_object_data_del(page, "pending,list");
#define BUFSZE 1024
#define PAGE_SCROLL_SENSITIVE 0.2
#define PROP_PORTRAIT_HEIGHT (PAGE_PORTRAIT_HEIGHT / BASE_HEIGHT)
-#define MAIN_OPERATION_FILE "/usr/apps/org.tizen.menu-screen/res/data/main_operation.launch"
-static int _create_main_operation_list(Evas_Object *scroller)
-{
- FILE *fp;
- char *line = NULL;
- size_t size = 0;
- ssize_t read;
- char *data = NULL;
- Eina_List *main_operation_list = NULL;
-
- fp = fopen(MAIN_OPERATION_FILE, "r");
- if (!fp) {
- _D("cannot open fp");
- return 0;
- }
-
- while ((read = getline(&line, &size, fp)) != -1) {
- char *begin;
-
- if (size <= 0) {
- free(line);
- line = NULL;
- break;
- }
-
- begin = _ltrim(line);
- _rtrim(line);
-
- if (*begin == '#' || *begin == '\0') {
- free(line);
- line = NULL;
- continue;
- }
-
- data = strdup(begin);
- main_operation_list = eina_list_append(main_operation_list, data);
-
- if (line) {
- free(line);
- line = NULL;
- }
- }
-
- fclose(fp);
- evas_object_data_set(scroller, DATA_KEY_MAIN_OPERATION_LIST, main_operation_list);
-
- return 1;
-}
-
-
-
-static void _destroy_main_operation_list(Evas_Object *scroller)
-{
- char *data = NULL;
- Eina_List *main_operation_list = NULL;
-
- main_operation_list = evas_object_data_del(scroller, DATA_KEY_MAIN_OPERATION_LIST);
- ret_if(!main_operation_list);
-
- EINA_LIST_FREE(main_operation_list, data) {
- free(data);
- }
-}
-
-
-
HAPI Evas_Object *page_scroller_create(Evas_Object *tab, Evas_Object *index, page_scroller_sort_type_e sort_type, int rotate)
{
Evas_Object *box;
evas_object_show(scroller);
item_badge_register_changed_cb(scroller);
- if (!_create_main_operation_list(scroller)) {
- _E("Cannot create the main operation list");
- }
return scroller;
}
ret_if(NULL == (box = evas_object_data_get(scroller, "box")));
ret_if(NULL == (page_list = elm_box_children_get(box)));
- _destroy_main_operation_list(scroller);
item_badge_unregister_changed_cb();
EINA_LIST_FOREACH_SAFE(page_list, l, ln, page) {
*/
#include <Elementary.h>
+#include <package_manager.h>
+#include <app_manager.h>
+#include <package_info.h>
#include <package-manager.h>
-#include <pkgmgr-info.h>
#include "conf.h"
#include "menu_screen.h"
#include "page_scroller.h"
#include "pkgmgr.h"
#include "util.h"
+#include "all_apps/list.h"
-struct pkgmgr_handler {
- const char *key;
- int (*func)(const char *package, const char *val, void *data);
-};
-
-typedef struct {
- char* package;
- char* key;
- char* val;
-} pkgmgr_reserve_s;
-
-typedef struct {
- char* package;
- char* status;
-} pkgmgr_request_s;
-
typedef struct {
char* pkg_id;
char* app_id;
} pkgmgr_install_s;
static struct {
- pkgmgr_client *listen_pc;
- Eina_List *reserve_list;
- Eina_List *request_list;
Eina_List *item_list;
} pkg_mgr_info = {
- .listen_pc = NULL,
- .reserve_list = NULL,
- .request_list = NULL,
.item_list = NULL,
};
+static package_manager_h pkg_mgr = NULL;
-
-static menu_screen_error_e _append_request_in_list(const char *package, const char *status)
-{
- retv_if(NULL == package, MENU_SCREEN_ERROR_INVALID_PARAMETER);
- retv_if(NULL == status, MENU_SCREEN_ERROR_INVALID_PARAMETER);
-
- pkgmgr_request_s *rt = calloc(1, sizeof(pkgmgr_request_s));
- retv_if(NULL == rt, MENU_SCREEN_ERROR_FAIL);
-
- rt->package = strdup(package);
- goto_if(NULL == rt->package, ERROR);
-
- rt->status = strdup(status);
- goto_if(NULL == rt->status, ERROR);
-
- pkg_mgr_info.request_list = eina_list_append(pkg_mgr_info.request_list, rt);
- goto_if(NULL == pkg_mgr_info.request_list, ERROR);
-
- return MENU_SCREEN_ERROR_OK;
-
-ERROR:
- if (rt->status) free(rt->status);
- if (rt->package) free(rt->package);
- if (rt) free(rt);
-
- return MENU_SCREEN_ERROR_FAIL;
-}
-
-
-
-static menu_screen_error_e _remove_request_in_list(const char *package)
-{
- retv_if(NULL == package, MENU_SCREEN_ERROR_INVALID_PARAMETER);
-
- if (NULL == pkg_mgr_info.request_list) return MENU_SCREEN_ERROR_OK;
-
- const Eina_List *l = NULL;
- const Eina_List *ln = NULL;
- pkgmgr_request_s *rt = NULL;
- EINA_LIST_FOREACH_SAFE(pkg_mgr_info.request_list, l, ln, rt) {
- if (!rt) continue;
- if (!rt->package) continue;
- if (strcmp(rt->package, package)) continue;
-
- pkg_mgr_info.request_list = eina_list_remove(pkg_mgr_info.request_list, rt);
- free(rt->package);
- if (rt->status) free(rt->status);
- free(rt);
- return MENU_SCREEN_ERROR_OK;
- }
-
- return MENU_SCREEN_ERROR_FAIL;
-}
-
-
-
-static int _exist_request_in_list(const char *package)
-{
- retv_if(NULL == package, 0);
-
- if (NULL == pkg_mgr_info.request_list) return 0;
-
- const Eina_List *l = NULL;
- const Eina_List *ln = NULL;
- pkgmgr_request_s *rt = NULL;
- EINA_LIST_FOREACH_SAFE(pkg_mgr_info.request_list, l, ln, rt) {
- if (!rt) continue;
- if (!rt->package) continue;
- if (strcmp(rt->package, package)) continue;
- return 1;
- }
-
- return 0;
-}
-
-
-
-static pkgmgr_request_s *_get_request_in_list(const char *package)
-{
- retv_if(NULL == package, NULL);
-
- if (NULL == pkg_mgr_info.request_list) return NULL;
-
- const Eina_List *l = NULL;
- const Eina_List *ln = NULL;
- pkgmgr_request_s *rt = NULL;
- EINA_LIST_FOREACH_SAFE(pkg_mgr_info.request_list, l, ln, rt) {
- if (!rt) continue;
- if (!rt->package) continue;
- if (strcmp(rt->package, package)) continue;
- return rt;
- }
-
- return NULL;
-}
-
+static bool _pkgmgr_get_apps_info(app_info_h app_handle, app_list_item **item);
+static bool _all_apps_cb(app_info_h app_handle, void *data);
+static void _pkgmgr_install(const char *package);
+static void _pkgmgr_uninstall(const char *package);
+static bool _get_app_info_from_pkg(package_info_app_component_type_e comp_type, const char *app_id, void *data);
HAPI menu_screen_error_e pkgmgr_item_list_append_item(const char *pkg_id, const char *app_id, Evas_Object *item)
-HAPI void pkgmgr_item_list_affect_pkgid(const char *pkg_id, Eina_Bool (*_affected_cb)(const char *, Evas_Object *, void *), void *data)
-{
- ret_if(NULL == pkg_mgr_info.item_list);
- ret_if(NULL == pkg_id);
- ret_if(NULL == _affected_cb);
-
- const Eina_List *l;
- const Eina_List *ln;
- pkgmgr_install_s *pi;
- EINA_LIST_FOREACH_SAFE(pkg_mgr_info.item_list, l, ln, pi) {
- continue_if(NULL == pi);
- continue_if(NULL == pi->app_id);
- continue_if(NULL == pi->item);
-
- if (strcmp(pkg_id, pi->pkg_id)) continue;
- /* It's possible that many items with the same package name are in the install list */
- continue_if(EINA_TRUE != _affected_cb(pi->app_id, pi->item, data));
- }
-}
-
-
-
-HAPI void pkgmgr_item_list_affect_appid(const char *app_id, Eina_Bool (*_affected_cb)(const char *, Evas_Object *, void *), void *data)
-{
- ret_if(NULL == pkg_mgr_info.item_list);
- ret_if(NULL == app_id);
- ret_if(NULL == _affected_cb);
-
- const Eina_List *l;
- const Eina_List *ln;
- pkgmgr_install_s *pi;
- EINA_LIST_FOREACH_SAFE(pkg_mgr_info.item_list, l, ln, pi) {
- continue_if(NULL == pi);
- continue_if(NULL == pi->app_id);
- continue_if(NULL == pi->item);
-
- if (strcmp(app_id, pi->app_id)) continue;
- /* It's possible that many items with the same package name are in the install list */
- if (EINA_FALSE == _affected_cb(pi->app_id, pi->item, data)) break;
- }
-}
-
-
-
HAPI menu_screen_error_e pkgmgr_uninstall(Evas_Object *item)
{
char *pkgid = NULL;
char *appid = NULL;
- pkgmgr_client *req_pc = NULL;
- pkgmgrinfo_appinfo_h handle = NULL;
- int ret = MENU_SCREEN_ERROR_OK;
+ int id = 0;
+ package_manager_request_h request;
retv_if(NULL == item, MENU_SCREEN_ERROR_FAIL);
appid = item_get_package(item);
retv_if(NULL == appid, MENU_SCREEN_ERROR_FAIL);
- req_pc = pkgmgr_client_new(PC_REQUEST);
- retv_if(NULL == req_pc, MENU_SCREEN_ERROR_FAIL);
-
- if (PMINFO_R_OK != pkgmgrinfo_appinfo_get_usr_appinfo(appid, getuid(), &handle)) {
- if (PKGMGR_R_OK != pkgmgr_client_free(req_pc)) {
- _E("cannot free pkgmgr_client for request.");
- }
+ if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) {
+ _E("Failed to create request for %s", pkgid);
return MENU_SCREEN_ERROR_FAIL;
}
- if (PMINFO_R_OK != pkgmgrinfo_appinfo_destroy_appinfo(handle)) {
- _E("cannot destroy the appinfo");
- ret = MENU_SCREEN_ERROR_FAIL;
- }
-
- _D("Uninstall a package[%s] from an app[%s]", pkgid, appid);
- if (pkgmgr_client_usr_uninstall(req_pc, NULL, pkgid, PM_QUIET, NULL, NULL, getuid()) < 0) {
- _E("cannot uninstall %s.", item_get_package(item));
- ret = MENU_SCREEN_ERROR_FAIL;
+ if (package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT)) {
+ _E("Failed to set request mode for %s", pkgid);
+ return MENU_SCREEN_ERROR_FAIL;
}
- if (PMINFO_R_OK != pkgmgr_client_free(req_pc)) {
- _E("cannot free pkgmgr_client");
- ret = MENU_SCREEN_ERROR_FAIL;
+ if (package_manager_request_uninstall(request, pkgid, &id)) {
+ _E("Failed to request uninstall for %s", pkgid);
}
- return ret;
-}
-
-
-
-static menu_screen_error_e _start_download(const char *package, void *scroller)
-{
- _D("Start downloading for the package(%s)", package);
- return MENU_SCREEN_ERROR_OK;
-}
-
-
-
-static menu_screen_error_e _start_uninstall(const char *package, void *scroller)
-{
- _D("Start uninstalling for the package(%s)", package);
- return MENU_SCREEN_ERROR_OK;
-}
-
+ package_manager_request_destroy(request);
-
-static menu_screen_error_e _start_update(const char *package, void *scroller)
-{
- _D("Start updating for the package(%s)", package);
- return MENU_SCREEN_ERROR_OK;
-}
-
-
-
-static menu_screen_error_e _start_recover(const char *package, void *scroller)
-{
- _D("Start recovering for the package(%s)", package);
return MENU_SCREEN_ERROR_OK;
}
-static menu_screen_error_e _start_install(const char *package, void *scroller)
+static bool _get_app_info_from_pkg(package_info_app_component_type_e comp_type, const char *app_id, void *data)
{
- _D("Start installing for the package(%s)", package);
- return MENU_SCREEN_ERROR_OK;
-}
-
+ app_info_h app_info = NULL;
+ app_list_item *item = NULL;
-
-static menu_screen_error_e _start(const char *package, const char *val, void *scroller)
-{
- struct start_cb_set {
- const char *name;
- int (*handler)(const char *package, void *scroller);
- } start_cb[] = {
- {
- .name = "download",
- .handler = _start_download,
- },
- {
- .name = "uninstall",
- .handler = _start_uninstall,
- },
- {
- .name = "install",
- .handler = _start_install,
- },
- {
- .name = "update",
- .handler = _start_update,
- },
- {
- .name = "recover",
- .handler = _start_recover,
- },
- {
- .name = NULL,
- .handler = NULL,
- },
- };
-
- _D("package [%s], val [%s]", package, val);
- retv_if(_exist_request_in_list(package), MENU_SCREEN_ERROR_FAIL);
- retv_if(MENU_SCREEN_ERROR_OK != _append_request_in_list(package, val), MENU_SCREEN_ERROR_FAIL);
-
- register unsigned int i;
- for (i = 0; start_cb[i].name; i ++) {
- if (strcasecmp(val, start_cb[i].name)) continue;
- break_if(NULL == start_cb[i].handler);
- return start_cb[i].handler(package, scroller);
+ if (app_manager_get_app_info(app_id, &app_info)) {
+ _E("Failed to get app_info");
+ return false;
}
- _E("Unknown status for starting phase signal'd from package manager");
- return MENU_SCREEN_ERROR_OK;
+ if (_pkgmgr_get_apps_info(app_info, &item)) {
+ Evas_Object *layout = evas_object_data_get(menu_screen_get_win(), "layout");
+ if (!layout)
+ return false;
+ layout_create_package(layout, item->data);
+ }
+ usleep(1);
+ return true;
}
-static menu_screen_error_e _icon_path(const char *package, const char *val, void *scroller)
+static void _pkgmgr_uninstall(const char *package)
{
- _D("package(%s) with %s", package, val);
- return MENU_SCREEN_ERROR_OK;
-}
-
-
+ Evas_Object *layout = evas_object_data_get(menu_screen_get_win(), "layout");
+ if (!layout)
+ return;
-static menu_screen_error_e _download_percent(const char *package, const char *val, void *scroller)
-{
- _D("package(%s) with %s", package, val);
- return MENU_SCREEN_ERROR_OK;
+ layout_delete_package(layout, package);
}
-static menu_screen_error_e _install_percent(const char *package, const char *val, void *scroller)
+static void _pkgmgr_install(const char *package)
{
- _D("package(%s) with %s", package, val);
- if (_exist_request_in_list(package)) return MENU_SCREEN_ERROR_OK;
- retv_if(MENU_SCREEN_ERROR_OK != _append_request_in_list(package, "install"), MENU_SCREEN_ERROR_FAIL);
- return MENU_SCREEN_ERROR_OK;
-}
-
+ package_info_h package_info = NULL;
+ if (package_info_create(package, &package_info)) {
+ _E("Failed to creat package info");
+ }
-static menu_screen_error_e _error(const char *package, const char *val, void *scroller)
-{
- _D("package(%s) with %s", package, val);
- return MENU_SCREEN_ERROR_OK;
+ if (package_info_foreach_app_from_package(package_info, PACKAGE_INFO_ALLAPP, _get_app_info_from_pkg, NULL)) {
+ _E("Failed to install app %s", package);
+ return;
+ }
+ package_info_destroy(package_info);
}
-static int _end_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
+static void _pkgmgr_event_cb(const char *type, const char *package,
+ package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress,
+ package_manager_error_e error, void *user_data)
{
- retv_if(NULL == handle, -1);
- retv_if(NULL == user_data, -1);
-
- char *appid = NULL;
- pkgmgrinfo_appinfo_get_appid(handle, &appid);
-
- Evas_Object *layout = evas_object_data_get(menu_screen_get_win(), "layout");
- retv_if(NULL == layout, MENU_SCREEN_ERROR_FAIL);
-
- pkgmgr_request_s *rt = user_data;
- if (!strcmp(rt->status, "install")) {
- layout_create_package(layout, appid);
- } else if (!strcmp(rt->status, "update")) {
- layout_update_package(layout, appid);
+ _D("event_type: %d, event_state: %d", event_type, event_state);
+ if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) {
+ _I("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type);
+ } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) {
+ _I("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type);
+ } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) {
+ _I("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type);
+ if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) {
+ _pkgmgr_install(package);
+ } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) {
+ _pkgmgr_uninstall(package);
+ }
} else {
- _E("No routines for this status (%s:%s)", rt->package, rt->status);
+ _E("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type);
}
-
- return 0;
-}
-
-
-
-static Eina_Bool _uninstall_cb(const char *app_id, Evas_Object *item, void *data)
-{
- retv_if(NULL == data, EINA_FALSE);
-
- Evas_Object *layout = data;
- layout_delete_package(layout, app_id);
-
- return EINA_TRUE;
-}
-
-
-
-static Eina_Bool _set_removable_cb(const char *app_id, Evas_Object *item, void *data)
-{
- retv_if(NULL == item, EINA_FALSE);
-
- item_set_removable(item, 1, 0);
- elm_object_signal_emit(item, "uninstall,on", "menu");
-
- return EINA_TRUE;
}
-static menu_screen_error_e _end(const char *package, const char *val, void *data)
+HAPI menu_screen_error_e pkgmgr_init(void)
{
- pkgmgrinfo_pkginfo_h handle = NULL;
-
- retv_if(!_exist_request_in_list(package), MENU_SCREEN_ERROR_FAIL);
-
- pkgmgr_request_s *rt = _get_request_in_list(package);
- retv_if(NULL == rt, MENU_SCREEN_ERROR_FAIL);
- if(strcasecmp(val, "ok")) {
- pkgmgr_item_list_affect_pkgid(package, _set_removable_cb, NULL);
- _E("cannot end that package(%s) is %s", rt->package, rt->status);
+ if (pkg_mgr != NULL)
+ return MENU_SCREEN_ERROR_FAIL;
- goto ERROR;
+ if (package_manager_create(&pkg_mgr)) {
+ _E("Failed to create package manager");
+ return MENU_SCREEN_ERROR_FAIL;
}
- _D("Package(%s) : key(%s) - val(%s)", package, rt->status, val);
-
- /* Criteria : pkgid */
- if (!strcasecmp("uninstall", rt->status)) {
- Evas_Object *layout = evas_object_data_get(menu_screen_get_win(), "layout");
- goto_if(NULL == layout, ERROR);
-
- pkgmgr_item_list_affect_pkgid(package, _uninstall_cb, layout);
- goto OUT;
+ if (package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL)) {
+ _E("Failed to set event status");
+ return MENU_SCREEN_ERROR_FAIL;
}
- goto_if(PMINFO_R_OK != pkgmgrinfo_pkginfo_get_usr_pkginfo(package, getuid(), &handle), ERROR);
-
- /* Criteria : appid */
- if (PMINFO_R_OK != pkgmgrinfo_appinfo_get_usr_list(handle, PMINFO_UI_APP, _end_cb, rt, getuid())) {
- goto ERROR;
+ if (package_manager_set_event_cb(pkg_mgr, _pkgmgr_event_cb, NULL)) {
+ _E("Failed to set package manager event cb");
+ return MENU_SCREEN_ERROR_FAIL;
}
-OUT:
- if (MENU_SCREEN_ERROR_OK != _remove_request_in_list(package))
- _E("cannot remove a request(%s:%s)", rt->package, rt->status);
- if (handle) pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-
return MENU_SCREEN_ERROR_OK;
-
-ERROR:
- if (MENU_SCREEN_ERROR_OK != _remove_request_in_list(package))
- _E("cannot remove a request(%s:%s)", rt->package, rt->status);
- if (handle) pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-
- return MENU_SCREEN_ERROR_FAIL;
}
-static menu_screen_error_e _change_pkg_name(const char *package, const char *val, void *scroller)
+static bool _pkgmgr_get_apps_info(app_info_h app_handle, app_list_item **item)
{
- _D("package(%s) with %s", package, val);
- return MENU_SCREEN_ERROR_OK;
-}
-
+ int ret;
+ package_info_h p_handle = NULL;
+ app_list_item *new_item = (app_list_item *)malloc(sizeof(app_list_item));
+ memset(new_item, 0, sizeof(app_list_item));
+ *item = new_item;
-static struct pkgmgr_handler pkgmgr_cbs[] = {
- { "start", _start },
- { "icon_path", _icon_path },
- { "download_percent", _download_percent },
- { "command", NULL },
- { "install_percent", _install_percent },
- { "error", _error },
- { "end", _end },
- { "change_pkg_name", _change_pkg_name },
-};
-
-
-
-static menu_screen_error_e _pkgmgr_cb(uid_t target_uid, int req_id, const char *pkg_type, const char *package, const char *key, const char *val, const void *pmsg, void *data)
-{
- register unsigned int i;
+ new_item->data = (app_info_t *)malloc(sizeof(app_info_t));
+ memset(new_item->data, 0, sizeof(app_info_t));
- _D("pkgmgr request [%s:%s] for %s", key, val, package);
+ app_info_t *app_info = (app_info_t *)new_item->data;
- if (BOOTING_STATE_DONE > menu_screen_get_booting_state()) {
- pkgmgr_reserve_list_push_request(package, key, val);
- return MENU_SCREEN_ERROR_OK;
+ ret = app_info_get_app_id(app_handle, &new_item->package);
+ _D("This package is :%s", new_item->package);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_app_id return [%d] %s", ret, new_item->package);
+ goto ERROR;
}
- for (i = 0; i < sizeof(pkgmgr_cbs) / sizeof(struct pkgmgr_handler); i++) {
- if (strcasecmp(pkgmgr_cbs[i].key, key)) continue;
- break_if(!pkgmgr_cbs[i].func);
-
- if (MENU_SCREEN_ERROR_OK != pkgmgr_cbs[i].func(package, val, NULL)) {
- _E("pkgmgr_cbs[%u].func has errors.", i);
- }
-
- return MENU_SCREEN_ERROR_OK;
+ ret = app_info_get_package(app_handle, &app_info->pkgid);
+ _D("This package's pkgid is :%s", app_info->pkgid);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_package return [%d] %s", ret, app_info->pkgid);
+ goto ERROR;
}
+ app_info->package = strdup(new_item->package);
- return MENU_SCREEN_ERROR_FAIL;
-}
-
+ ret = app_info_get_label(app_handle, &app_info->name);
+ _D("This package's name is :%s", app_info->name);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_label return [%d] %s", ret, app_info->name);
+ goto ERROR;
+ }
+ ret = app_info_get_icon(app_handle, &app_info->icon);
+ _D("This package's icon is :%s", app_info->icon);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_icon return [%d]", ret);
+ goto ERROR;
+ }
+ if (!app_info->icon || !ecore_file_can_read(app_info->icon)) {
+ if (app_info->icon) free(app_info->icon);
-HAPI menu_screen_error_e pkgmgr_reserve_list_push_request(const char *package, const char *key, const char *val)
-{
- retv_if(NULL == package, MENU_SCREEN_ERROR_INVALID_PARAMETER);
- retv_if(NULL == key, MENU_SCREEN_ERROR_INVALID_PARAMETER);
- retv_if(NULL == val, MENU_SCREEN_ERROR_INVALID_PARAMETER);
+ app_info->icon = malloc(MAX_FILE_PATH_LEN);
+ const char *path = util_get_res_file_path(IMAGE_DIR"default_app_icon.png");
+ snprintf(app_info->icon, MAX_FILE_PATH_LEN, "%s", path);
+ }
- char *tmp_package = NULL;
- char *tmp_key = NULL;
- char *tmp_val = NULL;
+ ret = app_info_is_enabled(app_handle, &app_info->enabled);
+ _D("This package is enabled: %d", app_info->enabled);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_icon return [%d]", ret);
+ goto ERROR;
+ }
+ if (!app_info->enabled) goto ERROR;
- pkgmgr_reserve_s *pr = calloc(1, sizeof(pkgmgr_reserve_s));
- retv_if(NULL == pr, MENU_SCREEN_ERROR_FAIL);
+ ret = app_info_is_nodisplay(app_handle, &app_info->nodisplay);
+ _D("This package is nodisplay: %d", app_info->nodisplay);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ _E("app_info_get_icon return [%d]", ret);
+ goto ERROR;
+ }
+ if (app_info->nodisplay) goto ERROR;
- tmp_package = strdup(package);
- goto_if(NULL == tmp_package, ERROR);
- pr->package = tmp_package;
+ ret = package_manager_get_package_info(app_info->pkgid, &p_handle);
+ if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+ _E("Failed to inialize package handle for item : %s", app_info->pkgid);
+ goto ERROR;
+ }
- tmp_key = strdup(key);
- goto_if(NULL == tmp_key, ERROR);
- pr->key = tmp_key;
+ ret = package_info_is_removable_package(p_handle, &app_info->removable);
+ _D("This package is removable: %d", app_info->removable);
+ if (PACKAGE_MANAGER_ERROR_NONE != ret) {
+ _E("package_info_is_removable_package return [%d]", ret);
+ goto ERROR;
+ }
- tmp_val = strdup(val);
- goto_if(NULL == tmp_val, ERROR);
- pr->val = tmp_val;
+ if (NULL == app_info) {
+ goto ERROR;
+ }
- pkg_mgr_info.reserve_list = eina_list_append(pkg_mgr_info.reserve_list, pr);
- goto_if(NULL == pkg_mgr_info.reserve_list, ERROR);
+ _D("[ALL Apps] package=%s", new_item->package);
- return MENU_SCREEN_ERROR_OK;
+ return true;
ERROR:
- if (tmp_val) free(tmp_val);
- if (tmp_key) free(tmp_key);
- if (tmp_package) free(tmp_package);
- free(pr);
-
- return MENU_SCREEN_ERROR_FAIL;
+ if (app_info && app_info->name)
+ free(app_info->name);
+ if (app_info && app_info->icon)
+ free(app_info->icon);
+ if (app_info && app_info->pkgid)
+ free(app_info->pkgid);
+ if (app_info) free(app_info);
+ if (new_item && new_item->package)
+ free(new_item->package);
+ if (new_item) free(new_item);
+ return false;
}
-HAPI menu_screen_error_e pkgmgr_reserve_list_pop_request(void)
+static bool _all_apps_cb(app_info_h app_handle, void *data)
{
- if (!pkg_mgr_info.reserve_list) return MENU_SCREEN_ERROR_NO_DATA;
-
- pkgmgr_reserve_s *pr = eina_list_nth(pkg_mgr_info.reserve_list, 0);
- if (!pr) return MENU_SCREEN_ERROR_NO_DATA;
- pkg_mgr_info.reserve_list = eina_list_remove(pkg_mgr_info.reserve_list, pr);
-
- goto_if(MENU_SCREEN_ERROR_OK != _pkgmgr_cb(getuid(), 0, NULL, pr->package, pr->key, pr->val, NULL, NULL), ERROR);
-
- if (pr->package) free(pr->package);
- if (pr->key) free(pr->key);
- if (pr->val) free(pr->val);
- free(pr);
-
- return MENU_SCREEN_ERROR_OK;
-
-ERROR:
- if (pr->package) free(pr->package);
- if (pr->key) free(pr->key);
- if (pr->val) free(pr->val);
- free(pr);
-
- return MENU_SCREEN_ERROR_FAIL;
+ app_list **list = data;
+ app_list_item *item = NULL;
+ if (_pkgmgr_get_apps_info(app_handle, &item)) {
+ if (list_append_item(*list, item) != MENU_SCREEN_ERROR_OK) {
+ _E("Failed to append item to list");
+ }
+ }
+ usleep(1);
+ return true;
}
-HAPI menu_screen_error_e pkgmgr_init(void)
+Eina_Bool pkgmgr_get_app_list(app_list **list)
{
- if (NULL != pkg_mgr_info.listen_pc) {
- return MENU_SCREEN_ERROR_OK;
- }
-
- pkg_mgr_info.listen_pc = pkgmgr_client_new(PC_LISTENING);
- retv_if(NULL == pkg_mgr_info.listen_pc, MENU_SCREEN_ERROR_FAIL);
- retv_if(pkgmgr_client_listen_status(pkg_mgr_info.listen_pc,
- _pkgmgr_cb, NULL) != PKGMGR_R_OK, MENU_SCREEN_ERROR_FAIL);
+ _D("Get apps info");
+ int ret;
+ app_info_filter_h handle = NULL;
- return MENU_SCREEN_ERROR_OK;
-}
+ ret = app_info_filter_create(&handle);
+ app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false);
+ app_info_filter_foreach_appinfo(handle, _all_apps_cb, list);
-
-HAPI void pkgmgr_fini(void)
-{
- ret_if(NULL == pkg_mgr_info.listen_pc);
- if (pkgmgr_client_free(pkg_mgr_info.listen_pc) != PKGMGR_R_OK) {
- _E("cannot free pkgmgr_client for listen.");
+ ret = app_info_filter_destroy(handle);
+ if (ret != APP_MANAGER_ERROR_NONE) {
+ _E("Failed to destory filter");
}
- pkg_mgr_info.listen_pc = NULL;
+
+ return true;
}
static void _uninstall_yes_cb(void *data, Evas_Object *obj, void *event_info)
{
+ _D("======== uninstall yes");
ret_if(NULL == data);
Evas_Object *popup = data;
*/
#include <Evas.h>
+#include <app_common.h>
#include "util.h"
+const char *util_get_file_path(const char *relative)
+{
+ static char buf[PATH_MAX];
+ char *prefix = NULL;
+
+ prefix = app_get_resource_path();
+
+ if (prefix != NULL) {
+ size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative);
+ snprintf(buf, sizeof(buf), "%s%s", prefix, relative);
+ free(prefix);
+
+ if (res > sizeof(buf)) {
+ _E("Path exceeded PATH_MAX");
+ return NULL;
+ }
+ }
+
+ return &buf[0];
+}
+
+
+
HAPI void _evas_object_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Coord x;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" install-location="internal-only" package="org.tizen.menu-screen" version="1.2.5">
+ <label>Simple Menu-screen</label>
+ <author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
+ <description>Simple Menu-screen Application</description>
+ <profile name="mobile"/>
+ <ui-application appid="org.tizen.menu-screen" exec="menu-screen" multiple="false" nodisplay="true" taskmanage="false" type="capp">
+ <label>Simple Menu-screen</label>
+ <icon>org.tizen.menu-screen.png</icon>
+ <category name="http://tizen.org/category/homeapp"/>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/shortcut</privilege>
+ <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ </privileges>
+</manifest>