Split lib-apps-common from lib-common. 27/60227/1
authorEugene Kurzberg <i.kurtsberg@samsung.com>
Wed, 24 Feb 2016 07:35:21 +0000 (09:35 +0200)
committerEugene Kurzberg <i.kurtsberg@samsung.com>
Wed, 24 Feb 2016 07:51:12 +0000 (09:51 +0200)
Change-Id: If1cc0239d8cecc6f8d694b2dfded41cb6e6d2634
Signed-off-by: Eugene Kurzberg <i.kurtsberg@samsung.com>
194 files changed:
CMakeLists.txt
lib-apps-common/.cproject [new file with mode: 0644]
lib-apps-common/.project [new file with mode: 0644]
lib-apps-common/.tproject [new file with mode: 0644]
lib-apps-common/CMakeLists.txt [new file with mode: 0644]
lib-apps-common/inc/App/AppControl.h [new file with mode: 0644]
lib-apps-common/inc/App/AppControlRequest.h [new file with mode: 0644]
lib-apps-common/inc/App/Application.h [new file with mode: 0644]
lib-apps-common/inc/App/Path.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Button.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Control.h [new file with mode: 0644]
lib-apps-common/inc/Ui/DatePopup.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Editfield.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Genlist.h [new file with mode: 0644]
lib-apps-common/inc/Ui/GenlistCheckItem.h [new file with mode: 0644]
lib-apps-common/inc/Ui/GenlistGroupItem.h [new file with mode: 0644]
lib-apps-common/inc/Ui/GenlistItem.h [new file with mode: 0644]
lib-apps-common/inc/Ui/GenlistIterator.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Hoversel.h [new file with mode: 0644]
lib-apps-common/inc/Ui/ListPopup.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Menu.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Naviframe.h [new file with mode: 0644]
lib-apps-common/inc/Ui/NaviframePage.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Navigator.h [new file with mode: 0644]
lib-apps-common/inc/Ui/NavigatorPage.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Popup.h [new file with mode: 0644]
lib-apps-common/inc/Ui/ProgressController.h [new file with mode: 0644]
lib-apps-common/inc/Ui/ProgressPopup.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Scale.h [new file with mode: 0644]
lib-apps-common/inc/Ui/TabPage.h [new file with mode: 0644]
lib-apps-common/inc/Ui/TabView.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Thumbnail.h [new file with mode: 0644]
lib-apps-common/inc/Ui/View.h [new file with mode: 0644]
lib-apps-common/inc/Ui/Window.h [new file with mode: 0644]
lib-apps-common/inc/Utils/Callback.h [new file with mode: 0644]
lib-apps-common/inc/Utils/CallbackImpl.h [new file with mode: 0644]
lib-apps-common/inc/Utils/Iterator.h [new file with mode: 0644]
lib-apps-common/inc/Utils/Logger.h [new file with mode: 0644]
lib-apps-common/inc/Utils/Range.h [new file with mode: 0644]
lib-apps-common/inc/Utils/Tracer.h [new file with mode: 0644]
lib-apps-common/inc/Utils/UniString.h [new file with mode: 0644]
lib-apps-common/res/apps-common/CMakeLists.txt [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/AppsCommonButtons.h [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/AppsCommonPath.h [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/AppsCommonProgressbarLayout.h [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/AppsCommonThumbnail.h [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/apps-common-buttons.edc [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/apps-common-colors.edc [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/apps-common-progressbar-layout.edc [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/apps-common-thumbnail.edc [new file with mode: 0644]
lib-apps-common/res/apps-common/edje/apps-common-utils.edc [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default.png [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default_02.png [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default_03.png [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg.png [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_02.png [new file with mode: 0644]
lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_03.png [new file with mode: 0644]
lib-apps-common/src/App/AppControl.cpp [new file with mode: 0644]
lib-apps-common/src/App/AppControlRequest.cpp [new file with mode: 0644]
lib-apps-common/src/App/Application.cpp [new file with mode: 0644]
lib-apps-common/src/App/Path.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Button.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Control.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/DatePopup.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Editfield.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Genlist.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/GenlistCheckItem.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/GenlistGroupItem.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/GenlistItem.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/GenlistIterator.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Hoversel.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/ListPopup.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Menu.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Naviframe.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/NaviframePage.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Navigator.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Popup.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/ProgressController.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/ProgressPopup.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Scale.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/TabPage.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/TabView.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Thumbnail.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/View.cpp [new file with mode: 0644]
lib-apps-common/src/Ui/Window.cpp [new file with mode: 0644]
lib-apps-common/src/Utils/Tracer.cpp [new file with mode: 0644]
lib-apps-common/src/Utils/UniString.cpp [new file with mode: 0644]
lib-common/.cproject
lib-common/.project
lib-common/CMakeLists.txt
lib-common/inc/App/AppControl.h [deleted file]
lib-common/inc/App/AppControlRequest.h [deleted file]
lib-common/inc/App/Application.h [deleted file]
lib-common/inc/App/Path.h [deleted file]
lib-common/inc/Ui/Button.h [deleted file]
lib-common/inc/Ui/Control.h [deleted file]
lib-common/inc/Ui/DatePopup.h [deleted file]
lib-common/inc/Ui/Editfield.h [deleted file]
lib-common/inc/Ui/Genlist.h [deleted file]
lib-common/inc/Ui/GenlistCheckItem.h [deleted file]
lib-common/inc/Ui/GenlistGroupItem.h [deleted file]
lib-common/inc/Ui/GenlistItem.h [deleted file]
lib-common/inc/Ui/GenlistIterator.h [deleted file]
lib-common/inc/Ui/Hoversel.h [deleted file]
lib-common/inc/Ui/ListPopup.h [deleted file]
lib-common/inc/Ui/Menu.h [deleted file]
lib-common/inc/Ui/Naviframe.h [deleted file]
lib-common/inc/Ui/NaviframePage.h [deleted file]
lib-common/inc/Ui/Navigator.h [deleted file]
lib-common/inc/Ui/NavigatorPage.h [deleted file]
lib-common/inc/Ui/Popup.h [deleted file]
lib-common/inc/Ui/ProgressController.h [deleted file]
lib-common/inc/Ui/ProgressPopup.h [deleted file]
lib-common/inc/Ui/Scale.h [deleted file]
lib-common/inc/Ui/TabPage.h [deleted file]
lib-common/inc/Ui/TabView.h [deleted file]
lib-common/inc/Ui/Thumbnail.h [deleted file]
lib-common/inc/Ui/View.h [deleted file]
lib-common/inc/Ui/Window.h [deleted file]
lib-common/inc/Utils/Callback.h [deleted file]
lib-common/inc/Utils/CallbackImpl.h [deleted file]
lib-common/inc/Utils/Iterator.h [deleted file]
lib-common/inc/Utils/Logger.h [deleted file]
lib-common/inc/Utils/Range.h [deleted file]
lib-common/inc/Utils/Tracer.h [deleted file]
lib-common/inc/Utils/UniString.h [deleted file]
lib-common/res/common/CMakeLists.txt
lib-common/res/common/edje/CommonButtons.h [deleted file]
lib-common/res/common/edje/CommonPath.h [deleted file]
lib-common/res/common/edje/CommonProgressbarLayout.h [deleted file]
lib-common/res/common/edje/CommonThumbnail.h [deleted file]
lib-common/res/common/edje/common-buttons.edc [deleted file]
lib-common/res/common/edje/common-colors.edc [deleted file]
lib-common/res/common/edje/common-progressbar-layout.edc [deleted file]
lib-common/res/common/edje/common-thumbnail.edc [deleted file]
lib-common/res/common/edje/common-utils.edc [deleted file]
lib-common/res/common/edje/dummy.edc [new file with mode: 0644]
lib-common/res/common/images/contacts_caller_id_default.png [deleted file]
lib-common/res/common/images/contacts_caller_id_default_02.png [deleted file]
lib-common/res/common/images/contacts_caller_id_default_03.png [deleted file]
lib-common/res/common/images/contacts_caller_id_default_bg.png [deleted file]
lib-common/res/common/images/contacts_caller_id_default_bg_02.png [deleted file]
lib-common/res/common/images/contacts_caller_id_default_bg_03.png [deleted file]
lib-common/src/App/AppControl.cpp [deleted file]
lib-common/src/App/AppControlRequest.cpp [deleted file]
lib-common/src/App/Application.cpp [deleted file]
lib-common/src/App/Path.cpp [deleted file]
lib-common/src/Contacts/Dummy.cpp [new file with mode: 0644]
lib-common/src/Ui/Button.cpp [deleted file]
lib-common/src/Ui/Control.cpp [deleted file]
lib-common/src/Ui/DatePopup.cpp [deleted file]
lib-common/src/Ui/Editfield.cpp [deleted file]
lib-common/src/Ui/Genlist.cpp [deleted file]
lib-common/src/Ui/GenlistCheckItem.cpp [deleted file]
lib-common/src/Ui/GenlistGroupItem.cpp [deleted file]
lib-common/src/Ui/GenlistItem.cpp [deleted file]
lib-common/src/Ui/GenlistIterator.cpp [deleted file]
lib-common/src/Ui/Hoversel.cpp [deleted file]
lib-common/src/Ui/ListPopup.cpp [deleted file]
lib-common/src/Ui/Menu.cpp [deleted file]
lib-common/src/Ui/Naviframe.cpp [deleted file]
lib-common/src/Ui/NaviframePage.cpp [deleted file]
lib-common/src/Ui/Navigator.cpp [deleted file]
lib-common/src/Ui/Popup.cpp [deleted file]
lib-common/src/Ui/ProgressController.cpp [deleted file]
lib-common/src/Ui/ProgressPopup.cpp [deleted file]
lib-common/src/Ui/Scale.cpp [deleted file]
lib-common/src/Ui/TabPage.cpp [deleted file]
lib-common/src/Ui/TabView.cpp [deleted file]
lib-common/src/Ui/Thumbnail.cpp [deleted file]
lib-common/src/Ui/View.cpp [deleted file]
lib-common/src/Ui/Window.cpp [deleted file]
lib-common/src/Utils/Tracer.cpp [deleted file]
lib-common/src/Utils/UniString.cpp [deleted file]
lib-contact/.cproject
lib-contact/.project
lib-contact/CMakeLists.txt
lib-contact/res/details/edje/details-item-layout.edc
lib-contact/res/input/edje/input-item-layout.edc
lib-contact/src/Contacts/Input/ContactDateFieldControl.cpp
lib-logs/.cproject
lib-logs/.project
lib-logs/CMakeLists.txt
lib-logs/res/logs/edje/log-item.edc
lib-phone/.cproject
lib-phone/.project
lib-phone/CMakeLists.txt
lib-phone/res/dialer/edje/dialer-layout.edc
lib-phone/src/Phone/Dialer/DialerView.cpp
main-app/.cproject
main-app/.project
main-app/.tproject
main-app/CMakeLists.txt
packaging/org.tizen.contacts.spec

index 3c628df115e4aeb38fae75b9c10854711743c930..c8a27556495d7599d0d3f7308ed0135980d449ec 100644 (file)
@@ -34,6 +34,7 @@ add_definitions("-DTEXT_DOMAIN=\"${PACKAGE}\"")
 add_definitions("-DRES_DIR=\"${RES_DIR}/\"")
 add_definitions("-DLOCALE_DIR=\"${LOCALE_DIR}\"")
 
+add_subdirectory(lib-apps-common)
 add_subdirectory(lib-common)
 add_subdirectory(lib-contact)
 add_subdirectory(lib-phone)
diff --git a/lib-apps-common/.cproject b/lib-apps-common/.cproject
new file mode 100644 (file)
index 0000000..86a022d
--- /dev/null
@@ -0,0 +1,644 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+       <storageModule moduleId="org.eclipse.cdt.core.settings">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880" 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 artifactExtension="so" artifactName="apps-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.2051485246" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.589094415" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/lib-apps-common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1048697282" 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.1819863057" 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.1237370598" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1692620041" 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.124537019" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1293188600" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" value="true" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.883965797" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-2.4-device.core_gcc49.armel.core.sharedLib"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1221919882" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1868946826" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-mthumb"/>
+                                                                       <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.compiler.option.include.paths.769492000" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/res/apps-common/edje}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1624823287" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="Native_API"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.compiler.option.dialect.std.1155082077" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+                                                               <option id="gnu.cpp.compiler.option.dialect.flags.1950104097" name="Other dialect flags" superClass="gnu.cpp.compiler.option.dialect.flags" value="-std=c++11" valueType="string"/>
+                                                               <option id="gnu.cpp.compiler.option.other.other.1399230646" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1940484793" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                       </tool>
+                                                       <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.949181195" 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.823571777" 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.1300888938" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1090861130" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.1029738450" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-2.4-device.core_gcc49.armel.core.sharedLib"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.553136690" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.273368038" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-mthumb"/>
+                                                                       <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+                                                               </option>
+                                                               <option id="gnu.c.compiler.option.include.paths.1871191932" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1848864191" 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.925122232" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.2079975459" 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.279768150" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1951653136" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.noundefined.core.227464450" 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.694339525" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="-lpthread "/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.link.option.paths.1870774001" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1668238422" 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.633178501" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.170319493" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.1693957368" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.614590376" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1510343806" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.658188695" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1643212896" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.800438767" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.910674138" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+                                                               <option id="sbi.gnu.edc.compiler.option.misc.id.89058249" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/res}&quot;"/>
+                                                               </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="src"/>
+                                       </sourceEntries>
+                               </configuration>
+                       </storageModule>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+               </cconfiguration>
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043" 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 artifactExtension="so" artifactName="org.tizen.apps-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.479052506" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1018798881" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder buildPath="${workspace_loc:/lib-apps-common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.149016381" 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.2093589563" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1354158935" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.170350304" 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.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.596043701" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1024499531" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.1442464409" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-2.4-emulator.core_llvm36.i386.core.sharedLib"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.76672609" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2001342911" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.compiler.option.include.paths.944805796" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.348478814" 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.925397267" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                       </tool>
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1143748085" 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.1085259207" 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.913386253" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.985782675" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.830715601" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-2.4-emulator.core_llvm36.i386.core.sharedLib"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1107604994" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.736334736" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+                                                               </option>
+                                                               <option id="gnu.c.compiler.option.include.paths.1225514754" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1948585633" 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.1470546473" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.529786459" 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.1060663793" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.173109100" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.noundefined.core.1619438138" 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.1242270603" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="-lpthread "/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.link.option.paths.86201883" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.289818099" 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.744980287" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.285718668" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.323033626" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.713374260" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1933211459" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.790933542" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.190560800" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1412563891" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.211510250" 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="src"/>
+                                       </sourceEntries>
+                               </configuration>
+                       </storageModule>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+               </cconfiguration>
+       </storageModule>
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+               <project id="lib-apps-common.org.tizen.nativecore.target.sbi.gcc45.so.1096739394" name="Tizen Native Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+       </storageModule>
+       <storageModule moduleId="scannerConfiguration">
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880">
+                       <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="/lib-apps-common"/>
+               </configuration>
+               <configuration configurationName="Release">
+                       <resource resourceType="PROJECT" workspacePath="/lib-apps-common"/>
+               </configuration>
+       </storageModule>
+       <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+</cproject>
diff --git a/lib-apps-common/.project b/lib-apps-common/.project
new file mode 100644 (file)
index 0000000..64ec448
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>lib-apps-common</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.tizen.nativecore.apichecker.apicheckerbuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <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>
+               <nature>org.tizen.nativecore.apichecker.apicheckernature</nature>
+       </natures>
+       <filteredResources>
+               <filter>
+                       <id>1456218244303</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>1456218244316</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>
+               <filter>
+                       <id>1456218244318</id>
+                       <name></name>
+                       <type>22</type>
+                       <matcher>
+                               <id>org.eclipse.ui.ide.multiFilter</id>
+                               <arguments>1.0-name-matches-false-false-CMakeLists.txt</arguments>
+                       </matcher>
+               </filter>
+       </filteredResources>
+</projectDescription>
diff --git a/lib-apps-common/.tproject b/lib-apps-common/.tproject
new file mode 100644 (file)
index 0000000..824eaa1
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+    <platforms>
+        <platform>
+            <name>mobile-2.4</name>
+        </platform>
+    </platforms>
+    <package>
+        <blacklist/>
+        <resFallback autoGen="true"/>
+    </package>
+</tproject>
diff --git a/lib-apps-common/CMakeLists.txt b/lib-apps-common/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b94a7be
--- /dev/null
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.6)
+project(apps-common CXX)
+
+file(GLOB_RECURSE SOURCES src/*.cpp)
+include_directories(
+       ${CMAKE_CURRENT_SOURCE_DIR}/inc
+       ${CMAKE_CURRENT_SOURCE_DIR}/res/apps-common/edje
+)
+
+add_library(${PROJECT_NAME} SHARED ${SOURCES})
+target_link_libraries(${PROJECT_NAME} ${LIBRARIES})
+
+install(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
+
+add_subdirectory(res/apps-common)
diff --git a/lib-apps-common/inc/App/AppControl.h b/lib-apps-common/inc/App/AppControl.h
new file mode 100644 (file)
index 0000000..9f2f172
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APP_APP_CONTROL_H
+#define APP_APP_CONTROL_H
+
+#include <app_control.h>
+
+namespace App
+{
+       class EXPORT_API AppControl
+       {
+       public:
+               /**
+                * @brief Create empty app control wrapper. The wrapper doesn't contain any
+                *        value it can only be assigned to.
+                */
+               AppControl();
+
+               /**
+                * @brief Create app control request
+                *
+                * @see app_control_set_operation()
+                * @see app_control_set_mime()
+                * @see app_control_set_uri()
+                */
+               AppControl(const char *operation,
+                               const char *mime = nullptr,
+                               const char *uri = nullptr);
+
+               AppControl(const AppControl&) = delete;
+               AppControl(AppControl&&);
+               ~AppControl();
+
+               /**
+                * @return Stored app control handle
+                */
+               app_control_h getHandle() const;
+
+               /**
+                * @see app_control_add_extra_data()
+                */
+               void addExtra(const char *key, const char *value);
+
+               /**
+                * @see app_control_add_extra_data_array()
+                */
+               void addExtra(const char *key, const char **array, int length);
+
+               /**
+                * @brief Launch app control request
+                * @return App Control launch result
+                *
+                * @see app_control_set_launch_mode()
+                * @see app_control_send_launch_request()
+                */
+               int launch(app_control_reply_cb replyCallback = nullptr, void *userData = nullptr,
+                               bool groupMode = true);
+
+               /**
+                * @see app_control_send_terminate_request()
+                */
+               void terminate();
+
+               /**
+                * @brief Prevent app control termination on destruction.
+                */
+               void detach();
+
+               AppControl &operator=(const AppControl&) = delete;
+               AppControl &operator=(AppControl&&);
+
+       private:
+               void reset();
+
+               app_control_h m_AppControl;
+               bool m_AutoTerminate;
+       };
+}
+
+#endif /* APP_APP_CONTROL_H */
diff --git a/lib-apps-common/inc/App/AppControlRequest.h b/lib-apps-common/inc/App/AppControlRequest.h
new file mode 100644 (file)
index 0000000..208e177
--- /dev/null
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APP_APP_CONTROL_REQUEST_H
+#define APP_APP_CONTROL_REQUEST_H
+
+#include "App/AppControl.h"
+#include <string>
+#include <vector>
+
+#define APP_CONTROL_OPERATION_SETTING_CALL "http://tizen.org/appcontrol/operation/setting/call"
+
+#define APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
+
+#define APP_CONTROL_SELECT_SINGLE "single"
+#define APP_CONTROL_SELECT_MULTIPLE "multiple"
+
+#define APP_CONTROL_RESULT_ID "id"
+#define APP_CONTROL_RESULT_PHONE "phone"
+#define APP_CONTROL_RESULT_EMAIL "email"
+#define APP_CONTROL_RESULT_VCARD "vcf"
+
+namespace App
+{
+       /**
+        * @brief Request contact creation operation
+        * @param[in]   number  Phone number to save to the new contact
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestContactCreate(const char *number);
+
+       /**
+        * @brief Request contact view operation
+        * @param[in]   personId    ID of person to view
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestContactDetails(int personId);
+
+       /**
+        * @brief Request contact edit operation
+        * @param[in]   personId    ID of person to edit or 0 to launch pick first
+        * @param[in]   number      Phone number to add to the edited contact
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestContactEdit(int personId, const char *number);
+
+       /**
+        * @brief Request contact pick operation
+        * @param[in]   selectionMode   One of APP_CONTROL_SELECT_* values
+        * @param[in]   resultType      One of APP_CONTROL_RESULT_* values
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestContactPick(const char *selectionMode, const char *resultType);
+
+       /**
+        * @brief Request telephony call
+        * @param[in]   number  Number to call
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestTelephonyCall(const char *number);
+
+       /**
+        * @brief Request launch call settings
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestCallSettings();
+
+       /**
+        * @brief Request message composer
+        * @param[in]   scheme      URI scheme (e.g. sms:, mmsto: or mailto:)
+        * @param[in]   to          Message recipient
+        * @param[in]   subject     Message subject
+        * @param[in]   text        Message text
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestMessageComposer(const char *scheme, const char *to,
+                       const char *subject = nullptr, const char *text = nullptr);
+
+       /**
+        * @brief Request camera image capture
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestCameraImage();
+
+       /**
+        * @brief Request pick image from gallery
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestGalleryImage();
+
+       /**
+        * @brief Request share contact via other application
+        * @param[in]   personId    Contact's person ID
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestShareContact(int personId);
+
+       /**
+        * @brief Request share "My Profile" via other application
+        * @param[in]   recordId    "My Profile" record ID
+        * @return AppControl wrapper
+        */
+       AppControl EXPORT_API requestShareMyProfile(int recordId);
+
+       /**
+        * @brief Get single first string from App Control array extra data.
+        * @param[in]   appControl  App Control handle
+        * @param[in]   key         Extra data array key
+        * @return First string from array on success, otherwise empty string.
+        */
+       std::string EXPORT_API getSingleExtraData(app_control_h appControl, const char *key);
+
+       /**
+        * @brief Get vector of integer values from App Control array extra data.
+        * @param[in]   appControl  App Control handle
+        * @param[in]   key         Extra data array key
+        * @return Vector of integer values on success, otherwise empty vector.
+        */
+       std::vector<int> EXPORT_API getIntExtraDataArray(app_control_h appControl, const char *key);
+}
+
+#endif /* APP_APP_CONTROL_REQUEST_H */
diff --git a/lib-apps-common/inc/App/Application.h b/lib-apps-common/inc/App/Application.h
new file mode 100644 (file)
index 0000000..1abe2a2
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APP_APPLICATION_H
+#define APP_APPLICATION_H
+
+#include <app.h>
+
+namespace App
+{
+       /**
+        * @brief Application lifecycle controller.
+        */
+       class EXPORT_API Application
+       {
+       public:
+               /**
+                * @brief Run application main loop.
+                * @param[in]   argc    argc parameter received in main()
+                * @param[in]   argv    argv parameter received in main()
+                */
+               int run(int argc, char **argv);
+
+       protected:
+               virtual ~Application() { }
+
+               /**
+                * @brief Called when application is created
+                * @return true on success, otherwise false
+                */
+               virtual bool onCreate() { return true; }
+
+               /**
+                * @brief Called when application is terminated
+                */
+               virtual void onTerminate() { }
+
+               /**
+                * @brief Called when application is paused
+                */
+               virtual void onPause() { }
+
+               /**
+                * @brief Called when application is resumed
+                */
+               virtual void onResume() { }
+
+               /**
+                * @brief Called when application receives App Control request
+                * @param   request     App Control request
+                */
+               virtual void onAppControl(app_control_h request) { }
+       };
+}
+
+#endif /* APP_APPLICATION_H */
diff --git a/lib-apps-common/inc/App/Path.h b/lib-apps-common/inc/App/Path.h
new file mode 100644 (file)
index 0000000..768c673
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APP_PATH_H
+#define APP_PATH_H
+
+#include <string>
+#include <tizen.h>
+
+namespace App
+{
+       /**
+        * @return Resource directory path
+        */
+       EXPORT_API const std::string &getResourceDir();
+
+       /**
+        * @return Localization files directory path
+        */
+       EXPORT_API const std::string &getLocaleDir();
+
+       /**
+        * @brief Get resource file path.
+        * @param[in]   relativePath    File path relative to resource directory
+        * @return Full file path
+        */
+       EXPORT_API std::string getResourcePath(const std::string &relativePath);
+}
+
+#endif /* APP_PATH_H */
diff --git a/lib-apps-common/inc/Ui/Button.h b/lib-apps-common/inc/Ui/Button.h
new file mode 100644 (file)
index 0000000..3fd5787
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_BUTTON_H
+#define UI_BUTTON_H
+
+#include "Ui/Control.h"
+#include <functional>
+
+namespace Ui
+{
+       /**
+        * @brief Provides convenient press and longpress events handling.
+        */
+       class EXPORT_API Button : public Control
+       {
+       public:
+               Button();
+               virtual ~Button() override;
+
+               /**
+                * @brief Set press-event callback.
+                */
+               void setPressedCallback(std::function<void(Button &)> callback);
+
+               /**
+                * @brief Set longpress-event callback.
+                * @details Callback should return true if the event was handled.
+                *          If callback returns false onPressed event will be delivered
+                *          as well when the button is released.
+                */
+               void setLongpressedCallback(std::function<bool(Button &)> callback);
+
+       private:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+               virtual void onCreated() override;
+
+               void onMouseDown(Evas *evas, Evas_Object *obj, void *eventInfo);
+               void onMouseUp(Evas *evas, Evas_Object *obj, void *eventInfo);
+               void onMouseOut(Evas *evas, Evas_Object *obj, void *eventInfo);
+
+               void resetTimer();
+               Eina_Bool onTimeout();
+
+               Ecore_Timer *m_Timer;
+               bool m_IsLongpressed;
+
+               std::function<void(Button &)> m_OnPressed;
+               std::function<bool(Button &)> m_OnLongpressed;
+       };
+}
+
+#endif /* UI_BUTTON_H */
diff --git a/lib-apps-common/inc/Ui/Control.h b/lib-apps-common/inc/Ui/Control.h
new file mode 100644 (file)
index 0000000..4f8cd84
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_CONTROL_H
+#define UI_CONTROL_H
+
+#include <Elementary.h>
+#include <tizen.h>
+
+namespace Ui
+{
+       class Window;
+
+       /**
+        * @brief Evas_Object wrapper.
+        * @details Ties the lifetime of this object to the underlying Evas_Object.
+        * @remark Should always be allocated with operator "new".
+        */
+       class EXPORT_API Control
+       {
+       public:
+               Control();
+               Control(const Control &that) = delete;
+               Control(Control &&that) = delete;
+               virtual ~Control();
+
+               Control & operator=(const Control &that) = delete;
+               Control & operator=(Control &&that) = delete;
+
+               /**
+                * @brief Create underlying Evas_Object by calling onCreate()
+                * @param[in]   parent  Parent Evas_Object
+                * @return Created Evas_Object on success, otherwise nullptr
+                */
+               Evas_Object *create(Evas_Object *parent);
+
+               /**
+                * @return Underlying Evas_Object.
+                */
+               Evas_Object *getEvasObject() const;
+
+               /**
+                * @return Main application window.
+                */
+               Window *getWindow() const;
+
+               /**
+                * @brief Get Control object from Evas_Object
+                * @param[in]   object  Evas_Object that belongs to some Control
+                * @return Control tied to Evas_Object
+                */
+               static Control *getControl(Evas_Object *object);
+
+               /**
+                * @brief Get main application window from any child object.
+                */
+               static Window *getWindow(Evas_Object *object);
+
+       protected:
+               /**
+                * @brief Called after create() is called
+                * @param[in]   parent  Parent Evas_Object
+                * @return Created Evas_Object on success, otherwise nullptr
+                */
+               virtual Evas_Object *onCreate(Evas_Object *parent) = 0;
+
+               /**
+                * @brief Called after onCreate() has returned
+                */
+               virtual void onCreated() { }
+
+       private:
+               void setEvasObject(Evas_Object *object);
+               Evas_Object *resetEvasObject();
+               void destroyEvasObject();
+
+               void onDestroy(Evas *e, Evas_Object *obj, void *event_info);
+
+               Evas_Object *m_Object;
+       };
+}
+
+#endif /* UI_CONTROL_H */
diff --git a/lib-apps-common/inc/Ui/DatePopup.h b/lib-apps-common/inc/Ui/DatePopup.h
new file mode 100644 (file)
index 0000000..e955556
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_DATE_POPUP_H
+#define UI_DATE_POPUP_H
+
+#include "Ui/Popup.h"
+
+namespace Ui
+{
+       /**
+        * @brief Popup with date picker.
+        */
+       class EXPORT_API DatePopup : public Popup
+       {
+       public:
+               /**
+                * @brief Date input result callback.
+                * @param[in]   Inputed date
+                */
+               typedef std::function<void(const tm&)> ResultCallback;
+
+               /**
+                * @brief Create date popup.
+                * @param[in]   date    Initial date value
+                */
+               DatePopup(tm date);
+
+               /**
+                * @brief Set date input result callback.
+                * @param[in]   callback    Callback to be called when user confirmed inputed date
+                */
+               void setResultCallback(ResultCallback callback);
+
+       private:
+               virtual void onCreated() override;
+               void onSetPressed();
+
+               tm m_Date;
+               ResultCallback m_OnResult;
+               Evas_Object *m_DatePicker;
+       };
+}
+
+#endif /* UI_DATE_POPUP_H */
diff --git a/lib-apps-common/inc/Ui/Editfield.h b/lib-apps-common/inc/Ui/Editfield.h
new file mode 100644 (file)
index 0000000..289aaa9
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_EDITFIELD_H
+#define UI_EDITFIELD_H
+
+#include "Ui/Control.h"
+
+namespace Ui
+{
+       /**
+        * @brief Editfield layout with entry and "clear" button
+        */
+       class EXPORT_API Editfield : public Control
+       {
+       public:
+               /**
+                * @brief Allows method overload instead of shadowing
+                */
+               using Control::create;
+
+               /**
+                * @brief Create editfield with guide text.
+                * @param[in]   parent      Editfield parent
+                * @param[in]   guideText   Text to be displayed when entry is empty
+                * @return Created editfield.
+                */
+               static Editfield *create(Evas_Object *parent, const char *guideText);
+
+               /**
+                * @brief Set entry guide text.
+                * @param[in]   guideText   Text to be displayed when entry is empty
+                */
+               void setGuideText(const char *guideText);
+
+               /**
+                * @return Contained entry.
+                */
+               Evas_Object *getEntry();
+
+               /**
+                * @return Clear button.
+                */
+               Evas_Object *getClearButton();
+
+       private:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+               static void onChanged(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
+               static void onFocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
+               static void onUnfocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
+               static void onClearPressed(Evas_Object *entry, Evas_Object *button, void *eventInfo);
+       };
+}
+
+#endif /* UI_EDITFIELD_H */
diff --git a/lib-apps-common/inc/Ui/Genlist.h b/lib-apps-common/inc/Ui/Genlist.h
new file mode 100644 (file)
index 0000000..2b6d375
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_GENLIST_H
+#define UI_GENLIST_H
+
+#include "Ui/Control.h"
+#include "Ui/GenlistIterator.h"
+
+namespace Ui
+{
+       class GenlistGroupItem;
+       class EXPORT_API Genlist : public Control
+       {
+       public:
+               enum Position
+               {
+                       Before,
+                       After
+               };
+
+               /**
+                * @return Genlist first Item.
+                */
+               GenlistItem *getFirstItem() const;
+
+               /**
+                * @return Genlist last Item.
+                */
+               GenlistItem *getLastItem() const;
+
+               /**
+                * @return Genlist begin iterator.
+                */
+               GenlistIterator begin() const;
+
+               /**
+                * @return Genlist end iterator.
+                */
+               GenlistIterator end() const;
+
+               /**
+                * @brief Insert genlist Item at specified position.
+                * @param[in]   item        Item to insert
+                * @param[in]   parent      Parent group item
+                * @param[in]   sibling     Sibling item
+                * @param[in]   position    Insert before/after @a sibling
+                * @remarks Inserting item BEFORE nullptr (@a sibling)
+                *          actually means that there is no items after it (i.e. item is appended).
+                *          Same goes for inserting AFTER nullptr (i.e. item is prepended).
+                *          This might seem like a counter-intuitive behavior but it supports
+                *          commonly used pattern.
+                */
+               void insert(GenlistItem *item,
+                               GenlistGroupItem *parent = nullptr,
+                               GenlistItem *sibling = nullptr,
+                               Position position = Before);
+
+               /**
+                * @brief Update specific parts of realized items
+                * @param[in]   parts   The name of item parts
+                * @param[in]   type    The type of item parts
+                * @see elm_genlist_item_fields_update()
+                */
+               void update(const char *parts, Elm_Genlist_Item_Field_Type type);
+
+       private:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+               static void onItemSelected(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
+               static void onItemExpanded(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
+               static void onItemContracted(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
+               static void onItemRealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
+               static void onItemUnrealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
+       };
+}
+
+#endif /* UI_GENLIST_H */
diff --git a/lib-apps-common/inc/Ui/GenlistCheckItem.h b/lib-apps-common/inc/Ui/GenlistCheckItem.h
new file mode 100644 (file)
index 0000000..467bda4
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_GENLIST_CHECK_ITEM
+#define UI_GENLIST_CHECK_ITEM
+
+#include "Ui/GenlistItem.h"
+
+namespace Ui
+{
+       /**
+        * @brief Genlist check item
+        */
+       class EXPORT_API GenlistCheckItem : public Ui::GenlistItem
+       {
+       public:
+               /**
+                * @brief Item check callback.
+                * @param[in]   Whether item is checked
+                */
+               typedef std::function<void(bool)> CheckCallback;
+
+               GenlistCheckItem();
+
+               /**
+                * @return Whether the item is checked.
+                */
+               bool isChecked() const;
+
+               /**
+                * @brief Set item check state.
+                * @param[in]   isChecked   Whether item is checked
+                */
+               void setChecked(bool isChecked);
+
+               /**
+                * @brief Set item check callback.
+                * @param[in]   callback    Callback to be called when item is checked/unchecked
+                */
+               void setCheckCallback(CheckCallback callback);
+
+       protected:
+               /**
+                * @see GenlistItem::getContent()
+                * @remark Use it in derived class to create check component
+                */
+               virtual Evas_Object *getContent(Evas_Object *parent, const char *part) override;
+
+               /**
+                * @see GenlistItem::onSelected()
+                */
+               virtual void onSelected() override;
+
+               /**
+                * @brief Called when item is checked or unchecked.
+                * @param[in]   isChecked   Whether item is checked
+                */
+               virtual void onChecked(bool isChecked) { }
+
+       private:
+               void onChecked();
+               void onCheckChanged(Evas_Object *check, void *eventInfo);
+
+               std::string m_CheckPart;
+               Eina_Bool m_IsChecked;
+               CheckCallback m_OnChecked;
+       };
+}
+
+#endif /* UI_GENLIST_CHECK_ITEM */
diff --git a/lib-apps-common/inc/Ui/GenlistGroupItem.h b/lib-apps-common/inc/Ui/GenlistGroupItem.h
new file mode 100644 (file)
index 0000000..1320795
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_GENLIST_GROUP_ITEM_H
+#define UI_GENLIST_GROUP_ITEM_H
+
+#include "Ui/Genlist.h"
+#include "Ui/GenlistItem.h"
+#include "Ui/GenlistIterator.h"
+#include <vector>
+
+namespace Ui
+{
+       class EXPORT_API GenlistGroupItem : virtual public GenlistItem
+       {
+       public:
+               GenlistGroupItem();
+               virtual ~GenlistGroupItem() override;
+
+               /**
+                * @return Group begin iterator.
+                */
+               GenlistIterator begin();
+
+               /**
+                * @return Group end iterator.
+                */
+               GenlistIterator end();
+
+               /**
+                * @return Whether the group has no items (i.e. GroupItem has no subitems).
+                */
+               bool empty() const;
+
+               /**
+                * @return Whether subitems are shown.
+                */
+               bool isExpanded() const;
+
+               /**
+                * @return Group item of the next group or nullptr if none.
+                */
+               GenlistGroupItem *getNextGroupItem() const;
+
+               /**
+                * @return Group item of the previous group or nullptr if none.
+                */
+               GenlistGroupItem *getPrevGroupItem() const;
+
+               /**
+                * @brief Insert sub item to the group.
+                * @details If group item is not yet inserted itself, sub item is cached
+                *          and inserted into genlist when it's parent is inserted.
+                * @see Genlist::insert()
+                */
+               void insertSubItem(GenlistItem *item,
+                               GenlistItem *sibling = nullptr,
+                               Genlist::Position position = Genlist::Before);
+
+       protected:
+               /**
+                * @see GenlistItem::isGroupItem()
+                */
+               virtual bool isGroupItem() const override { return true; }
+
+               /**
+                * @see GenlistItem::getType()
+                */
+               virtual Elm_Genlist_Item_Type getType() const override { return ELM_GENLIST_ITEM_GROUP; }
+
+               /**
+                * @see GenlistItem::getItemClass()
+                */
+               virtual Elm_Genlist_Item_Class *getItemClass() const override;
+
+               /**
+                * @see GenlistItem::onInserted()
+                */
+               virtual void onInserted() override;
+
+               /**
+                * @see GenlistItem::onPop()
+                */
+               virtual void onPop() override;
+
+               /**
+                * @brief Called when tree item is expanded or contracted.
+                */
+               virtual void onExpanded(bool isExpanded);
+
+       private:
+               friend class Genlist;
+               friend class GenlistItem;
+
+               void insertSubItems();
+               void popSubItems();
+
+               void onSubItemInserted(GenlistItem *item);
+               void onSubItemDestroy(GenlistItem *item);
+
+               GenlistItem *m_FirstItem;
+               GenlistItem *m_LastItem;
+               std::vector<GenlistItem *> m_ItemsCache;
+       };
+}
+
+#endif /* UI_GENLIST_GROUP_ITEM_H */
diff --git a/lib-apps-common/inc/Ui/GenlistItem.h b/lib-apps-common/inc/Ui/GenlistItem.h
new file mode 100644 (file)
index 0000000..4e96208
--- /dev/null
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_GENLIST_ITEM_H
+#define UI_GENLIST_ITEM_H
+
+#include <Elementary.h>
+#include <functional>
+#include <tizen.h>
+
+namespace Ui
+{
+       class Genlist;
+       class GenlistGroupItem;
+
+       class EXPORT_API GenlistItem
+       {
+       public:
+               /**
+                * @brief Called when item is selected.
+                */
+               typedef std::function<void()> SelectCallback;
+
+               GenlistItem();
+               virtual ~GenlistItem();
+
+               /**
+                * @return Whether the item is realized.
+                */
+               bool isRealized() const;
+
+               /**
+                * @return Whether the item is a group item.
+                */
+               virtual bool isGroupItem() const { return false; }
+
+               /**
+                * @return Whether the item can receive focus.
+                */
+               virtual bool isFocusable() const { return false; }
+
+               /**
+                * @return Item type.
+                */
+               virtual Elm_Genlist_Item_Type getType() const { return ELM_GENLIST_ITEM_NONE; }
+
+               /**
+                * @return Genlist object item.
+                */
+               Elm_Object_Item *getObjectItem() const;
+
+               /**
+                * @return Parent genlist.
+                */
+               Genlist *getParent() const;
+
+               /**
+                * @return Parent genlist group item or nullptr if none.
+                */
+               GenlistGroupItem *getParentItem() const;
+
+               /**
+                * @return Next item in genlist or nullptr if none.
+                */
+               GenlistItem *getNextItem() const;
+
+               /**
+                * @return Previous item in genlist or nullptr if none.
+                */
+               GenlistItem *getPrevItem() const;
+
+               /**
+                * @brief Set item selection callback.
+                * @param[in]   callback    Callback to be called when item is selected
+                */
+               void setSelectCallback(SelectCallback callback);
+
+               /**
+                * @brief Scroll genlist to item.
+                * @param[in]   position    Item position on screen
+                * @param[in]   isAnimated  Whether scrolling is animated or immediate
+                */
+               void scrollTo(Elm_Genlist_Item_Scrollto_Type position = ELM_GENLIST_ITEM_SCROLLTO_IN,
+                               bool isAnimated = false);
+
+               /**
+                * @brief Scroll to the item and give it focus.
+                * @see GenlistItem::scrollTo()
+                */
+               void focus(Elm_Genlist_Item_Scrollto_Type position = ELM_GENLIST_ITEM_SCROLLTO_IN,
+                               bool isAnimated = false);
+
+               /**
+                * @brief Remove item from genlist without destroying it.
+                */
+               void pop();
+
+       protected:
+               /**
+                * @brief Create statically allocated item class
+                */
+               static Elm_Genlist_Item_Class createItemClass(const char *style,
+                               const char *decorateStyle = nullptr,
+                               const char *editStyle = nullptr);
+
+               /**
+                * @return Genlist item class of this item.
+                */
+               virtual Elm_Genlist_Item_Class *getItemClass() const;
+
+               /**
+                * @brief Called whenever any item's text part needs to be updated.
+                * @param[in]   parent  Parent genlist
+                * @param[in]   part    Name of the part
+                * @return Allocated string with text for a specified part,
+                *         it will be deallocated with free() by genlist.
+                */
+               virtual char *getText(Evas_Object *parent, const char *part) { return nullptr; }
+
+               /**
+                * @brief Called whenever any item's content part needs to be updated.
+                * @param[in]   parent  Parent genlist
+                * @param[in]   part    Name of the part
+                * @return Content for a specified part.
+                */
+               virtual Evas_Object *getContent(Evas_Object *parent, const char *part) { return nullptr; }
+
+               /**
+                * @brief Called whenever any item's state part needs to be updated
+                * @details Genlist will emit signal "elm,state,x,active" or
+                *          "elm,state,x,passive" with part's name instead of 'x'.
+                * @param[in]   parent  Parent genlist
+                * @param[in]   part    Name of the part
+                * @return EINA_TRUE for active, EINA_FALSE for passive
+                */
+               virtual Eina_Bool getState(Evas_Object *parent, const char *part) { return EINA_FALSE; }
+
+               /**
+                * @brief Called after item was inserted into genlist.
+                */
+               virtual void onInserted() { }
+
+               /**
+                * @brief Called before item is popped.
+                */
+               virtual void onPop() { }
+
+               /**
+                * @brief Called when item is selected.
+                */
+               virtual void onSelected() { }
+
+               /**
+                * @brief Called when item is focused by calling focus().
+                */
+               virtual void onFocused() { }
+
+               /**
+                * @brief Called when item is realized (became visible).
+                */
+               virtual void onRealized() { }
+
+               /**
+                * @brief Called when item is unrealized (became invisible)
+                *        and its text and content is deleted until it is realized again.
+                */
+               virtual void onUnrealized() { }
+
+       private:
+               friend class Genlist;
+               void onInserted(Elm_Object_Item *item);
+               void onDestroy(Evas_Object *genlist);
+
+               void onSelected(Elm_Object_Item *item);
+               void onRealized(Elm_Object_Item *item);
+               void onUnrealized(Elm_Object_Item *item);
+
+               Elm_Object_Item *m_Item;
+               bool m_Preserve;
+
+               bool m_IsRealized;
+               bool m_IsFocusPending;
+
+               SelectCallback m_OnSelected;
+       };
+}
+
+#endif /* UI_GENLIST_ITEM_H */
diff --git a/lib-apps-common/inc/Ui/GenlistIterator.h b/lib-apps-common/inc/Ui/GenlistIterator.h
new file mode 100644 (file)
index 0000000..754cf26
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_GENLIST_ITERATOR_H
+#define UI_GENLIST_ITERATOR_H
+
+#include <iterator>
+#include <tizen.h>
+
+namespace Ui
+{
+       class GenlistItem;
+
+       /**
+        * @brief Genlist items iterator.
+        */
+       class EXPORT_API GenlistIterator :
+                       public std::iterator<std::bidirectional_iterator_tag, GenlistItem *>
+       {
+       public:
+               /**
+                * @brief Create genlist iterator
+                * @param[in]   item    Item pointed by iterator
+                */
+               GenlistIterator(GenlistItem *item = nullptr);
+
+               /**
+                * @brief Increment iterator.
+                */
+               GenlistIterator &operator++();
+               GenlistIterator operator++(int);
+
+               /**
+                * @brief Decrement iterator.
+                */
+               GenlistIterator &operator--();
+               GenlistIterator operator--(int);
+
+               /**
+                * @brief Dereference iterator.
+                */
+               GenlistItem *operator*() const;
+
+               /**
+                * @brief Compare iterators for inequality.
+                */
+               bool operator!=(const GenlistIterator &that) const;
+
+       private:
+               GenlistItem *m_Item;
+       };
+}
+
+#endif /* UI_GENLIST_ITERATOR_H */
diff --git a/lib-apps-common/inc/Ui/Hoversel.h b/lib-apps-common/inc/Ui/Hoversel.h
new file mode 100644 (file)
index 0000000..060cbbf
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_HOVERSEL_H
+#define UI_HOVERSEL_H
+
+#include "Ui/Control.h"
+#include <functional>
+
+namespace Ui
+{
+       class EXPORT_API Hoversel : public Control
+       {
+       public:
+               /**
+                * @brief Item selection callback.
+                * @param[in]   Item value
+                * @return Whether to display selected item in hoversel button automatically
+                */
+               typedef std::function<bool(int)> SelectedCallback;
+
+               /**
+                * @brief Add item.
+                * @param[in]   text        Item text
+                * @param[in]   value       Item value which will be passed to SelectedCallback
+                * @return Added item on success, otherwise nullptr.
+                */
+               Elm_Object_Item *addItem(const char *text, int value);
+
+               /**
+                * @brief Set text of currently selected item.
+                * @param[in]   text        Text to be displayed in hoversel button
+                */
+               void setText(const char *text);
+
+               /**
+                * @brief Set item selection callback.
+                * @param[in]   callback    Callback to be called after item was selected
+                */
+               void setSelectedCallback(SelectedCallback callback);
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+       private:
+               void onSelected(Evas_Object *hoversel, Elm_Object_Item *item);
+               static void onExpanded(void *data, Evas_Object *hoversel, void *eventInfo);
+               static void onDismissed(void *data, Evas_Object *hoversel, void *eventInfo);
+               static void onBackPressed(void *data, Evas_Object *hoversel, void *eventInfo);
+
+               SelectedCallback m_OnSelected;
+       };
+}
+
+#endif /* UI_HOVERSEL_H */
diff --git a/lib-apps-common/inc/Ui/ListPopup.h b/lib-apps-common/inc/Ui/ListPopup.h
new file mode 100644 (file)
index 0000000..7019211
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_LIST_POPUP_H
+#define UI_LIST_POPUP_H
+
+#include "Ui/Popup.h"
+
+namespace Ui
+{
+       class EXPORT_API ListPopup : public Popup
+       {
+       public:
+               /**
+                * @brief Specific item selection callback.
+                */
+               typedef std::function<void()> ItemSelectedCallback;
+
+               /**
+                * @brief Any item selection callback.
+                * @param[in]   Item data
+                */
+               typedef std::function<void(void *)> SelectedCallback;
+
+               /**
+                * @brief Create list popup
+                * @param[in]   itemStyle   Genlist item style
+                */
+               ListPopup(const char *itemStyle = "type1");
+
+               /**
+                * @brief Add ListPopup item
+                * @param[in]   text        Main text of the item
+                * @param[in]   data        Data associated with the item
+                * @param[in]   callback    Callback to be called when item is selected
+                * @return Added item on success, otherwise nullptr
+                */
+               Elm_Object_Item *addItem(std::string text, void *data, ItemSelectedCallback callback = nullptr);
+               Elm_Object_Item *addItem(std::string text, ItemSelectedCallback callback = nullptr);
+               Elm_Object_Item *addItem(void *data, ItemSelectedCallback callback = nullptr);
+
+               /**
+                * @brief Set item selection callback.
+                * @param[in]   callback    Callback to be called when any item is selected
+                */
+               void setSelectedCallback(SelectedCallback callback);
+
+       protected:
+               /**
+                * @see Control::onCreate()
+                */
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+               /**
+                * @brief Called when item's text part needs to be updated.
+                * @details If "elm.text" part is not handled in this function then it will
+                *          contain the text specified in ListPopup::addItem().
+                * @see Elm_Gen_Item_Text_Get_Cb.
+                */
+               virtual char *getItemText(void *data, const char *part) { return nullptr; }
+
+               /**
+                * @brief Called when item's content part needs to be updated.
+                * @see Elm_Gen_Item_Content_Get_Cb.
+                */
+               virtual Evas_Object *getItemContent(void *data, const char *part) { return nullptr; }
+
+               /**
+                * @brief Called when any item is selected.
+                * @param[in]   data    Item data
+                */
+               virtual void onItemSelected(void *data) { }
+
+       private:
+               struct ItemData;
+
+               static char *getText(ItemData *itemData, Evas_Object *genlist, const char *part);
+               static Evas_Object *getContent(ItemData *itemData, Evas_Object *genlist, const char *part);
+               static void onSelected(ListPopup *popup, Evas_Object *genlist, Elm_Object_Item *item);
+
+               Evas_Object *m_Genlist;
+               Elm_Genlist_Item_Class m_ItemClass;
+               SelectedCallback m_OnSelected;
+       };
+}
+
+#endif /* UI_LIST_POPUP_H */
diff --git a/lib-apps-common/inc/Ui/Menu.h b/lib-apps-common/inc/Ui/Menu.h
new file mode 100644 (file)
index 0000000..b59e9ba
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_MENU_H
+#define UI_MENU_H
+
+#include "Ui/Control.h"
+#include <functional>
+
+namespace Ui
+{
+       class EXPORT_API Menu : public Control
+       {
+       public:
+               /**
+                * @brief Item selection callback
+                */
+               typedef std::function<void()> ItemCallback;
+
+               /**
+                * @brief Add menu item
+                * @param[in]   text        Item text
+                * @param[in]   callback    Item selection callback
+                * @return Added item on success, otherwise nullptr
+                */
+               Elm_Object_Item *addItem(const char *text, ItemCallback callback);
+
+               /**
+                * @brief Show menu at the bottom of application window.
+                */
+               void show();
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+       private:
+               static void onItemSelect(void *data, Evas_Object *obj, void *item);
+               static void onItemDestroy(void *data, Evas_Object *obj, void *item);
+               void onDismissed(Evas_Object *obj, void *eventInfo);
+       };
+}
+
+#endif /* UI_MENU_H */
diff --git a/lib-apps-common/inc/Ui/Naviframe.h b/lib-apps-common/inc/Ui/Naviframe.h
new file mode 100644 (file)
index 0000000..b10963d
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_NAVIFRAME_H
+#define UI_NAVIFRAME_H
+
+#include "Ui/Navigator.h"
+
+namespace Ui
+{
+       /**
+        * @brief Naviframe wrapper
+        */
+       class EXPORT_API Naviframe : public Navigator
+       {
+       public:
+               Naviframe();
+
+               /**
+                * @see Navigator::getCurrentView()
+                */
+               virtual View *getCurrentView() const override;
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+               virtual NavigatorPage *attachView(View *view) override;
+               virtual void navigateToView(View *view) override;
+
+               Eina_Bool onItemPop(Elm_Object_Item *item);
+               void onTransition(Evas_Object *obj, void *eventInfo);
+               virtual bool onBackPressed() override;
+       };
+}
+
+#endif /* UI_NAVIFRAME_H */
diff --git a/lib-apps-common/inc/Ui/NaviframePage.h b/lib-apps-common/inc/Ui/NaviframePage.h
new file mode 100644 (file)
index 0000000..5217d0b
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_NAVIFRAME_PAGE_H
+#define UI_NAVIFRAME_PAGE_H
+
+#include "Ui/NavigatorPage.h"
+
+namespace Ui
+{
+       class EXPORT_API NaviframePage : public NavigatorPage
+       {
+       public:
+               NaviframePage(Elm_Object_Item *naviItem);
+               virtual ~NaviframePage() override;
+
+               /**
+                * @see NavigatorPage::setTitle()
+                */
+               virtual void setTitle(const char *title) override;
+
+               /**
+                * @see NavigatorPage::setStyle()
+                */
+               virtual void setStyle(const char *style) override;
+
+               /**
+                * @see NavigatorPage::setContent()
+                */
+               virtual void setContent(const char *part, Evas_Object *content) override;
+
+       private:
+               friend class Naviframe;
+
+               Elm_Object_Item *m_NaviItem;
+       };
+}
+
+#endif /* UI_NAVIFRAME_PAGE_H */
diff --git a/lib-apps-common/inc/Ui/Navigator.h b/lib-apps-common/inc/Ui/Navigator.h
new file mode 100644 (file)
index 0000000..050fe46
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_NAVIGATOR_H
+#define UI_NAVIGATOR_H
+
+#include "Ui/View.h"
+
+namespace Ui
+{
+       class NavigatorPage;
+       class EXPORT_API Navigator : public View
+       {
+       public:
+               /**
+                * @return Currently displayed view
+                */
+               virtual View *getCurrentView() const = 0;
+
+               /**
+                * @brief Navigate to existing or new View
+                * @param[in]   view    View to navigate to
+                */
+               void navigateTo(View *view);
+
+       protected:
+               Navigator(NavigatorType type);
+
+               /**
+                * @brief Notify specified View about navigation
+                * @param[in]   view            View to notify
+                * @param[in]   isCurrentView   Specifies the new state of the @a view
+                */
+               void notifyNavigation(View *view, bool isCurrentView);
+
+               /**
+                * @brief Called after navigateTo() is called for a new view
+                * @param[in]   view    View to attach
+                * @return NavigatorPage for the view
+                */
+               virtual NavigatorPage *attachView(View *view) = 0;
+
+               /**
+                * @brief Called after navigateTo() is called
+                * @param[in]   view    View to navigate to
+                */
+               virtual void navigateToView(View *view) = 0;
+
+               /**
+                * @see View::onNavigation()
+                */
+               virtual void onNavigation(bool isCurrentView) override;
+
+               /**
+                * @see View::onBackPressed()
+                */
+               virtual bool onBackPressed() override;
+
+               /**
+                * @see View::onMenuPressed()
+                */
+               virtual void onMenuPressed() override;
+
+       private:
+               NavigatorType m_Type;
+       };
+}
+
+#endif /* UI_NAVIGATOR_H */
diff --git a/lib-apps-common/inc/Ui/NavigatorPage.h b/lib-apps-common/inc/Ui/NavigatorPage.h
new file mode 100644 (file)
index 0000000..7c5826d
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_NAVIGATOR_PAGE_H
+#define UI_NAVIGATOR_PAGE_H
+
+#include <Elementary.h>
+#include <tizen.h>
+
+namespace Ui
+{
+       /**
+        * @brief Navigator page interface
+        */
+       class EXPORT_API NavigatorPage
+       {
+       public:
+               virtual ~NavigatorPage() { }
+
+               /**
+                * @brief Set page title.
+                * @param[in]   title   Page title
+                */
+               virtual void setTitle(const char *title) = 0;
+
+               /**
+                * @brief Set page style.
+                * @param[in]   style   Page style
+                */
+               virtual void setStyle(const char *style) = 0;
+
+               /**
+                * @brief Set page part content.
+                * @param[in]   content Content to set to page part
+                */
+               virtual void setContent(const char *part, Evas_Object *content) = 0;
+       };
+}
+
+#endif /* UI_NAVIGATOR_PAGE_H */
diff --git a/lib-apps-common/inc/Ui/Popup.h b/lib-apps-common/inc/Ui/Popup.h
new file mode 100644 (file)
index 0000000..319ac7a
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_POPUP_H
+#define UI_POPUP_H
+
+#include "Ui/Control.h"
+#include <functional>
+
+#define POPUP_BUTTON_MAX_COUNT 3
+
+namespace Ui
+{
+       class EXPORT_API Popup : public Control
+       {
+       public:
+               /**
+                * @brief Popup button pressed callback
+                * @return true to destroy the Popup, otherwise false
+                */
+               typedef std::function<bool()> ButtonCallback;
+
+               /**
+                * @brief Back button pressed callback
+                * @return true to destroy the Popup, otherwise false
+                */
+               typedef std::function<bool()> BackCallback;
+
+               Popup();
+
+               /**
+                * @brief Allows method overload instead of shadowing
+                */
+               using Control::create;
+
+               /**
+                * @brief Create popup with title, text and close button
+                * @param[in]   parent      Popup parent
+                * @param[in]   title       Popup title
+                * @param[in]   text        Popup text
+                * @param[in]   button_text Text for close button
+                * @return Created popup
+                */
+               static Popup *create(Evas_Object *parent, const char *title,
+                               const char *text, const char *button_text);
+
+               /**
+                * @brief Set Popup title
+                * @param[in]   title       Popup title
+                */
+               void setTitle(const char *title);
+
+               /**
+                * @brief Set Popup text
+                * @param[in]   text        Popup text
+                */
+               void setText(const char *text);
+
+               /**
+                * @brief Set Popup content
+                * @param[in]   content     Popup content
+                */
+               void setContent(Evas_Object *content);
+
+               /**
+                * @brief Add Popup button
+                * @param[in]   text        Button text
+                * @param[in]   callback    Button click callback
+                * @return Added button on success, otherwise nullptr
+                */
+               Evas_Object *addButton(const char *text, ButtonCallback callback = nullptr);
+
+               /**
+                * @brief Set callback on back button
+                * @param[in]   callback    Back callback
+                */
+               void setBackCallback(BackCallback callback);
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+       private:
+               void onButtonPressed(Evas_Object *obj, void *eventInfo);
+               void onBackPressed(Evas_Object *obj, void *eventInfo);
+
+               ButtonCallback m_ButtonCbs[POPUP_BUTTON_MAX_COUNT];
+               size_t m_ButtonCount;
+               BackCallback m_OnBack;
+       };
+}
+
+#endif /* UI_POPUP_H */
diff --git a/lib-apps-common/inc/Ui/ProgressController.h b/lib-apps-common/inc/Ui/ProgressController.h
new file mode 100644 (file)
index 0000000..c241f1b
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef PROGRESS_CONTROLLER_H
+#define PROGRESS_CONTROLLER_H
+
+#include <Elementary.h>
+#include <functional>
+#include <tizen.h>
+
+namespace Ui
+{
+       class ProgressPopup;
+
+       /**
+        * @brief Controller for ProgressPopup
+        */
+       class EXPORT_API ProgressController
+       {
+       public:
+               /**
+                * @brief Finish progress callback.
+                */
+               typedef std::function<void(const ProgressController &)> FinishCallback;
+
+               /**
+                * @brief Create controller for ProgressPopup.
+                * @param[in]   parent      Parent object
+                * @param[in]   title       Progress popup title
+                * @param[in]   maxValue    max value of progress popup
+                */
+               ProgressController(Evas_Object *parent, const char *title, int maxValue);
+               ProgressController(const ProgressController &that) = delete;
+               virtual ~ProgressController();
+
+               ProgressController & operator=(const ProgressController &that) = delete;
+
+               /**
+                * @brief Run progress.
+                */
+               void run();
+
+               /**
+                * @brief Set finish function which is called when the progress is over.
+                * @param[in]   callback    Finish function
+                */
+               void setFinishCallback(FinishCallback callback);
+
+       protected:
+               virtual void onStart(Ecore_Thread *thread) = 0;
+               virtual void onCanceled() = 0;
+               virtual bool onCancel();
+
+               void cancel();
+               bool onProgress(size_t value);
+
+       private:
+               void createProgressPopup(Evas_Object *parent, const char *title, int maxValue);
+
+               static void onStart(void *data, Ecore_Thread *thread);
+               static void onNotify(void *data, Ecore_Thread *thread, void *msgData);
+               static void onFinish(void *data, Ecore_Thread *thread);
+               static void onCanceled(void *data, Ecore_Thread *thread);
+
+       private:
+               bool m_IsCanceled;
+               FinishCallback m_OnFinish;
+               ProgressPopup *m_ProgressPopup;
+               Ecore_Thread *m_Thread;
+       };
+}
+
+#endif /* PROGRESS_CONTROLLER_H */
diff --git a/lib-apps-common/inc/Ui/ProgressPopup.h b/lib-apps-common/inc/Ui/ProgressPopup.h
new file mode 100644 (file)
index 0000000..b6c67fc
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_PROGRESS_POPUP_H
+#define UI_PROGRESS_POPUP_H
+
+#include "Ui/Popup.h"
+
+namespace Ui
+{
+       class EXPORT_API ProgressPopup : public Popup
+       {
+       public:
+               /**
+                * @brief Create progress popup.
+                * @param[in]   maxValue    Max value of progressbar
+                */
+               ProgressPopup(size_t maxValue);
+
+               /**
+                * @brief Set progress of the progressbar
+                * @param[in]   value   Progress value
+                */
+               void setProgress(size_t value);
+
+       private:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+       private:
+               size_t m_MaxValue;
+               Evas_Object *m_Progressbar;
+       };
+}
+
+#endif /* UI_PROGRESS_POPUP_H */
diff --git a/lib-apps-common/inc/Ui/Scale.h b/lib-apps-common/inc/Ui/Scale.h
new file mode 100644 (file)
index 0000000..06c8009
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_SCALE_H
+#define UI_SCALE_H
+
+#include <tizen.h>
+
+#define UI_BASE_SCALE 2.6
+
+namespace Ui
+{
+       /**
+        * @brief Scale the value using application base scale and device config scale
+        * @param[in]   value   Value to scale (usually pixels)
+        * @return Value multiplied by scale factor
+        */
+       EXPORT_API int getScaledValue(int value);
+}
+
+#endif /* UI_SCALE_H */
diff --git a/lib-apps-common/inc/Ui/TabPage.h b/lib-apps-common/inc/Ui/TabPage.h
new file mode 100644 (file)
index 0000000..4223028
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_TAB_PAGE_H
+#define UI_TAB_PAGE_H
+
+#include "Ui/Control.h"
+#include "Ui/NavigatorPage.h"
+
+namespace Ui
+{
+       class EXPORT_API TabPage : public Control, public NavigatorPage
+       {
+       public:
+               TabPage(size_t index, Elm_Object_Item *tabItem);
+               virtual ~TabPage() override;
+
+               /**
+                * @see NavigatorPage::setTitle()
+                */
+               virtual void setTitle(const char *title) override;
+
+               /**
+                * @see NavigatorPage::setStyle()
+                */
+               virtual void setStyle(const char *style) override;
+
+               /**
+                * @see NavigatorPage::setContent()
+                */
+               virtual void setContent(const char *part, Evas_Object *content) override;
+
+       private:
+               friend class TabView;
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+               size_t m_Index;
+               Elm_Object_Item *m_TabItem;
+
+               Evas_Object *m_Sizer;
+               Evas_Object *m_Page;
+       };
+}
+
+#endif /* UI_TAB_PAGE_H */
diff --git a/lib-apps-common/inc/Ui/TabView.h b/lib-apps-common/inc/Ui/TabView.h
new file mode 100644 (file)
index 0000000..f56b85b
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_TAB_VIEW_H
+#define UI_TAB_VIEW_H
+
+#include "Ui/Navigator.h"
+#include <vector>
+
+namespace Ui
+{
+       /**
+        * @brief Scrollable tab navigator
+        */
+       class EXPORT_API TabView : public Navigator
+       {
+       public:
+               TabView();
+
+               /**
+                * @see Navigator::getCurrentView()
+                */
+               virtual View *getCurrentView() const override;
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+               virtual void onPageAttached() override;
+
+               virtual NavigatorPage *attachView(View *view) override;
+               virtual void navigateToView(View *view) override;
+
+       private:
+               static void onTabDestroy(void *data, Evas_Object *obj, void *tabItem);
+               void onTabSelect(Evas_Object *obj, void *tabItem);
+               void onPageChanged(Evas_Object *obj, void *eventInfo);
+               void onResize(Evas *e, Evas_Object *obj, void *eventInfo);
+
+               Evas_Object *m_Tabbar;
+               Evas_Object *m_Scroller;
+               Evas_Object *m_Box;
+
+               Evas_Coord m_Width;
+               Evas_Coord m_Height;
+
+               bool m_IsNavigating;
+               size_t m_CurrentPage;
+               std::vector<View *> m_Views;
+       };
+}
+
+#endif /* UI_TAB_VIEW_H */
diff --git a/lib-apps-common/inc/Ui/Thumbnail.h b/lib-apps-common/inc/Ui/Thumbnail.h
new file mode 100644 (file)
index 0000000..3898698
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_THUMBNAIL_H
+#define UI_THUMBNAIL_H
+
+#include "Ui/Control.h"
+
+namespace Ui
+{
+       class EXPORT_API Thumbnail : public Control
+       {
+       public:
+               enum Size
+               {
+                       SizeSmall,
+                       SizeMedium,
+                       SizeLarge
+               };
+
+               /**
+                * @brief Create thumbnail
+                * @param[in]   size    Thumbnail size
+                */
+               Thumbnail(Size size);
+
+               /**
+                * @brief Allows method overload instead of shadowing
+                */
+               using Control::create;
+
+               /**
+                * @brief Create thumbnail
+                * @param[in]   parent  Thumbnail parent
+                * @param[in]   size    Thumbnail size
+                * @param[in]   path    Thumbnail Image path or nullptr for default image
+                * @return Created thumbnail
+                */
+               static Thumbnail *create(Evas_Object *parent, Size size, const char *path = nullptr);
+
+               /**
+                * @return Thumbnail image object.
+                */
+               Evas_Object *getImage() const;
+
+               /**
+                * @brief Set thumbnail image path
+                * @param[in]   path    Image path or nullptr for default image
+                */
+               void setImagePath(const char *path);
+
+               /**
+                * @brief Set whether minimal size hint is set for image
+                * @param[in]   isSet   Whether to set image size hint
+                */
+               void setSizeHint(bool isSet);
+
+       protected:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+
+       private:
+               Size m_Size;
+               Evas_Object *m_Image;
+       };
+}
+
+#endif /* UI_THUMBNAIL_H */
diff --git a/lib-apps-common/inc/Ui/View.h b/lib-apps-common/inc/Ui/View.h
new file mode 100644 (file)
index 0000000..3f87a7d
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_VIEW_H
+#define UI_VIEW_H
+
+#include "Ui/Control.h"
+#include "Ui/NavigatorPage.h"
+
+namespace Ui
+{
+       class Navigator;
+       class Window;
+
+       /**
+        * @brief Navigation type supported by Navigator
+        */
+       enum NavigatorType
+       {
+               StackNavigator, /**< Allows navigation to the added View or the previous View */
+               TabNavigator    /**< Allows navigation to any added View */
+       };
+
+       /**
+        * @brief Represents content of a Window or Navigator page
+        */
+       class EXPORT_API View : public Control
+       {
+       public:
+               /**
+                * @brief Get parent Navigator
+                * @param[in]   type    Navigator type
+                * @return Innermost parent Navigator of the specified type if exists,
+                *         otherwise nullptr
+                */
+               Navigator *getNavigator(NavigatorType type = StackNavigator) const;
+
+               /**
+                * @return NavigatorPage of this View
+                */
+               NavigatorPage *getPage() const;
+
+       protected:
+               View();
+               virtual ~View() override;
+
+               /**
+                * @brief Called after Navigator has navigated to or from this View
+                * @param[in]   isCurrentView   Specifies the new state of this View
+                */
+               virtual void onNavigation(bool isCurrentView) { }
+
+               /**
+                * @brief Called when NavigatorPage is attached to this View
+                */
+               virtual void onPageAttached() { }
+
+               /**
+                * @brief Called when "back" button is pressed
+                * @return true to navigate to the previous view, otherwise false
+                */
+               virtual bool onBackPressed() { return true; }
+
+               /**
+                * @brief Called when "menu" button is pressed
+                */
+               virtual void onMenuPressed() { }
+
+       private:
+               friend class Window;
+               friend class Navigator;
+
+               void onViewAttached(Navigator *stackNavi, Navigator *tabNavi);
+               void onPageAttached(NavigatorPage *page);
+
+               Navigator     *m_StackNavi;
+               Navigator     *m_TabNavi;
+               NavigatorPage *m_NaviPage;
+       };
+}
+
+#endif /* UI_VIEW_H */
diff --git a/lib-apps-common/inc/Ui/Window.h b/lib-apps-common/inc/Ui/Window.h
new file mode 100644 (file)
index 0000000..1368009
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UI_WINDOW_H
+#define UI_WINDOW_H
+
+#include "Ui/Control.h"
+
+namespace Ui
+{
+       class View;
+
+       /**
+        * @brief Application main window
+        */
+       class EXPORT_API Window : public Control
+       {
+       public:
+               Window();
+
+               /**
+                * @return Conformant Evas_Object.
+                */
+               Evas_Object *getConformant() const;
+
+               /**
+                * @return Basic Window layout Evas_Object.
+                */
+               Evas_Object *getBaseLayout() const;
+
+               /**
+                * @brief Attach main View to be displayed in the Window.
+                * @param[in]   view    Window main View
+                */
+               void attachView(View *view);
+
+       private:
+               virtual Evas_Object *onCreate(Evas_Object *parent) override;
+               void onBackPressed(Evas_Object *obj, void *eventInfo);
+               void onMenuPressed(Evas_Object *obj, void *eventInfo);
+
+               Evas_Object *m_Conform;
+               Evas_Object *m_Layout;
+               View *m_MainView;
+       };
+}
+
+#endif /* UI_WINDOW_H */
diff --git a/lib-apps-common/inc/Utils/Callback.h b/lib-apps-common/inc/Utils/Callback.h
new file mode 100644 (file)
index 0000000..80e7f11
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_CALLBACK_H
+#define UTILS_CALLBACK_H
+
+#include "Utils/CallbackImpl.h"
+
+/**
+ * @brief Make C-style callback from non-static class method with object as first parameter.
+ * @details Generates static member function by adding void* first parameter.
+ *          Generated function forwards calls to specified method on object passed as first parameter.
+ * @par example
+ * @code
+ *
+ * class SomeView : public View
+ * {
+ *     ...
+ * private:
+ *     void onButtonPressed(Evas_Object *obj, void *eventInfo);
+ * }
+ *
+ * void SomeView::someMethod(Evas_Object *parent)
+ * {
+ *     Evas_Object *button = elm_button_add(parent);
+ *     evas_object_smart_callback_add(button, "clicked",
+ *             makeCallback(&SomeView::onButtonPressed), this);
+ *     ...
+ * }
+ *
+ * @endcode
+ */
+#define makeCallback(method) \
+       ::Utils::Callback<decltype(method)>::makeWithFirstParam<method>()
+
+/**
+ * @brief Make C-style callback from non-static class method with object as last parameter.
+ * @see makeCallback()
+ */
+#define makeCallbackWithLastParam(method) \
+       ::Utils::Callback<decltype(method)>::makeWithLastParam<method>()
+
+#endif /* UTILS_CALLBACK_H */
diff --git a/lib-apps-common/inc/Utils/CallbackImpl.h b/lib-apps-common/inc/Utils/CallbackImpl.h
new file mode 100644 (file)
index 0000000..fd69bd1
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef CALLBACK_IMPL_H
+#define CALLBACK_IMPL_H
+
+namespace Utils
+{
+       template <typename F>
+       class Callback;
+
+       template <typename R, typename... A>
+       class Callback<R(A...)>
+       {
+       public:
+               template <class C, R(C::*Method)(A...)>
+               static R stubWithFirstParam(void *object, A... args)
+               {
+                       return (static_cast<C*>(object)->*Method)(args...);
+               }
+
+               template <class C, R(C::*Method)(A...)>
+               static R stubWithLastParam(A... args, void *object)
+               {
+                       return (static_cast<C*>(object)->*Method)(args...);
+               }
+       };
+
+       template <typename R, typename C, typename... A>
+       class Callback<R(C::*)(A...)>
+       {
+       public:
+               typedef R(*WithFirstParam)(void*, A...);
+               typedef R(*WithLastParam)(A..., void*);
+
+               template <R(C::*Method)(A...)>
+               static WithFirstParam makeWithFirstParam()
+               {
+                       return &Callback<R(A...)>::template stubWithFirstParam<C, Method>;
+               }
+
+               template <R(C::*Method)(A...)>
+               static WithLastParam makeWithLastParam()
+               {
+                       return &Callback<R(A...)>::template stubWithLastParam<C, Method>;
+               }
+       };
+}
+
+#endif /* CALLBACK_IMPL_H */
diff --git a/lib-apps-common/inc/Utils/Iterator.h b/lib-apps-common/inc/Utils/Iterator.h
new file mode 100644 (file)
index 0000000..beaf218
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_ITERATOR_H
+#define UTILS_ITERATOR_H
+
+#include <iterator>
+#include <stddef.h>
+
+namespace Utils
+{
+       /**
+        * @brief Base class for index-based iterators.
+        * @details CRTP (Curiously Recurring Template Pattern) is used to generate
+        *          operators that return or use derived type.
+        */
+       template <typename DerivedIterator,
+               typename ValueType,
+               typename Pointer = ValueType *,
+               typename Reference = ValueType &,
+               typename Distance = ptrdiff_t>
+       class IndexIterator :
+               public std::iterator<std::bidirectional_iterator_tag, ValueType, Distance, Pointer, Reference>
+       {
+       public:
+               /**
+                * @brief Create iterator from index.
+                * @param[in]   index   Current position of iterator
+                */
+               IndexIterator(size_t index = 0)
+                       : m_Index(index) { }
+
+               /**
+                * @brief Dereference iterator.
+                */
+               Pointer operator->() const { return &*getDerived(); }
+
+               /**
+                * @brief Increment iterator.
+                */
+               DerivedIterator &operator++() { ++m_Index; return getDerived(); }
+               DerivedIterator operator++(int) { auto it(getDerived()); ++*this; return it; }
+
+               /**
+                * @brief Decrement iterator.
+                */
+               DerivedIterator &operator--() { --m_Index; return getDerived(); }
+               DerivedIterator operator--(int) { auto it(getDerived()); --*this; return it; }
+
+               /**
+                * @brief Compare iterators.
+                */
+               bool operator==(const IndexIterator &that) { return m_Index == that.m_Index; }
+               bool operator!=(const IndexIterator &that) { return m_Index != that.m_Index; }
+
+       protected:
+               /**
+                * @return Current index.
+                */
+               size_t getIndex() const { return m_Index; }
+
+       private:
+               DerivedIterator &getDerived() { return static_cast<DerivedIterator &>(*this); }
+               const DerivedIterator &getDerived() const { return static_cast<const DerivedIterator &>(*this); }
+
+               size_t m_Index;
+       };
+}
+
+#endif /* UTILS_ITERATOR_H */
diff --git a/lib-apps-common/inc/Utils/Logger.h b/lib-apps-common/inc/Utils/Logger.h
new file mode 100644 (file)
index 0000000..c6d4b77
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_LOGGER_H
+#define UTILS_LOGGER_H
+
+#define LOG_TAG "contacts"
+#include <dlog.h>
+
+#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+
+#include "Utils/Tracer.h"
+#define TRACE ::Utils::Tracer tracer(LOG_TAG, __MODULE__, __func__, __LINE__)
+
+#define DLOG(prio, fmt, arg...) dlog_print(prio, LOG_TAG, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg)
+#define DBG(fmt, arg...) DLOG(DLOG_DEBUG, fmt, ##arg)
+#define ERR(fmt, arg...) DLOG(DLOG_ERROR, fmt, ##arg)
+
+#define LOG_IF(expr, action, fmt, arg...) \
+if (expr) { \
+       ERR(fmt, ##arg); \
+       action; \
+}
+
+#define LOG_IF_ERR(code, action, fmt, arg...) \
+LOG_IF(code != TIZEN_ERROR_NONE, action, fmt " %s.", ##arg, get_error_message(code))
+
+#define WARN_IF(expr, fmt, arg...) \
+LOG_IF(expr, , fmt, ##arg)
+
+#define WARN_IF_ERR(code, fmt, arg...) \
+LOG_IF_ERR(code, , fmt, ##arg)
+
+#define RETM_IF(expr, fmt, arg...) \
+LOG_IF(expr, return, fmt, ##arg)
+
+#define RETM_IF_ERR(code, fmt, arg...) \
+LOG_IF_ERR(code, return, fmt, ##arg)
+
+#define RETVM_IF(expr, val, fmt, arg...) \
+LOG_IF(expr, return val, fmt, ##arg)
+
+#define RETVM_IF_ERR(code, val, fmt, arg...) \
+LOG_IF_ERR(code, return val, fmt, ##arg)
+
+#endif /* UTILS_LOGGER_H */
diff --git a/lib-apps-common/inc/Utils/Range.h b/lib-apps-common/inc/Utils/Range.h
new file mode 100644 (file)
index 0000000..3ac0b2b
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_RANGE_H
+#define UTILS_RANGE_H
+
+#include <iterator>
+
+namespace Utils
+{
+       /**
+        * @brief Convenience wrapper around std::advance.
+        * @param[in]   iterator    Input iterator
+        * @param[in]   distance    Distance to advance iterator
+        * @return New iterator at @a distance from @a iterator.
+        */
+       template <typename Iter, typename Distance>
+       inline Iter advance(Iter iterator, Distance distance)
+       {
+               std::advance(iterator, distance);
+               return iterator;
+       }
+
+       /**
+        * @brief Convenience wrapper for iterator pair.
+        */
+       template <typename Iter>
+       class Range
+       {
+       public:
+               typedef typename std::iterator_traits<Iter>::reference reference;
+
+               Range() = default;
+
+               /**
+                * @brief Create iterator range from static array.
+                * @param[in]   array   Static array
+                */
+               template <typename T, size_t N>
+               Range(T(&array)[N])
+                       : m_Begin(array), m_End(array + N) { }
+
+               /**
+                * @brief Create iterator range from begin iterator and element count
+                * @param[in]   begin   Begin iterator
+                * @param[in]   count   Count of elements until range's end
+                */
+               Range(Iter begin, size_t count)
+                       : m_Begin(std::move(begin)), m_End(advance(m_Begin, count)) { }
+
+               /**
+                * @brief Create iterator range from pair of iterators
+                * @param[in]   begin   Begin iterator
+                * @param[in]   end     End iterator
+                */
+               Range(Iter begin, Iter end)
+                       : m_Begin(std::move(begin)), m_End(std::move(end)) { }
+
+               /**
+                * @return Whether range is empty (i. e. begin() == end()).
+                */
+               bool empty() const { return !(m_Begin != m_End); }
+
+               /**
+                * @return Range element count.
+                */
+               size_t count() const { return std::distance(m_Begin, m_End); }
+
+               /**
+                * @return Range begin iterator.
+                */
+               Iter &begin() { return m_Begin; }
+
+               /**
+                * @return Range end iterator.
+                */
+               Iter &end() { return m_End; }
+
+               /**
+                * @return Range begin iterator.
+                */
+               const Iter &begin() const { return m_Begin; }
+
+               /**
+                * @return Range end iterator.
+                */
+               const Iter &end() const { return m_End; }
+
+               /**
+                * @see empty()
+                */
+               explicit operator bool() const { return !empty(); }
+
+               /**
+                * @brief Get range element by index.
+                * @param[in]   index   Element index
+                * @return Range element reference.
+                */
+               reference operator[](size_t index) const { return *advance(m_Begin, index); }
+
+       private:
+               Iter m_Begin;
+               Iter m_End;
+       };
+
+       /**
+        * @brief Create iterator range from static array.
+        */
+       template <typename T, size_t N>
+       inline Range<T*> makeRange(T(&array)[N])
+       {
+               return { array };
+       }
+
+       /**
+        * @brief Create iterator range from two iterators.
+        */
+       template <typename Iter1, typename Iter2,
+               typename Iter = typename std::common_type<Iter1, Iter2>::type>
+       inline Range<Iter> makeRange(Iter1 &&begin, Iter2 &&end)
+       {
+               return { std::forward<Iter1>(begin), std::forward<Iter2>(end) };
+       }
+
+       /**
+        * @brief Get static array element count.
+        * @param[in]   array   Static array
+        * @return Array element count.
+        */
+       template <typename T, size_t N>
+       inline size_t count(T(&array)[N])
+       {
+               return N;
+       }
+
+       /**
+        * @brief Get element by index from static array or a default value if out of bounds.
+        * @param[in]   array   Static array
+        * @param[in]   index   Element index
+        * @param[in]   value   Default value
+        * @return Array element or @a value. Array element is always copied.
+        */
+       template <typename T, size_t N>
+       inline T at(T(&array)[N], size_t index, T value = T())
+       {
+               return index < N ? array[index] : value;
+       }
+}
+
+#endif /* UTILS_RANGE_H */
diff --git a/lib-apps-common/inc/Utils/Tracer.h b/lib-apps-common/inc/Utils/Tracer.h
new file mode 100644 (file)
index 0000000..ce143ed
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_TRACER_H
+#define UTILS_TRACER_H
+
+#include <time.h>
+#include <tizen.h>
+
+namespace Utils
+{
+       /**
+        * @brief Code block logger. Writes logs when created and destroyed. Outputs elapsed time.
+        */
+       class EXPORT_API Tracer
+       {
+       public:
+               /**
+                * @brief Create tracer and write entry log.
+                * @param[in]   tag     Log tag
+                * @param[in]   file    Current source file
+                * @param[in]   func    Current function
+                * @param[in]   line    Current source line
+                */
+               Tracer(const char *tag, const char *file, const char *func, int line);
+               ~Tracer();
+
+       private:
+               const char *m_Tag;
+               const char *m_File;
+               const char *m_Func;
+               timespec m_startTime;
+       };
+}
+
+#endif /* UTILS_TRACER_H */
diff --git a/lib-apps-common/inc/Utils/UniString.h b/lib-apps-common/inc/Utils/UniString.h
new file mode 100644 (file)
index 0000000..e31aefd
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef UTILS_UNI_STRING_H
+#define UTILS_UNI_STRING_H
+
+#include <utils_i18n.h>
+#include <string>
+
+namespace Utils
+{
+       /**
+        * @brief Class wrapper for convenient work with multibyte UTF8 unicode string
+        */
+       class EXPORT_API UniString
+       {
+       public:
+               /**
+                * @brief Instantiation of the basic_string class template,
+                * that uses i18n_uchar as its character type
+                */
+               typedef std::basic_string<i18n_uchar> I18nString;
+
+               UniString() = default;
+               /**
+                * @brief Create new object, based on @a utf8Str string
+                * @param[in]   utf8Str     UTF8 multibyte unicode string
+                */
+               UniString(const char *utf8Str);
+
+               bool operator<(const UniString &that) const;
+               bool operator>(const UniString &that) const;
+               bool operator==(const UniString &that) const;
+               bool operator!=(const UniString &that) const;
+               bool operator<=(const UniString &that) const;
+               bool operator>=(const UniString &that) const;
+
+               /**
+                * @return I18n string
+                */
+               const I18nString &getI18nStr() const;
+
+               /**
+                * @return UTF8 multibyte string
+                */
+               const std::string &getUtf8Str() const;
+
+       private:
+               static std::string toUtf8(const I18nString &ustring);
+               static I18nString fromUtf8(const std::string &utf8Str);
+
+               mutable std::string m_Utf8Str;
+               I18nString m_UniStr;
+       };
+}
+
+#endif /* UTILS_UNI_STRING_H */
diff --git a/lib-apps-common/res/apps-common/CMakeLists.txt b/lib-apps-common/res/apps-common/CMakeLists.txt
new file mode 100644 (file)
index 0000000..60e189d
--- /dev/null
@@ -0,0 +1,15 @@
+set(EDCFILES apps-common-thumbnail.edc apps-common-buttons.edc)
+set(EDJDIR "${RES_DIR}/apps-common/edje")
+
+foreach(EDCFILE ${EDCFILES})
+       get_filename_component(EDJFILE ${EDCFILE} NAME_WE)
+       set(EDJFILE ${EDJFILE}.edj)
+
+       add_custom_target(${EDJFILE}
+               COMMAND edje_cc -id .. edje/${EDCFILE} ${EDJFILE}
+               DEPENDS edje/${EDCFILE}
+       )
+
+       add_dependencies(${PROJECT_NAME} ${EDJFILE})
+       install(FILES ${EDJFILE} DESTINATION ${EDJDIR})
+endforeach(${EDCFILE})
diff --git a/lib-apps-common/res/apps-common/edje/AppsCommonButtons.h b/lib-apps-common/res/apps-common/edje/AppsCommonButtons.h
new file mode 100644 (file)
index 0000000..d120ecd
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APPS_COMMON_BUTTONS_H
+#define APPS_COMMON_BUTTONS_H
+
+#include "AppsCommonPath.h"
+
+#define APPS_COMMON_BUTTONS_EDJ          APPS_COMMON_EDJ_DIR"apps-common-buttons.edj"
+
+#define BUTTON_STYLE_CUSTOM_DEFAULT "custom_default"
+#define BUTTON_STYLE_CUSTOM_CIRCLE  "custom_circle"
+
+#define BUTTON_TEXT_CLASS           "button_text"
+#define BUTTON_COLOR_CLASS_NORMAL   "button_normal"
+#define BUTTON_COLOR_CLASS_PRESSED  "button_pressed"
+
+#endif /* APPS_COMMON_BUTTONS_H */
diff --git a/lib-apps-common/res/apps-common/edje/AppsCommonPath.h b/lib-apps-common/res/apps-common/edje/AppsCommonPath.h
new file mode 100644 (file)
index 0000000..cd04fcf
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APPS_COMMON_PATH_H
+#define APPS_COMMON_PATH_H
+
+#define APPS_COMMON_IMG_DIR "apps-common/images/"
+#define APPS_COMMON_EDJ_DIR "apps-common/edje/"
+
+#endif /* APPS_COMMON_PATH_H */
diff --git a/lib-apps-common/res/apps-common/edje/AppsCommonProgressbarLayout.h b/lib-apps-common/res/apps-common/edje/AppsCommonProgressbarLayout.h
new file mode 100644 (file)
index 0000000..e03a138
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APPS_COMMON_PROGRESSBAR_LAYOUT_H
+#define APPS_COMMON_PROGRESSBAR_LAYOUT_H
+
+#include "AppsCommonPath.h"
+
+#define APPS_COMMON_PROGRESSBAR_LAYOUT_EDJ APPS_COMMON_EDJ_DIR"apps-common-progressbar-layout.edj"
+
+#define GROUP_PROGRESSBAR_LAYOUT "progressbar_layout"
+#define PART_PROGRESSBAR         "swallow.progressbar"
+
+#define PROGRESSBAR_PAD_X        32
+#define PROGRESSBAR_PAD_Y        17
+
+#endif /* APPS_COMMON_PROGRESSBAR_LAYOUT_H */
diff --git a/lib-apps-common/res/apps-common/edje/AppsCommonThumbnail.h b/lib-apps-common/res/apps-common/edje/AppsCommonThumbnail.h
new file mode 100644 (file)
index 0000000..e50af65
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef APPS_COMMON_THUMBNAIL_H
+#define APPS_COMMON_THUMBNAIL_H
+
+#include "AppsCommonPath.h"
+
+#define APPS_COMMON_THUMBNAIL_EDJ       APPS_COMMON_EDJ_DIR"apps-common-thumbnail.edj"
+
+#define THUMBNAIL_DEFAULT_MEDIUM        APPS_COMMON_IMG_DIR"contacts_caller_id_default.png"
+#define THUMBNAIL_DEFAULT_SMALL         APPS_COMMON_IMG_DIR"contacts_caller_id_default_02.png"
+#define THUMBNAIL_DEFAULT_LARGE         APPS_COMMON_IMG_DIR"contacts_caller_id_default_03.png"
+
+#define THUMBNAIL_BG_MEDIUM             APPS_COMMON_IMG_DIR"contacts_caller_id_default_bg.png"
+#define THUMBNAIL_BG_SMALL              APPS_COMMON_IMG_DIR"contacts_caller_id_default_bg_02.png"
+#define THUMBNAIL_BG_LARGE              APPS_COMMON_IMG_DIR"contacts_caller_id_default_bg_03.png"
+
+#define GROUP_THUMBNAIL_SMALL           "thumbnail_small"
+#define GROUP_THUMBNAIL_MEDIUM          "thumbnail_medium"
+#define GROUP_THUMBNAIL_LARGE           "thumbnail_large"
+
+#define GROUP_THUMBNAIL_DEFAULT_SMALL   "default_thumbnail_small"
+#define GROUP_THUMBNAIL_DEFAULT_MEDIUM  "default_thumbnail_medium"
+#define GROUP_THUMBNAIL_DEFAULT_LARGE   "default_thumbnail_large"
+
+#define THUMBNAIL_SMALL_SIZE 98
+#define THUMBNAIL_MEDIUM_SIZE 166
+#define THUMBNAIL_LARGE_SIZE 240
+
+#endif /* APPS_COMMON_THUMBNAIL_H */
diff --git a/lib-apps-common/res/apps-common/edje/apps-common-buttons.edc b/lib-apps-common/res/apps-common/edje/apps-common-buttons.edc
new file mode 100644 (file)
index 0000000..7a55abd
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "apps-common-colors.edc"
+
+#define BUTTON_CORNER_RADIUS "35"
+#define BUTTON_DEFAULT_H 78
+#define BUTTON_TEXT_H 54
+#define BUTTON_TEXT_X 20
+#define BUTTON_TEXT_Y ((BUTTON_DEFAULT_H-BUTTON_TEXT_H)/2)
+
+#define BUTTON_CIRCLE_SIZE 98
+#define BUTTON_CONTENT_SIZE 60
+#define BUTTON_CONTENT_REL (((BUTTON_CIRCLE_SIZE-BUTTON_CONTENT_SIZE)/2)/BUTTON_CIRCLE_SIZE)
+
+styles {
+       style {
+               name: "button_main";
+               base: "font=Tizen:style=Light font_size=40 align=center color=#ffffffff text_class="BUTTON_TEXT_CLASS" ellipsis=1.0";
+       }
+}
+
+collections {
+       base_scale: 2.6;
+
+       group {
+               name: "elm/button/base/custom";
+
+               parts {
+                       part {
+                               name: "tizen_vg_shape";
+                               type: SWALLOW;
+                               scale: 1;
+                               clip_to: "bg";
+                               description {
+                                       state: "default" 0.0;
+                               }
+                       }
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       color_class: BUTTON_COLOR_CLASS_NORMAL;
+                               }
+                               description {
+                                       state: "pressed" 0.0;
+                                       color_class: BUTTON_COLOR_CLASS_PRESSED;
+                               }
+                       }
+               }
+               programs {
+                       program {
+                               name: "pressed";
+                               signal: "mouse,down,*";
+                               source: "*";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "bg";
+                       }
+                       program {
+                               name: "unpressed";
+                               signal: "mouse,up,*";
+                               source: "*";
+                               action: STATE_SET "default" 0.0;
+                               target: "bg";
+                       }
+                       program {
+                               name: "clicked";
+                               signal: "mouse,clicked,*";
+                               source: "*";
+                               action: SIGNAL_EMIT "elm,action,click" "";
+                       }
+               }
+       }
+
+       group {
+               name: "elm/button/base/"BUTTON_STYLE_CUSTOM_DEFAULT;
+               inherit: "elm/button/base/custom";
+               data.item: "vector_ux" "default";
+               data.item: "corner_radius" BUTTON_CORNER_RADIUS;
+
+               parts {
+                       part {
+                               name: "elm.text";
+                               type: TEXTBLOCK;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 {
+                                               relative: 0.0 (BUTTON_TEXT_Y/BUTTON_DEFAULT_H);
+                                               offset: BUTTON_TEXT_X 0;
+                                       }
+                                       rel2 {
+                                               relative: 1.0 (1.0-(BUTTON_TEXT_Y/BUTTON_DEFAULT_H));
+                                               offset: -BUTTON_TEXT_X 0;
+                                       }
+                                       text {
+                                               style: "button_main";
+                                               min: 1 1;
+                                               ellipsis: -1;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "elm/button/base/"BUTTON_STYLE_CUSTOM_CIRCLE;
+               inherit: "elm/button/base/custom";
+               data.item: "vector_ux" "circle";
+
+               parts {
+                       part {
+                               name: "elm.swallow.content";
+                               type: SWALLOW;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: BUTTON_CONTENT_REL BUTTON_CONTENT_REL;
+                                       rel2.relative: (1.0-BUTTON_CONTENT_REL) (1.0-BUTTON_CONTENT_REL);
+                               }
+                       }
+               }
+       }
+}
diff --git a/lib-apps-common/res/apps-common/edje/apps-common-colors.edc b/lib-apps-common/res/apps-common/edje/apps-common-colors.edc
new file mode 100644 (file)
index 0000000..0d13a6d
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "AppsCommonButtons.h"
+
+color_classes {
+       color_class { //A03O003
+               name: "thumbnail_bg";
+               color:  255 255 255 255;
+       }
+       color_class { //A03O003L1
+               name: "thumbnail_default";
+               color:  61 185 204 128;
+       }
+       color_class {
+               name: BUTTON_COLOR_CLASS_NORMAL;
+               color: 82 198 216 255;
+       }
+       color_class {
+               name: BUTTON_COLOR_CLASS_PRESSED;
+               color: 48 139 153 255;
+       }
+       color_class { //W023 (Input Color 1)
+               name: "icon_expand";
+               color: 61 185 204 255;
+       }
+       color_class { //W0113 (Input Color 1)
+               name: "touch_icon_normal";
+               color: 61 185 204 255;
+       }
+       color_class { //W0113P
+               name: "touch_icon_pressed";
+               color: 34 104 115 255;
+       }
+}
diff --git a/lib-apps-common/res/apps-common/edje/apps-common-progressbar-layout.edc b/lib-apps-common/res/apps-common/edje/apps-common-progressbar-layout.edc
new file mode 100644 (file)
index 0000000..c588925
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "AppsCommonProgressbarLayout.h"
+
+collections {
+       base_scale: 2.6;
+       group {
+               name: GROUP_PROGRESSBAR_LAYOUT;
+
+               parts {
+                       spacer { "spacer.top"; scale;
+                               desc { "default";
+                                       min: 0 PROGRESSBAR_PAD_Y;
+                                       align: 0.5 0.0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 1.0 0.0;
+                               }
+                       }
+                       spacer { "spacer.left"; scale;
+                               desc { "default";
+                                       min: PROGRESSBAR_PAD_X 0;
+                                       align: 0.0 0.5;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 0.0 1.0;
+                               }
+                       }
+                       spacer { "spacer.right"; scale;
+                               desc { "default";
+                                       min: PROGRESSBAR_PAD_X 0;
+                                       align: 1.0 0.5;
+                                       rel1.relative: 1.0 0.0;
+                                       rel2.relative: 1.0 1.0;
+                               }
+                       }
+                       spacer { "spacer.bottom"; scale;
+                               desc { "default";
+                                       min: 0 PROGRESSBAR_PAD_Y;
+                                       align: 0.5 1.0;
+                                       rel1.relative: 0.0 1.0;
+                                       rel2.relative: 1.0 1.0;
+                               }
+                       }
+                       swallow { PART_PROGRESSBAR; scale;
+                               desc { "default";
+                                       rel1 { relative: 1.0 1.0; to_x: "spacer.left"; to_y: "spacer.top"; }
+                                       rel2 { relative: 0.0 0.0; to_x: "spacer.right"; to_y: "spacer.bottom"; }
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/lib-apps-common/res/apps-common/edje/apps-common-thumbnail.edc b/lib-apps-common/res/apps-common/edje/apps-common-thumbnail.edc
new file mode 100644 (file)
index 0000000..fc97f39
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "AppsCommonThumbnail.h"
+#include "apps-common-colors.edc"
+#include "apps-common-utils.edc"
+
+collections {
+       IMAGE_WITH_MASK(GROUP_THUMBNAIL_SMALL, THUMBNAIL_BG_SMALL)
+       IMAGE_WITH_MASK(GROUP_THUMBNAIL_MEDIUM, THUMBNAIL_BG_MEDIUM)
+       IMAGE_WITH_MASK(GROUP_THUMBNAIL_LARGE, THUMBNAIL_BG_LARGE)
+
+       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_SMALL, THUMBNAIL_DEFAULT_SMALL, "thumbnail_default", THUMBNAIL_BG_SMALL, "thumbnail_bg")
+       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_MEDIUM, THUMBNAIL_DEFAULT_MEDIUM, "thumbnail_default", THUMBNAIL_BG_MEDIUM, "thumbnail_bg")
+       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_LARGE, THUMBNAIL_DEFAULT_LARGE, "thumbnail_default", THUMBNAIL_BG_LARGE, "thumbnail_bg")
+}
diff --git a/lib-apps-common/res/apps-common/edje/apps-common-utils.edc b/lib-apps-common/res/apps-common/edje/apps-common-utils.edc
new file mode 100644 (file)
index 0000000..7973ffb
--- /dev/null
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define IMAGE_WITH_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: IMAGE_PATH COMP; \
+               parts { \
+                       part { name: "image"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: IMAGE_PATH; \
+                                       color_class: COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+       }
+
+#define IMAGE_WITH_BG_AND_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, BG_IMAGE_PATH, BG_COLOR_CLASS) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: BG_IMAGE_PATH COMP; \
+               images.image: IMAGE_PATH COMP; \
+               parts { \
+                       part { name: "image.bg"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: BG_IMAGE_PATH; \
+                                       color_class: BG_COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+               parts { \
+                       part { name: "image"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: IMAGE_PATH; \
+                                       color_class: COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+       }
+
+#define IMAGE_WITH_MASK(GROUP_NAME, MASK_PATH) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: MASK_PATH COMP; \
+               parts { \
+                       part { name: "image.mask"; \
+                               precise_is_inside: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: MASK_PATH; \
+                                       aspect: 1.0 1.0; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+               parts { \
+                       part { name: "elm.swallow.content"; \
+                               type: SWALLOW; \
+                               clip_to: "image.mask"; \
+                               description { \
+                                       state: "default" 0.0; \
+                               } \
+                       } \
+               } \
+       }
+
+#define IMAGE_WITH_PRESSED_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, PRESSED_COLOR_CLASS) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: IMAGE_PATH COMP; \
+               parts { \
+                       part { name: "image"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: IMAGE_PATH; \
+                                       color_class: COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                               description { \
+                                       state: "pressed" 0.0; \
+                                       inherit:  "default" 0.0; \
+                                       color_class: PRESSED_COLOR_CLASS; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { \
+                               name: "pressed"; \
+                               signal: "mouse,down,*"; \
+                               source: "*"; \
+                               action: STATE_SET "pressed" 0.0; \
+                               target: "image"; \
+                       } \
+                       program { \
+                               name: "unpressed"; \
+                               signal: "mouse,up,*"; \
+                               source: "*"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "image"; \
+                       } \
+               } \
+       }
+
+#define IMAGE_WITH_BG_PRESSED_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, BG_IMAGE_PATH, BG_COLOR_CLASS, PRESSED_BG_COLOR_CLASS) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: IMAGE_PATH COMP; \
+               images.image: BG_IMAGE_PATH COMP; \
+               parts { \
+                       part { name: "image.bg"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: BG_IMAGE_PATH; \
+                                       color_class: BG_COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                               description { \
+                                       state: "pressed" 0.0; \
+                                       inherit:  "default" 0.0; \
+                                       color_class: PRESSED_BG_COLOR_CLASS; \
+                               } \
+                       } \
+                       part { name: "image"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: IMAGE_PATH; \
+                                       color_class: COLOR_CLASS; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { \
+                               name: "pressed"; \
+                               signal: "mouse,down,*"; \
+                               source: "*"; \
+                               action: STATE_SET "pressed" 0.0; \
+                               target: "image.bg"; \
+                       } \
+                       program { \
+                               name: "unpressed"; \
+                               signal: "mouse,up,*"; \
+                               source: "*"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "image.bg"; \
+                       } \
+               } \
+       }
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default.png
new file mode 100644 (file)
index 0000000..7093c6b
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default.png differ
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default_02.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_02.png
new file mode 100644 (file)
index 0000000..95ba822
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_02.png differ
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default_03.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_03.png
new file mode 100644 (file)
index 0000000..808a289
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_03.png differ
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg.png
new file mode 100644 (file)
index 0000000..1653730
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg.png differ
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_02.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_02.png
new file mode 100644 (file)
index 0000000..cf0acc9
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_02.png differ
diff --git a/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_03.png b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_03.png
new file mode 100644 (file)
index 0000000..647d2a1
Binary files /dev/null and b/lib-apps-common/res/apps-common/images/contacts_caller_id_default_bg_03.png differ
diff --git a/lib-apps-common/src/App/AppControl.cpp b/lib-apps-common/src/App/AppControl.cpp
new file mode 100644 (file)
index 0000000..a3b1ed0
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "App/AppControl.h"
+#include "Utils/Logger.h"
+
+using namespace App;
+
+AppControl::AppControl()
+       : m_AppControl(nullptr), m_AutoTerminate(true)
+{
+}
+
+AppControl::AppControl(const char *operation, const char *mime, const char *uri)
+       : AppControl()
+{
+       app_control_create(&m_AppControl);
+       app_control_set_operation(m_AppControl, operation);
+       app_control_set_mime(m_AppControl, mime);
+       app_control_set_uri(m_AppControl, uri);
+}
+
+AppControl::AppControl(AppControl &&that)
+       : m_AppControl(that.m_AppControl), m_AutoTerminate(that.m_AutoTerminate)
+{
+       that.m_AppControl = nullptr;
+}
+
+AppControl::~AppControl()
+{
+       reset();
+}
+
+app_control_h AppControl::getHandle() const
+{
+       return m_AppControl;
+}
+
+void AppControl::addExtra(const char *key, const char *value)
+{
+       app_control_add_extra_data(m_AppControl, key, value);
+}
+
+void AppControl::addExtra(const char *key, const char **array, int length)
+{
+       app_control_add_extra_data_array(m_AppControl, key, array, length);
+}
+
+int AppControl::launch(app_control_reply_cb replyCallback, void *userData,
+               bool groupMode)
+{
+       if (groupMode) {
+               app_control_set_launch_mode(m_AppControl, APP_CONTROL_LAUNCH_MODE_GROUP);
+       }
+
+       int result = app_control_send_launch_request(m_AppControl, replyCallback, userData);
+       WARN_IF_ERR(result, "app_control_send_launch_request() failed.");
+
+       return result;
+}
+
+void AppControl::terminate()
+{
+       app_control_send_terminate_request(m_AppControl);
+}
+
+void AppControl::detach()
+{
+       m_AutoTerminate = false;
+}
+
+AppControl &AppControl::operator=(AppControl &&that)
+{
+       reset();
+       m_AppControl = that.m_AppControl;
+       m_AutoTerminate = that.m_AutoTerminate;
+       that.m_AppControl = nullptr;
+
+       return *this;
+}
+
+void AppControl::reset()
+{
+       if (m_AppControl) {
+               if (m_AutoTerminate) {
+                       terminate();
+               }
+               app_control_destroy(m_AppControl);
+       }
+}
diff --git a/lib-apps-common/src/App/AppControlRequest.cpp b/lib-apps-common/src/App/AppControlRequest.cpp
new file mode 100644 (file)
index 0000000..fa9ca51
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "App/AppControlRequest.h"
+#include "Utils/Logger.h"
+
+using namespace App;
+
+AppControl App::requestContactCreate(const char *number)
+{
+       AppControl request(APP_CONTROL_OPERATION_ADD, APP_CONTROL_MIME_CONTACT);
+       request.addExtra(APP_CONTROL_DATA_PHONE, number);
+       return request;
+}
+
+AppControl App::requestContactDetails(int personId)
+{
+       AppControl request(APP_CONTROL_OPERATION_VIEW, APP_CONTROL_MIME_CONTACT);
+       request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
+       return request;
+}
+
+AppControl App::requestContactEdit(int personId, const char *number)
+{
+       AppControl request(APP_CONTROL_OPERATION_EDIT, APP_CONTROL_MIME_CONTACT);
+       if (personId > 0) {
+               request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
+       }
+
+       request.addExtra(APP_CONTROL_DATA_PHONE, number);
+       return request;
+}
+
+AppControl App::requestContactPick(const char *selectionMode, const char *resultType)
+{
+       AppControl request(APP_CONTROL_OPERATION_PICK, APP_CONTROL_MIME_CONTACT);
+       request.addExtra(APP_CONTROL_DATA_SELECTION_MODE, selectionMode);
+       request.addExtra(APP_CONTROL_DATA_TYPE, resultType);
+       return request;
+}
+
+AppControl App::requestTelephonyCall(const char *number)
+{
+       return AppControl(APP_CONTROL_OPERATION_CALL, nullptr,
+                       std::string("tel:").append(number).c_str());
+}
+
+AppControl App::requestCallSettings()
+{
+       return AppControl(APP_CONTROL_OPERATION_SETTING_CALL);
+}
+
+AppControl App::requestMessageComposer(const char *scheme, const char *to,
+               const char *subject, const char *text)
+{
+       AppControl request(APP_CONTROL_OPERATION_COMPOSE, nullptr,
+                       std::string(scheme).append(to).c_str());
+       request.addExtra(APP_CONTROL_DATA_TITLE, subject);
+       request.addExtra(APP_CONTROL_DATA_TEXT, text);
+       return request;
+}
+
+AppControl App::requestCameraImage()
+{
+       return AppControl(APP_CONTROL_OPERATION_CREATE_CONTENT, "image/*");
+}
+
+AppControl App::requestGalleryImage()
+{
+       return AppControl(APP_CONTROL_OPERATION_PICK, "image/*");
+}
+
+AppControl App::requestShareContact(int personId)
+{
+       AppControl request(APP_CONTROL_OPERATION_SHARE, APP_CONTROL_MIME_CONTACT);
+       request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
+       return request;
+}
+
+AppControl App::requestShareMyProfile(int recordId)
+{
+       AppControl request = requestShareContact(recordId);
+       request.addExtra(APP_CONTROL_DATA_TYPE, "my_profile");
+       return request;
+}
+
+std::string App::getSingleExtraData(app_control_h appControl, const char *key)
+{
+       std::string result;
+       char **array = nullptr;
+       int count = 0;
+
+       int err = app_control_get_extra_data_array(appControl, key, &array, &count);
+       RETVM_IF_ERR(err, result, "app_control_get_extra_data_array() failed.");
+
+       if (array && array[0]) {
+               result = array[0];
+       }
+
+       for (int i = 0; i < count; ++i) {
+               free(array[i]);
+       }
+       free(array);
+
+       return result;
+}
+
+std::vector<int> App::getIntExtraDataArray(app_control_h appControl, const char *key)
+{
+       std::vector<int> result;
+       char **array = nullptr;
+       int count = 0;
+
+       int err = app_control_get_extra_data_array(appControl, key, &array, &count);
+       RETVM_IF_ERR(err, result, "app_control_get_extra_data_array() failed.");
+       result.reserve(count);
+
+       for (int i = 0; i < count; ++i) {
+               int value = atoi(array[i]);
+               result.push_back(value);
+               free(array[i]);
+       }
+       free(array);
+
+       return result;
+}
diff --git a/lib-apps-common/src/App/Application.cpp b/lib-apps-common/src/App/Application.cpp
new file mode 100644 (file)
index 0000000..02e19a6
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "App/Application.h"
+#include "Utils/Callback.h"
+
+using namespace App;
+
+int Application::run(int argc, char **argv)
+{
+       ui_app_lifecycle_callback_s cbs;
+       cbs.create = makeCallback(&Application::onCreate);
+       cbs.terminate = makeCallback(&Application::onTerminate);
+       cbs.pause = makeCallback(&Application::onPause);
+       cbs.resume = makeCallback(&Application::onResume);
+       cbs.app_control = makeCallbackWithLastParam(&Application::onAppControl);
+
+       return ui_app_main(argc, argv, &cbs, this);
+}
diff --git a/lib-apps-common/src/App/Path.cpp b/lib-apps-common/src/App/Path.cpp
new file mode 100644 (file)
index 0000000..4a947ed
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "App/Path.h"
+
+#include <app.h>
+
+const std::string &App::getLocaleDir()
+{
+       static std::string localeDir;
+       if (localeDir.empty()) {
+               #ifdef LOCALE_DIR
+                       localeDir = LOCALE_DIR;
+               #else
+                       localeDir = getResourcePath("locale/");
+               #endif
+       }
+
+       return localeDir;
+}
+
+const std::string &App::getResourceDir()
+{
+       static std::string resDir;
+       if (resDir.empty()) {
+               #ifdef RES_DIR
+                       resDir = RES_DIR;
+               #else
+                       char *path = app_get_resource_path();
+                       resDir = path;
+                       free(path);
+               #endif
+       }
+
+       return resDir;
+}
+
+std::string App::getResourcePath(const std::string &relativePath)
+{
+       return std::string(getResourceDir()).append(relativePath);
+}
diff --git a/lib-apps-common/src/Ui/Button.cpp b/lib-apps-common/src/Ui/Button.cpp
new file mode 100644 (file)
index 0000000..96b4667
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Button.h"
+#include "Utils/Callback.h"
+
+#include <Ecore.h>
+
+using namespace Ui;
+
+Button::Button()
+       : m_Timer(nullptr), m_IsLongpressed(false)
+{
+}
+
+Button::~Button()
+{
+       resetTimer();
+}
+
+void Button::setPressedCallback(std::function<void(Button&)> callback)
+{
+       m_OnPressed = std::move(callback);
+}
+
+void Button::setLongpressedCallback(std::function<bool(Button&)> callback)
+{
+       m_OnLongpressed = std::move(callback);
+}
+
+Evas_Object *Button::onCreate(Evas_Object *parent)
+{
+       Evas_Object *button = elm_button_add(parent);
+       return button;
+}
+
+void Button::onCreated()
+{
+       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_DOWN,
+                       makeCallback(&Button::onMouseDown), this);
+       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_UP,
+                       makeCallback(&Button::onMouseUp), this);
+       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_OUT,
+                       makeCallback(&Button::onMouseOut), this);
+}
+
+void Button::onMouseDown(Evas *evas, Evas_Object *obj, void *eventInfo)
+{
+       m_IsLongpressed = false;
+       m_Timer = ecore_timer_add(elm_config_longpress_timeout_get(),
+               makeCallback(&Button::onTimeout), this);
+}
+
+void Button::onMouseUp(Evas *evas, Evas_Object *obj, void *eventInfo)
+{
+       Evas_Event_Mouse_Up *e = (Evas_Event_Mouse_Up *) eventInfo;
+
+       if (!m_IsLongpressed) {
+               int x = 0, y = 0, w = 0, h = 0;
+               evas_object_geometry_get(obj, &x, &y, &w, &h);
+
+               if (m_OnPressed) {
+                       if (e->output.x >= x && e->output.x <= x + w
+                        && e->output.y >= y && e->output.x <= y + h) {
+                               m_OnPressed(*this);
+                       }
+               }
+
+               resetTimer();
+       }
+}
+
+void Button::onMouseOut(Evas *evas, Evas_Object *obj, void *eventInfo)
+{
+       resetTimer();
+}
+
+void Button::resetTimer()
+{
+       ecore_timer_del(m_Timer);
+       m_Timer = nullptr;
+}
+
+Eina_Bool Button::onTimeout()
+{
+       if (m_OnLongpressed) {
+               m_IsLongpressed = m_OnLongpressed(*this);
+       }
+
+       resetTimer();
+       return ECORE_CALLBACK_CANCEL;
+}
diff --git a/lib-apps-common/src/Ui/Control.cpp b/lib-apps-common/src/Ui/Control.cpp
new file mode 100644 (file)
index 0000000..5cf8d81
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Control.h"
+#include "Ui/Window.h"
+#include "Utils/Callback.h"
+
+#define CONTROL_DATA_KEY "Ui::Control"
+
+using namespace Ui;
+
+Control::Control()
+       : m_Object(nullptr)
+{
+}
+
+Control::~Control()
+{
+       destroyEvasObject();
+}
+
+Evas_Object *Control::create(Evas_Object *parent)
+{
+       if (!m_Object) {
+               setEvasObject(onCreate(parent));
+               onCreated();
+       }
+
+       return m_Object;
+}
+
+Evas_Object *Control::getEvasObject() const
+{
+       return m_Object;
+}
+
+Window *Control::getWindow() const
+{
+       return getWindow(getEvasObject());
+}
+
+Control *Control::getControl(Evas_Object *object)
+{
+       return (Control *) evas_object_data_get(object, CONTROL_DATA_KEY);
+}
+
+Window *Control::getWindow(Evas_Object *object)
+{
+       Evas_Object *window = elm_object_top_widget_get(object);
+       return static_cast<Window *>(getControl(window));
+}
+
+void Control::setEvasObject(Evas_Object *object)
+{
+       m_Object = object;
+       if (!evas_object_data_get(m_Object, CONTROL_DATA_KEY)) {
+               evas_object_data_set(m_Object, CONTROL_DATA_KEY, this);
+       }
+
+       evas_object_event_callback_add(m_Object, EVAS_CALLBACK_FREE,
+                       makeCallback(&Control::onDestroy), this);
+}
+
+Evas_Object *Control::resetEvasObject()
+{
+       Evas_Object *object = m_Object;
+       evas_object_event_callback_del_full(m_Object, EVAS_CALLBACK_FREE,
+                       makeCallback(&Control::onDestroy), this);
+       m_Object = nullptr;
+       return object;
+}
+
+void Control::destroyEvasObject()
+{
+       if (m_Object) {
+               evas_object_del(resetEvasObject());
+       }
+}
+
+void Control::onDestroy(Evas *e, Evas_Object *obj, void *event_info)
+{
+       resetEvasObject();
+       delete this;
+}
diff --git a/lib-apps-common/src/Ui/DatePopup.cpp b/lib-apps-common/src/Ui/DatePopup.cpp
new file mode 100644 (file)
index 0000000..479d3b1
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/DatePopup.h"
+
+using namespace Ui;
+
+DatePopup::DatePopup(tm date)
+       : m_Date(date), m_DatePicker(nullptr)
+{
+}
+
+void DatePopup::setResultCallback(ResultCallback callback)
+{
+       m_OnResult = std::move(callback);
+}
+
+void DatePopup::onCreated()
+{
+       setTitle("IDS_ST_BODY_SET_DATE");
+       addButton("IDS_PB_BUTTON_CANCEL");
+       addButton("IDS_PB_SK_SET", [this] {
+               onSetPressed();
+               return true;
+       });
+
+       m_DatePicker = elm_datetime_add(getEvasObject());
+       elm_datetime_format_set(m_DatePicker, "%%x");
+       elm_datetime_value_set(m_DatePicker, &m_Date);
+       setContent(m_DatePicker);
+}
+
+void DatePopup::onSetPressed()
+{
+       if (m_OnResult) {
+               elm_datetime_value_get(m_DatePicker, &m_Date);
+               m_OnResult(m_Date);
+       }
+}
diff --git a/lib-apps-common/src/Ui/Editfield.cpp b/lib-apps-common/src/Ui/Editfield.cpp
new file mode 100644 (file)
index 0000000..22405bf
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Editfield.h"
+
+#include <Elementary.h>
+
+using namespace Ui;
+
+Editfield *Editfield::create(Evas_Object *parent, const char *guideText)
+{
+       Editfield *editfield = new Editfield();
+       editfield->create(parent);
+       editfield->setGuideText(guideText);
+       return editfield;
+}
+
+Evas_Object *Editfield::onCreate(Evas_Object *parent)
+{
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_theme_set(layout, "layout", "editfield", "singleline");
+
+       Evas_Object *entry = elm_entry_add(parent);
+       elm_entry_single_line_set(entry, EINA_TRUE);
+       elm_entry_scrollable_set(entry, EINA_TRUE);
+       elm_object_part_content_set(layout, "elm.swallow.content", entry);
+
+       evas_object_smart_callback_add(entry, "changed", (Evas_Smart_Cb) onChanged, layout);
+       evas_object_smart_callback_add(entry, "focused", (Evas_Smart_Cb) onFocused, layout);
+       evas_object_smart_callback_add(entry, "unfocused", (Evas_Smart_Cb) onUnfocused, layout);
+
+       Evas_Object *button = elm_button_add(parent);
+       elm_object_style_set(button, "editfield_clear");
+       elm_object_focus_allow_set(button, EINA_FALSE);
+       elm_object_part_content_set(layout, "elm.swallow.button", button);
+       evas_object_smart_callback_add(button, "clicked", (Evas_Smart_Cb) onClearPressed, entry);
+
+       return layout;
+}
+
+void Editfield::setGuideText(const char *guideText)
+{
+       elm_object_translatable_part_text_set(getEntry(), "elm.guide", guideText);
+}
+
+Evas_Object *Editfield::getEntry()
+{
+       return elm_object_part_content_get(getEvasObject(), "elm.swallow.content");
+}
+
+Evas_Object *Editfield::getClearButton()
+{
+       return elm_object_part_content_get(getEvasObject(), "elm.swallow.button");
+}
+
+void Editfield::onChanged(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
+{
+       if (elm_entry_is_empty(entry)) {
+               elm_object_signal_emit(layout, "elm,action,hide,button", "");
+       } else {
+               elm_object_signal_emit(layout, "elm,action,show,button", "");
+       }
+}
+
+void Editfield::onFocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
+{
+       elm_object_signal_emit(layout, "elm,state,focused", "");
+}
+
+void Editfield::onUnfocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
+{
+       elm_object_signal_emit(layout, "elm,state,unfocused", "");
+}
+
+void Editfield::onClearPressed(Evas_Object *entry, Evas_Object *button, void *eventInfo)
+{
+       elm_entry_entry_set(entry, "");
+       elm_object_focus_set(entry, EINA_TRUE);
+}
diff --git a/lib-apps-common/src/Ui/Genlist.cpp b/lib-apps-common/src/Ui/Genlist.cpp
new file mode 100644 (file)
index 0000000..81ff914
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Genlist.h"
+#include "Ui/GenlistGroupItem.h"
+
+using namespace Ui;
+
+Evas_Object *Genlist::onCreate(Evas_Object *parent)
+{
+       Evas_Object *genlist = elm_genlist_add(parent);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+       evas_object_smart_callback_add(genlist, "selected",
+                       (Evas_Smart_Cb) &Genlist::onItemSelected, this);
+       evas_object_smart_callback_add(genlist, "expanded",
+                       (Evas_Smart_Cb) &Genlist::onItemExpanded, this);
+       evas_object_smart_callback_add(genlist, "contracted",
+                       (Evas_Smart_Cb) &Genlist::onItemContracted, this);
+       evas_object_smart_callback_add(genlist, "realized",
+                       (Evas_Smart_Cb) &Genlist::onItemRealized, this);
+       evas_object_smart_callback_add(genlist, "unrealized",
+                       (Evas_Smart_Cb) &Genlist::onItemUnrealized, this);
+
+       return genlist;
+}
+
+GenlistItem *Genlist::getFirstItem() const
+{
+       Elm_Object_Item *item = elm_genlist_first_item_get(getEvasObject());
+       return (GenlistItem *) elm_object_item_data_get(item);
+}
+
+GenlistItem *Genlist::getLastItem() const
+{
+       Elm_Object_Item *item = elm_genlist_last_item_get(getEvasObject());
+       return (GenlistItem *) elm_object_item_data_get(item);
+}
+
+GenlistIterator Genlist::begin() const
+{
+       return getFirstItem();
+}
+
+GenlistIterator Genlist::end() const
+{
+       return nullptr;
+}
+
+void Genlist::insert(GenlistItem *item, GenlistGroupItem *parent,
+               GenlistItem *sibling, Position position)
+{
+       if (!item) {
+               return;
+       }
+
+       if (item->m_Item) {
+               item->pop();
+       }
+
+       Elm_Object_Item *parentItem = parent ? parent->getObjectItem() : nullptr;
+       if (sibling) {
+               auto insert = (position == Before) ? elm_genlist_item_insert_before : elm_genlist_item_insert_after;
+               item->onInserted(insert(getEvasObject(), item->getItemClass(), item,
+                               parentItem, sibling->getObjectItem(), item->getType(), nullptr, nullptr));
+       } else {
+               auto insert = (position == Before) ? elm_genlist_item_append : elm_genlist_item_prepend;
+               item->onInserted(insert(getEvasObject(), item->getItemClass(), item,
+                               parentItem, item->getType(), nullptr, nullptr));
+       }
+}
+
+void Genlist::update(const char *parts, Elm_Genlist_Item_Field_Type type)
+{
+       Eina_List *list = elm_genlist_realized_items_get(getEvasObject());
+       Eina_List *node = nullptr;
+       void *item = nullptr;
+       EINA_LIST_FOREACH(list, node, item) {
+               elm_genlist_item_fields_update((Elm_Object_Item *) item, parts, type);
+       }
+
+       eina_list_free(list);
+}
+
+void Genlist::onItemSelected(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
+{
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       if (item) {
+               item->onSelected(objectItem);
+       }
+}
+
+void Genlist::onItemExpanded(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
+{
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       if (item && item->isGroupItem()) {
+               dynamic_cast<GenlistGroupItem *>(item)->onExpanded(true);
+       }
+}
+
+void Genlist::onItemContracted(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
+{
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       if (item && item->isGroupItem()) {
+               dynamic_cast<GenlistGroupItem *>(item)->onExpanded(false);
+       }
+}
+
+void Genlist::onItemRealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
+{
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       if (item) {
+               item->onRealized(objectItem);
+       }
+}
+
+void Genlist::onItemUnrealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
+{
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       if (item) {
+               item->onUnrealized(objectItem);
+       }
+}
diff --git a/lib-apps-common/src/Ui/GenlistCheckItem.cpp b/lib-apps-common/src/Ui/GenlistCheckItem.cpp
new file mode 100644 (file)
index 0000000..73081a3
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/GenlistCheckItem.h"
+#include "Utils/Callback.h"
+
+using namespace Ui;
+
+GenlistCheckItem::GenlistCheckItem()
+       : m_IsChecked(false)
+{ }
+
+bool GenlistCheckItem::isChecked() const
+{
+       return m_IsChecked;
+}
+
+void GenlistCheckItem::setChecked(bool isChecked)
+{
+       Evas_Object *check = elm_object_item_part_content_get(getObjectItem(), m_CheckPart.c_str());
+       if (check) {
+               elm_check_state_set(check, isChecked);
+       } else {
+               m_IsChecked = isChecked;
+       }
+}
+
+void GenlistCheckItem::setCheckCallback(CheckCallback callback)
+{
+       m_OnChecked = std::move(callback);
+}
+
+Evas_Object *GenlistCheckItem::getContent(Evas_Object *parent, const char *part)
+{
+       m_CheckPart = part;
+
+       Elm_Check *check = elm_check_add(parent);
+       elm_check_state_set(check, m_IsChecked);
+       elm_check_state_pointer_set(check, &m_IsChecked);
+       evas_object_propagate_events_set(check, EINA_FALSE);
+       evas_object_smart_callback_add(check, "changed",
+                       makeCallback(&GenlistCheckItem::onCheckChanged), this);
+
+       return check;
+}
+
+void GenlistCheckItem::onSelected()
+{
+       setChecked(!m_IsChecked);
+       onChecked();
+}
+
+void GenlistCheckItem::onChecked()
+{
+       onChecked(m_IsChecked);
+
+       if (m_OnChecked) {
+               m_OnChecked(m_IsChecked);
+       }
+}
+
+void GenlistCheckItem::onCheckChanged(Evas_Object *check, void *eventInfo)
+{
+       onChecked();
+}
diff --git a/lib-apps-common/src/Ui/GenlistGroupItem.cpp b/lib-apps-common/src/Ui/GenlistGroupItem.cpp
new file mode 100644 (file)
index 0000000..e52ad07
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/GenlistGroupItem.h"
+#include "Ui/Genlist.h"
+#include <algorithm>
+
+using namespace Ui;
+
+GenlistGroupItem::GenlistGroupItem()
+       : m_FirstItem(nullptr), m_LastItem(nullptr)
+{
+}
+
+GenlistGroupItem::~GenlistGroupItem()
+{
+       for (auto &&item : m_ItemsCache) {
+               delete item;
+       }
+}
+
+GenlistIterator GenlistGroupItem::begin()
+{
+       return m_FirstItem;
+}
+
+GenlistIterator GenlistGroupItem::end()
+{
+       return m_LastItem ? m_LastItem->getNextItem() : nullptr;
+}
+
+bool GenlistGroupItem::empty() const
+{
+       return m_FirstItem == nullptr;
+}
+
+bool GenlistGroupItem::isExpanded() const
+{
+       Elm_Object_Item *item = getObjectItem();
+       if (!item) {
+               return false;
+       }
+
+       if (getType() == ELM_GENLIST_ITEM_TREE) {
+               return elm_genlist_item_expanded_get(item);
+       }
+
+       return true;
+}
+
+GenlistGroupItem *GenlistGroupItem::getNextGroupItem() const
+{
+       GenlistItem *item = m_LastItem ? m_LastItem->getNextItem() : getNextItem();
+       if (item && item->isGroupItem()) {
+               return dynamic_cast<GenlistGroupItem *>(item);
+       }
+
+       return nullptr;
+}
+
+GenlistGroupItem *GenlistGroupItem::getPrevGroupItem() const
+{
+       GenlistItem *item = getPrevItem();
+       if (item) {
+               if (item->isGroupItem()) {
+                       return dynamic_cast<GenlistGroupItem *>(item);
+               } else {
+                       return item->getParentItem();
+               }
+       }
+
+       return nullptr;
+}
+
+void GenlistGroupItem::insertSubItem(GenlistItem *item, GenlistItem *sibling,
+               Genlist::Position position)
+{
+       if (!item) {
+               return;
+       }
+
+       Genlist *genlist = getParent();
+       if (genlist && isExpanded()) {
+               genlist->insert(item, this, sibling, position);
+       } else {
+               auto pos = m_ItemsCache.end();
+               if (sibling) {
+                       pos = std::find(m_ItemsCache.begin(), m_ItemsCache.end(), sibling);
+               }
+
+               if (pos != m_ItemsCache.end()) {
+                       if (position == Genlist::After) {
+                               ++pos;
+                       }
+               } else {
+                       if (position == Genlist::After) {
+                               pos = m_ItemsCache.begin();
+                       }
+               }
+
+               m_ItemsCache.insert(pos, item);
+       }
+}
+
+Elm_Genlist_Item_Class *GenlistGroupItem::getItemClass() const
+{
+       static Elm_Genlist_Item_Class itc = createItemClass("group_index");
+       return &itc;
+}
+
+void GenlistGroupItem::onInserted()
+{
+       if (isExpanded()) {
+               insertSubItems();
+       }
+}
+
+void GenlistGroupItem::onPop()
+{
+       popSubItems();
+}
+
+void GenlistGroupItem::onExpanded(bool isExpanded)
+{
+       if (isExpanded) {
+               insertSubItems();
+       } else {
+               popSubItems();
+       }
+}
+
+void GenlistGroupItem::insertSubItems()
+{
+       Genlist *genlist = getParent();
+       if (genlist) {
+               for (auto &&item : m_ItemsCache) {
+                       genlist->insert(item, this);
+               }
+               m_ItemsCache.clear();
+       }
+}
+
+void GenlistGroupItem::popSubItems()
+{
+       for (auto it = begin(), endIt = end(); it != endIt; ) {
+               GenlistItem *item = *it++;
+               item->pop();
+               m_ItemsCache.push_back(item);
+       }
+}
+
+void GenlistGroupItem::onSubItemInserted(GenlistItem *item)
+{
+       if (!m_FirstItem) {
+               m_FirstItem = m_LastItem = item;
+               return;
+       }
+
+       if (item->getNextItem() == m_FirstItem) {
+               m_FirstItem = item;
+       } else if (item->getPrevItem() == m_LastItem) {
+               m_LastItem = item;
+       }
+}
+
+void GenlistGroupItem::onSubItemDestroy(GenlistItem *item)
+{
+       if (m_FirstItem == m_LastItem) {
+               m_FirstItem = m_LastItem = nullptr;
+               return;
+       }
+
+       if (item == m_FirstItem) {
+               m_FirstItem = item->getNextItem();
+       } else if (item == m_LastItem) {
+               m_LastItem = item->getPrevItem();
+       }
+}
diff --git a/lib-apps-common/src/Ui/GenlistItem.cpp b/lib-apps-common/src/Ui/GenlistItem.cpp
new file mode 100644 (file)
index 0000000..6d5c917
--- /dev/null
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/GenlistItem.h"
+#include "Ui/GenlistGroupItem.h"
+#include "Ui/Genlist.h"
+#include "Utils/Callback.h"
+
+using namespace Ui;
+
+GenlistItem::GenlistItem()
+       : m_Item(nullptr), m_Preserve(false),
+         m_IsRealized(false), m_IsFocusPending(false)
+{
+}
+
+GenlistItem::~GenlistItem()
+{
+       if (m_Item) {
+               pop();
+       }
+}
+
+bool GenlistItem::isRealized() const
+{
+       return m_IsRealized;
+}
+
+Elm_Object_Item *GenlistItem::getObjectItem() const
+{
+       return m_Item;
+}
+
+Genlist *GenlistItem::getParent() const
+{
+       Evas_Object *genlist = elm_object_item_widget_get(getObjectItem());
+       return static_cast<Genlist *>(Control::getControl(genlist));
+}
+
+GenlistGroupItem *GenlistItem::getParentItem() const
+{
+       Elm_Object_Item *objectItem = elm_genlist_item_parent_get(getObjectItem());
+       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
+       return dynamic_cast<GenlistGroupItem *>(item);
+}
+
+GenlistItem *GenlistItem::getNextItem() const
+{
+       Elm_Object_Item *item = elm_genlist_item_next_get(getObjectItem());
+       return (GenlistItem *) elm_object_item_data_get(item);
+}
+
+GenlistItem *GenlistItem::getPrevItem() const
+{
+       Elm_Object_Item *item = elm_genlist_item_prev_get(getObjectItem());
+       return (GenlistItem *) elm_object_item_data_get(item);
+}
+
+void GenlistItem::setSelectCallback(SelectCallback callback)
+{
+       m_OnSelected = std::move(callback);
+}
+
+void GenlistItem::scrollTo(Elm_Genlist_Item_Scrollto_Type position, bool isAnimated)
+{
+       auto scroll = isAnimated ? elm_genlist_item_bring_in : elm_genlist_item_show;
+       scroll(getObjectItem(), position);
+}
+
+void GenlistItem::focus(Elm_Genlist_Item_Scrollto_Type position, bool isAnimated)
+{
+       scrollTo(position, isAnimated);
+       if (m_IsRealized) {
+               onFocused();
+       } else {
+               m_IsFocusPending = true;
+       }
+}
+
+void GenlistItem::pop()
+{
+       onPop();
+
+       GenlistGroupItem *parent = getParentItem();
+       if (parent) {
+               parent->onSubItemDestroy(this);
+       }
+
+       m_Preserve = true;
+       elm_object_item_del(m_Item);
+       m_Preserve = false;
+}
+
+Elm_Genlist_Item_Class GenlistItem::createItemClass(const char *style,
+               const char *decorateStyle, const char *editStyle)
+{
+       Elm_Genlist_Item_Class itc = { ELM_GEN_ITEM_CLASS_HEADER, 0 };
+       itc.item_style = style;
+       itc.decorate_item_style = decorateStyle;
+       itc.decorate_all_item_style = editStyle;
+       itc.func.text_get = makeCallback(&GenlistItem::getText);
+       itc.func.content_get = makeCallback(&GenlistItem::getContent);
+       itc.func.state_get = makeCallback(&GenlistItem::getState);
+       itc.func.del = makeCallback(&GenlistItem::onDestroy);
+
+       return itc;
+}
+
+Elm_Genlist_Item_Class *GenlistItem::getItemClass() const
+{
+       static Elm_Genlist_Item_Class itc = createItemClass("type1");
+       return &itc;
+}
+
+void GenlistItem::onInserted(Elm_Object_Item *item)
+{
+       m_Item = item;
+       GenlistGroupItem *parent = getParentItem();
+       if (parent) {
+               parent->onSubItemInserted(this);
+       }
+       onInserted();
+}
+
+void GenlistItem::onDestroy(Evas_Object *genlist)
+{
+       m_Item = nullptr;
+       if (!m_Preserve) {
+               delete this;
+       }
+}
+
+void GenlistItem::onSelected(Elm_Object_Item *item)
+{
+       elm_genlist_item_selected_set(item, EINA_FALSE);
+       onSelected();
+
+       if (m_OnSelected) {
+               m_OnSelected();
+       }
+}
+
+void GenlistItem::onRealized(Elm_Object_Item *item)
+{
+       if (!m_Item) {
+               m_Item = item;
+       }
+
+       m_IsRealized = true;
+       onRealized();
+
+       if (m_IsFocusPending) {
+               onFocused();
+               m_IsFocusPending = false;
+       }
+}
+
+void GenlistItem::onUnrealized(Elm_Object_Item *item)
+{
+       m_IsRealized = false;
+       onUnrealized();
+}
diff --git a/lib-apps-common/src/Ui/GenlistIterator.cpp b/lib-apps-common/src/Ui/GenlistIterator.cpp
new file mode 100644 (file)
index 0000000..51f7e14
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/GenlistIterator.h"
+#include "Ui/GenlistItem.h"
+
+using namespace Ui;
+
+GenlistIterator::GenlistIterator(GenlistItem *item)
+       : m_Item(item)
+{
+}
+
+GenlistIterator &GenlistIterator::operator++()
+{
+       if (m_Item) {
+               m_Item = m_Item->getNextItem();
+       }
+       return *this;
+}
+
+GenlistIterator GenlistIterator::operator++(int)
+{
+       auto it(*this);
+       ++*this;
+       return it;
+}
+
+GenlistIterator &GenlistIterator::operator--()
+{
+       if (m_Item) {
+               m_Item = m_Item->getPrevItem();
+       }
+       return *this;
+}
+
+GenlistIterator GenlistIterator::operator--(int)
+{
+       auto it(*this);
+       --*this;
+       return it;
+}
+
+GenlistItem *GenlistIterator::operator*() const
+{
+       return m_Item;
+}
+
+bool GenlistIterator::operator!=(const GenlistIterator &that) const
+{
+       return m_Item != that.m_Item;
+}
diff --git a/lib-apps-common/src/Ui/Hoversel.cpp b/lib-apps-common/src/Ui/Hoversel.cpp
new file mode 100644 (file)
index 0000000..ccd072a
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Hoversel.h"
+#include "Ui/Window.h"
+#include "Utils/Callback.h"
+
+#include <efl_extension.h>
+
+using namespace Ui;
+
+Elm_Object_Item *Hoversel::addItem(const char *text, int value)
+{
+       Elm_Object_Item *item = elm_hoversel_item_add(getEvasObject(), text,
+                       nullptr, ELM_ICON_NONE, nullptr, (void *) (long) value);
+       elm_object_item_text_translatable_set(item, EINA_TRUE);
+       return item;
+}
+
+void Hoversel::setText(const char *text)
+{
+       elm_object_translatable_text_set(getEvasObject(), text);
+}
+
+void Hoversel::setSelectedCallback(SelectedCallback callback)
+{
+       m_OnSelected = std::move(callback);
+}
+
+Evas_Object *Hoversel::onCreate(Evas_Object *parent)
+{
+       Evas_Object *hoverParent = parent;
+       Window *window = getWindow(parent);
+       if (window) {
+               hoverParent = window->getBaseLayout();
+       }
+
+       Evas_Object *hoversel = elm_hoversel_add(parent);
+       elm_hoversel_hover_parent_set(hoversel, hoverParent);
+
+       evas_object_smart_callback_add(hoversel, "selected",
+                       (Evas_Smart_Cb) makeCallback(&Hoversel::onSelected), this);
+       evas_object_smart_callback_add(hoversel, "expanded",
+                       &Hoversel::onExpanded, this);
+       evas_object_smart_callback_add(hoversel, "dismissed",
+                       &Hoversel::onDismissed, this);
+
+       return hoversel;
+}
+
+void Hoversel::onSelected(Evas_Object *hoversel, Elm_Object_Item *item)
+{
+       int value = (long) elm_object_item_data_get(item);
+       if (!m_OnSelected || m_OnSelected(value)) {
+               setText(elm_object_item_translatable_text_get(item));
+       }
+}
+
+void Hoversel::onExpanded(void *data, Evas_Object *hoversel, void *eventInfo)
+{
+       eext_object_event_callback_add(hoversel, EEXT_CALLBACK_BACK,
+                       &Hoversel::onBackPressed, nullptr);
+}
+
+void Hoversel::onDismissed(void *data, Evas_Object *hoversel, void *eventInfo)
+{
+       eext_object_event_callback_del(hoversel, EEXT_CALLBACK_BACK,
+                       &Hoversel::onBackPressed);
+}
+
+void Hoversel::onBackPressed(void *data, Evas_Object *hoversel, void *eventInfo)
+{
+       elm_hoversel_hover_end(hoversel);
+}
diff --git a/lib-apps-common/src/Ui/ListPopup.cpp b/lib-apps-common/src/Ui/ListPopup.cpp
new file mode 100644 (file)
index 0000000..6cf7bc0
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/ListPopup.h"
+#include <app_i18n.h>
+
+using namespace Ui;
+
+struct ListPopup::ItemData
+{
+       std::string text;
+       void *userData;
+       ItemSelectedCallback callback;
+};
+
+ListPopup::ListPopup(const char *itemStyle)
+       : m_Genlist(nullptr), m_ItemClass{ ELM_GEN_ITEM_CLASS_HEADER, 0 }
+{
+       m_ItemClass.item_style = itemStyle;
+       m_ItemClass.func.text_get = (Elm_Gen_Item_Text_Get_Cb) &ListPopup::getText;
+       m_ItemClass.func.content_get = (Elm_Gen_Item_Content_Get_Cb) &ListPopup::getContent;
+       m_ItemClass.func.del = [](void *data, Evas_Object *obj) {
+               delete (ItemData *) data;
+       };
+}
+
+Elm_Object_Item *ListPopup::addItem(std::string text, void *data, ItemSelectedCallback callback)
+{
+       ItemData *itemData = new ItemData{ std::move(text), data, std::move(callback) };
+       return elm_genlist_item_append(m_Genlist, &m_ItemClass, itemData,
+                       nullptr, ELM_GENLIST_ITEM_NONE, nullptr, nullptr);
+}
+
+Elm_Object_Item *ListPopup::addItem(std::string text, ItemSelectedCallback callback)
+{
+       return addItem(std::move(text), nullptr, std::move(callback));
+}
+
+Elm_Object_Item *ListPopup::addItem(void *data, ItemSelectedCallback callback)
+{
+       return addItem("", data, std::move(callback));
+}
+
+void ListPopup::setSelectedCallback(SelectedCallback callback)
+{
+       m_OnSelected = std::move(callback);
+}
+
+Evas_Object *ListPopup::onCreate(Evas_Object *parent)
+{
+       Evas_Object *popup = Popup::onCreate(parent);
+
+       m_Genlist = elm_genlist_add(parent);
+       elm_genlist_homogeneous_set(m_Genlist, EINA_TRUE);
+       elm_genlist_mode_set(m_Genlist, ELM_LIST_COMPRESS);
+       elm_scroller_content_min_limit(m_Genlist, EINA_FALSE, EINA_TRUE);
+       elm_object_part_content_set(popup, "elm.swallow.content", m_Genlist);
+
+       evas_object_smart_data_set(m_Genlist, this);
+       evas_object_smart_callback_add(m_Genlist, "selected",
+                       (Evas_Smart_Cb) &ListPopup::onSelected, this);
+
+       return popup;
+}
+
+char *ListPopup::getText(ItemData *itemData, Evas_Object *genlist, const char *part)
+{
+       ListPopup *popup = (ListPopup *) evas_object_smart_data_get(genlist);
+       char *text = popup->getItemText(itemData->userData, part);
+       if (!text && strcmp(part, "elm.text") == 0) {
+               text = strdup(_(itemData->text.c_str()));
+       }
+
+       return text;
+}
+
+Evas_Object *ListPopup::getContent(ItemData *itemData, Evas_Object *genlist, const char *part)
+{
+       ListPopup *popup = (ListPopup *) evas_object_smart_data_get(genlist);
+       return popup->getItemContent(itemData->userData, part);
+}
+
+void ListPopup::onSelected(ListPopup *popup, Evas_Object *genlist, Elm_Object_Item *item)
+{
+       ItemData *itemData = (ItemData *) elm_object_item_data_get(item);
+       popup->onItemSelected(itemData->userData);
+
+       if (itemData->callback) {
+               itemData->callback();
+       }
+
+       if (popup->m_OnSelected) {
+               popup->m_OnSelected(itemData->userData);
+       }
+
+       elm_genlist_item_selected_set(item, EINA_FALSE);
+
+       /* FIXME: Destroying genlist from it's "selected" callback causes crash. */
+       ecore_job_add([](void *data) {
+               delete (ListPopup *) data;
+       }, popup);
+}
diff --git a/lib-apps-common/src/Ui/Menu.cpp b/lib-apps-common/src/Ui/Menu.cpp
new file mode 100644 (file)
index 0000000..6c26fe2
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Menu.h"
+#include "Ui/Window.h"
+#include "Utils/Callback.h"
+
+#include <efl_extension.h>
+
+using namespace Ui;
+
+Elm_Object_Item *Menu::addItem(const char *text, ItemCallback callback)
+{
+       Elm_Object_Item *item = elm_ctxpopup_item_append(getEvasObject(), text, nullptr,
+                       &Menu::onItemSelect, new ItemCallback(std::move(callback)));
+       elm_object_item_text_translatable_set(item, EINA_TRUE);
+       elm_object_item_del_cb_set(item, &Menu::onItemDestroy);
+       return item;
+}
+
+void Menu::show()
+{
+       Evas_Coord y = 0, h = 0;
+       evas_object_geometry_get(getWindow()->getEvasObject(), nullptr, &y, nullptr, &h);
+
+       Evas_Object *menu = getEvasObject();
+       evas_object_move(menu, 0, y + h);
+       evas_object_show(menu);
+}
+
+Evas_Object *Menu::onCreate(Evas_Object *parent)
+{
+       Window *window = getWindow(parent);
+       if (window) {
+               parent = window->getEvasObject();
+       }
+
+       Evas_Object *menu = elm_ctxpopup_add(parent);
+       elm_object_style_set(menu, "more/default");
+
+       evas_object_smart_callback_add(menu, "dismissed",
+                       makeCallback(&Menu::onDismissed), this);
+       eext_object_event_callback_add(menu, EEXT_CALLBACK_BACK,
+                       eext_ctxpopup_back_cb, nullptr);
+       eext_object_event_callback_add(menu, EEXT_CALLBACK_MORE,
+                       eext_ctxpopup_back_cb, nullptr);
+
+       return menu;
+}
+
+void Menu::onItemSelect(void *data, Evas_Object *obj, void *item)
+{
+       ItemCallback &callback = *(ItemCallback *) data;
+       if (callback) {
+               callback();
+       }
+
+       elm_ctxpopup_dismiss(obj);
+}
+
+void Menu::onItemDestroy(void *data, Evas_Object *obj, void *item)
+{
+       delete (ItemCallback *) data;
+}
+
+void Menu::onDismissed(Evas_Object *obj, void *eventInfo)
+{
+       delete this;
+}
diff --git a/lib-apps-common/src/Ui/Naviframe.cpp b/lib-apps-common/src/Ui/Naviframe.cpp
new file mode 100644 (file)
index 0000000..152eb10
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Naviframe.h"
+#include "Ui/NaviframePage.h"
+#include "Ui/View.h"
+#include "Utils/Callback.h"
+
+using namespace Ui;
+
+Naviframe::Naviframe()
+       : Navigator(StackNavigator)
+{
+}
+
+View *Naviframe::getCurrentView() const
+{
+       Elm_Object_Item *item = elm_naviframe_top_item_get(getEvasObject());
+       if (!item) {
+               return nullptr;
+       }
+
+       return static_cast<View*>(elm_object_item_data_get(item));
+}
+
+Evas_Object *Naviframe::onCreate(Evas_Object *parent)
+{
+       Evas_Object *naviframe = elm_naviframe_add(parent);
+       elm_naviframe_prev_btn_auto_pushed_set(naviframe, EINA_TRUE);
+
+       return naviframe;
+}
+
+NavigatorPage *Naviframe::attachView(View *view)
+{
+       Elm_Object_Item *naviItem = elm_naviframe_item_push(getEvasObject(), nullptr,
+                       nullptr, nullptr, view->getEvasObject(), nullptr);
+       elm_object_item_data_set(naviItem, view);
+       elm_naviframe_item_pop_cb_set(naviItem, makeCallback(&Naviframe::onItemPop), this);
+       return new NaviframePage(naviItem);
+}
+
+void Naviframe::navigateToView(View *view)
+{
+       if (view != getCurrentView()) {
+               NaviframePage *page = static_cast<NaviframePage*>(view->getPage());
+               elm_naviframe_item_pop_to(page->m_NaviItem);
+       }
+}
+
+Eina_Bool Naviframe::onItemPop(Elm_Object_Item *item)
+{
+       evas_object_smart_callback_add(getEvasObject(), "transition,finished",
+                       makeCallback(&Naviframe::onTransition), this);
+
+       View *view = static_cast<View*>(elm_object_item_data_get(item));
+       notifyNavigation(view, false);
+       return EINA_TRUE;
+}
+
+void Naviframe::onTransition(Evas_Object *obj, void *eventInfo)
+{
+       notifyNavigation(getCurrentView(), true);
+
+       evas_object_smart_callback_del(getEvasObject(), "transition,finished",
+                       makeCallback(&Naviframe::onTransition));
+}
+
+bool Naviframe::onBackPressed()
+{
+       if (!Navigator::onBackPressed()) {
+               return false;
+       }
+
+       if (elm_naviframe_top_item_get(getEvasObject())
+                       != elm_naviframe_bottom_item_get(getEvasObject())) {
+               elm_naviframe_item_pop(getEvasObject());
+               return false;
+       }
+
+       return true;
+}
diff --git a/lib-apps-common/src/Ui/NaviframePage.cpp b/lib-apps-common/src/Ui/NaviframePage.cpp
new file mode 100644 (file)
index 0000000..125a9b5
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/NaviframePage.h"
+using namespace Ui;
+
+NaviframePage::NaviframePage(Elm_Object_Item *naviItem)
+       : m_NaviItem(naviItem)
+{
+}
+
+NaviframePage::~NaviframePage()
+{
+       elm_object_item_part_content_unset(m_NaviItem, "elm.swallow.content");
+       Evas_Object *navi = elm_object_item_widget_get(m_NaviItem);
+       if (m_NaviItem == elm_naviframe_top_item_get(navi)) {
+               elm_naviframe_item_pop(navi);
+       } else {
+               elm_object_item_del(m_NaviItem);
+       }
+}
+
+void NaviframePage::setTitle(const char *title)
+{
+       elm_object_item_translatable_part_text_set(m_NaviItem, "elm.text.title", title);
+       elm_naviframe_item_title_enabled_set(m_NaviItem, title != nullptr, EINA_TRUE);
+}
+
+void NaviframePage::setStyle(const char *style)
+{
+       elm_naviframe_item_style_set(m_NaviItem, style);
+}
+
+void NaviframePage::setContent(const char *part, Evas_Object *content)
+{
+       elm_object_item_part_content_set(m_NaviItem, part, content);
+}
diff --git a/lib-apps-common/src/Ui/Navigator.cpp b/lib-apps-common/src/Ui/Navigator.cpp
new file mode 100644 (file)
index 0000000..23d944c
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Navigator.h"
+
+using namespace Ui;
+
+Navigator::Navigator(NavigatorType type)
+       : m_Type(type)
+{
+}
+
+void Navigator::navigateTo(View *view)
+{
+       if (!view || view == getCurrentView()) {
+               return;
+       }
+
+       notifyNavigation(getCurrentView(), false);
+
+       if (view->getNavigator(m_Type) != this) {
+               Navigator *stackNavi = m_StackNavi;
+               Navigator *tabNavi = m_TabNavi;
+               if (m_Type == StackNavigator) {
+                       stackNavi = this;
+               } else {
+                       tabNavi = this;
+               }
+
+               view->create(getEvasObject());
+               view->onViewAttached(stackNavi, tabNavi);
+               view->onPageAttached(attachView(view));
+       }
+
+       navigateToView(view);
+       notifyNavigation(view, true);
+}
+
+void Navigator::notifyNavigation(View *view, bool isCurrentView)
+{
+       if (view) {
+               view->onNavigation(isCurrentView);
+       }
+}
+
+void Navigator::onNavigation(bool isCurrentView)
+{
+       notifyNavigation(getCurrentView(), isCurrentView);
+}
+
+bool Navigator::onBackPressed()
+{
+       View *view = getCurrentView();
+       return view ? view->onBackPressed() : true;
+}
+
+void Navigator::onMenuPressed()
+{
+       View *view = getCurrentView();
+       if (view) {
+               view->onMenuPressed();
+       }
+}
diff --git a/lib-apps-common/src/Ui/Popup.cpp b/lib-apps-common/src/Ui/Popup.cpp
new file mode 100644 (file)
index 0000000..9509d13
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Popup.h"
+#include "Ui/Window.h"
+#include "Utils/Callback.h"
+
+#include <efl_extension.h>
+
+#define PART_POPUP_TITLE "title,text"
+
+using namespace Ui;
+
+namespace
+{
+       const char *buttonParts[POPUP_BUTTON_MAX_COUNT] = { "button1", "button2", "button3" };
+}
+
+Popup::Popup()
+       : m_ButtonCount(0)
+{
+}
+
+Popup *Popup::create(Evas_Object *parent, const char *title,
+               const char *text, const char *button_text)
+{
+       Popup *popup = new Popup();
+       popup->create(parent);
+       popup->setTitle(title);
+       popup->setText(text);
+       popup->addButton(button_text);
+       return popup;
+}
+
+void Popup::setTitle(const char *title)
+{
+       elm_object_translatable_part_text_set(getEvasObject(), PART_POPUP_TITLE, title);
+}
+
+void Popup::setText(const char *text)
+{
+       elm_object_translatable_text_set(getEvasObject(), text);
+}
+
+void Popup::setContent(Evas_Object *content)
+{
+       elm_object_part_content_set(getEvasObject(), "elm.swallow.content", content);
+}
+
+Evas_Object *Popup::addButton(const char *text, ButtonCallback callback)
+{
+       if (m_ButtonCount >= POPUP_BUTTON_MAX_COUNT) {
+               return nullptr;
+       }
+
+       Evas_Object *button = elm_button_add(getEvasObject());
+       elm_object_style_set(button, "bottom");
+       elm_object_translatable_text_set(button, text);
+       elm_object_part_content_set(getEvasObject(), buttonParts[m_ButtonCount], button);
+
+       m_ButtonCbs[m_ButtonCount] = std::move(callback);
+       evas_object_smart_data_set(button, &m_ButtonCbs[m_ButtonCount]);
+       evas_object_smart_callback_add(button, "clicked",
+                       makeCallback(&Popup::onButtonPressed), this);
+
+       ++m_ButtonCount;
+       return button;
+}
+
+void Popup::setBackCallback(BackCallback callback)
+{
+       m_OnBack = std::move(callback);
+}
+
+Evas_Object *Popup::onCreate(Evas_Object *parent)
+{
+       Window *window = getWindow(parent);
+       if (window) {
+               parent = window->getBaseLayout();
+       }
+
+       Evas_Object *popup = elm_popup_add(parent);
+       elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                       makeCallback(&Popup::onBackPressed), this);
+       evas_object_show(popup);
+
+       return popup;
+}
+
+void Popup::onButtonPressed(Evas_Object *obj, void *eventInfo)
+{
+       ButtonCallback &callback = *(ButtonCallback *) evas_object_smart_data_get(obj);
+       if (!callback || callback()) {
+               delete this;
+       }
+}
+
+void Popup::onBackPressed(Evas_Object *obj, void *eventInfo)
+{
+       if (!m_OnBack || m_OnBack()) {
+               delete this;
+       }
+}
diff --git a/lib-apps-common/src/Ui/ProgressController.cpp b/lib-apps-common/src/Ui/ProgressController.cpp
new file mode 100644 (file)
index 0000000..e4f85c6
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include "Ui/ProgressController.h"
+#include "Ui/ProgressPopup.h"
+#include "Utils/Logger.h"
+
+using namespace Ui;
+
+ProgressController::ProgressController(Evas_Object *parent, const char *title, int maxValue)
+       : m_IsCanceled(false), m_ProgressPopup(nullptr), m_Thread(nullptr)
+{
+       createProgressPopup(parent, title, maxValue);
+}
+
+ProgressController::~ProgressController()
+{
+       delete m_ProgressPopup;
+}
+
+void ProgressController::run()
+{
+       m_Thread = ecore_thread_feedback_run(onStart, onNotify, onFinish, onCanceled, this, EINA_FALSE);
+}
+
+void ProgressController::setFinishCallback(FinishCallback callback)
+{
+       m_OnFinish = std::move(callback);
+}
+
+bool ProgressController::onCancel()
+{
+       return true;
+}
+
+void ProgressController::cancel()
+{
+       m_IsCanceled = true;
+}
+
+bool ProgressController::onProgress(size_t value)
+{
+       ecore_thread_feedback(m_Thread, (void *)value);
+
+       return !m_IsCanceled;
+}
+
+void ProgressController::createProgressPopup(Evas_Object *parent, const char *title, int maxValue)
+{
+       m_ProgressPopup = new Ui::ProgressPopup(maxValue);
+       RETM_IF_ERR(!m_ProgressPopup, "m_ProgressPopup is NULL");
+
+       m_ProgressPopup->create(parent);
+       m_ProgressPopup->setTitle(title);
+
+       auto cancelFunction = [this] {
+               if (onCancel()) {
+                       cancel();
+               }
+               return false;
+       };
+       m_ProgressPopup->addButton("IDS_PB_BUTTON_CANCEL", cancelFunction);
+       m_ProgressPopup->setBackCallback(cancelFunction);
+
+       elm_popup_orient_set(m_ProgressPopup->getEvasObject(), ELM_POPUP_ORIENT_BOTTOM);
+}
+
+void ProgressController::onStart(void *data, Ecore_Thread *thread)
+{
+       RETM_IF_ERR(!data, "invalid data");
+       ProgressController *controller = (ProgressController *)data;
+       controller->onStart(thread);
+}
+
+void ProgressController::onNotify(void *data, Ecore_Thread *thread, void *msgData)
+{
+       RETM_IF_ERR(!data || !msgData, "invalid data");
+       ProgressController *controller = (ProgressController *)data;
+
+       controller->m_ProgressPopup->setProgress((size_t)msgData);
+}
+
+void ProgressController::onFinish(void *data, Ecore_Thread *thread)
+{
+       RETM_IF_ERR(!data, "invalid data");
+       ProgressController *controller = (ProgressController *)data;
+       controller->m_OnFinish(*controller);
+
+       delete controller;
+}
+
+void ProgressController::onCanceled(void *data, Ecore_Thread *thread)
+{
+       RETM_IF_ERR(!data, "invalid data");
+       ProgressController *controller = (ProgressController *)data;
+       controller->onCanceled();
+
+       delete controller;
+}
diff --git a/lib-apps-common/src/Ui/ProgressPopup.cpp b/lib-apps-common/src/Ui/ProgressPopup.cpp
new file mode 100644 (file)
index 0000000..8a44664
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "App/Path.h"
+#include "Ui/ProgressPopup.h"
+#include "Utils/Logger.h"
+
+#include "AppsCommonProgressbarLayout.h"
+
+#define BUFFER_SIZE        64
+
+#define ZERO_PROGRESS      "0%"
+
+using namespace Ui;
+
+namespace
+{
+       const std::string layoutFilePath = App::getResourcePath(APPS_COMMON_PROGRESSBAR_LAYOUT_EDJ);
+}
+
+ProgressPopup::ProgressPopup(size_t maxValue)
+       : m_MaxValue(maxValue), m_Progressbar(nullptr)
+{
+}
+
+void ProgressPopup::setProgress(size_t value)
+{
+       RETM_IF(value > m_MaxValue, "value is bigger than max value");
+       double progressValue = (double)value / m_MaxValue;
+
+       char progress[BUFFER_SIZE] = { 0, };
+       snprintf(progress, sizeof(progress), "%d%%", (int)(100.0 * progressValue));
+
+       char total[BUFFER_SIZE] = { 0, };
+       snprintf(total, sizeof(total), "%zu/%zu", value, m_MaxValue);
+
+       elm_progressbar_value_set(m_Progressbar, progressValue);
+       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.left", progress);
+       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.right", total);
+}
+
+Evas_Object *ProgressPopup::onCreate(Evas_Object *parent)
+{
+       Evas_Object *popup = Popup::onCreate(parent);
+
+       Evas_Object *layout = elm_layout_add(popup);
+       elm_layout_file_set(layout, layoutFilePath.c_str(), GROUP_PROGRESSBAR_LAYOUT);
+
+       m_Progressbar = elm_progressbar_add(layout);
+       elm_progressbar_pulse(m_Progressbar, EINA_TRUE);
+
+       char total[BUFFER_SIZE] = { 0, };
+       snprintf(total, sizeof(total), "%d/%zu", 0, m_MaxValue);
+       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.left", ZERO_PROGRESS);
+       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.right", total);
+
+       elm_object_part_content_set(layout, PART_PROGRESSBAR, m_Progressbar);
+       elm_object_content_set(popup, layout);
+
+       return popup;
+}
diff --git a/lib-apps-common/src/Ui/Scale.cpp b/lib-apps-common/src/Ui/Scale.cpp
new file mode 100644 (file)
index 0000000..f6b1cce
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Scale.h"
+
+#include <Elementary.h>
+
+int Ui::getScaledValue(int value)
+{
+       static double factor = elm_config_scale_get() / elm_app_base_scale_get();
+       return value * factor;
+}
diff --git a/lib-apps-common/src/Ui/TabPage.cpp b/lib-apps-common/src/Ui/TabPage.cpp
new file mode 100644 (file)
index 0000000..e1bfa18
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/TabPage.h"
+#include "Utils/Logger.h"
+
+#define BUFFER_SIZE 64
+
+using namespace Ui;
+
+TabPage::TabPage(size_t index, Elm_Object_Item *tabItem)
+       : m_Index(index), m_TabItem(tabItem), m_Sizer(nullptr), m_Page(nullptr)
+{
+}
+
+TabPage::~TabPage()
+{
+       elm_object_part_content_unset(m_Page, "elm.swallow.content");
+       elm_object_item_del(m_TabItem);
+}
+
+Evas_Object *TabPage::onCreate(Evas_Object *parent)
+{
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_theme_set(layout, "layout", "application", "default");
+
+       m_Sizer = evas_object_rectangle_add(evas_object_evas_get(layout));
+       evas_object_color_set(m_Sizer, 0, 0, 0, 0);
+       elm_object_part_content_set(layout, "elm.swallow.bg", m_Sizer);
+
+       m_Page = elm_layout_add(parent);
+       elm_layout_theme_set(m_Page, "naviframe", "item", "basic/default");
+       elm_layout_signal_emit(m_Page, "elm,state,title,hide", "elm");
+       elm_layout_signal_emit(m_Page, "elm,state,toolbar,hide", "elm");
+       elm_object_part_content_set(layout, "elm.swallow.content", m_Page);
+
+       return layout;
+}
+
+void TabPage::setTitle(const char *title)
+{
+       elm_object_item_translatable_text_set(m_TabItem, title);
+}
+
+void TabPage::setStyle(const char *style)
+{
+       char buffer[BUFFER_SIZE];
+       snprintf(buffer, sizeof(buffer), "%s/default", style);
+       elm_layout_theme_set(m_Page, "naviframe", "item", buffer);
+}
+
+void TabPage::setContent(const char *part, Evas_Object *content)
+{
+       char buffer[BUFFER_SIZE];
+       snprintf(buffer, sizeof(buffer), "elm,state,%s,%s", part, content ? "show" : "hide");
+       elm_layout_signal_emit(m_Page, buffer, "elm");
+       elm_object_part_content_set(m_Page, part, content);
+}
diff --git a/lib-apps-common/src/Ui/TabView.cpp b/lib-apps-common/src/Ui/TabView.cpp
new file mode 100644 (file)
index 0000000..7ad327a
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/TabView.h"
+#include "Ui/TabPage.h"
+#include "Utils/Callback.h"
+
+using namespace Ui;
+
+TabView::TabView()
+       : Navigator(TabNavigator), m_Tabbar(nullptr), m_Scroller(nullptr), m_Box(nullptr),
+         m_Width(0), m_Height(0), m_IsNavigating(false), m_CurrentPage(0)
+{
+}
+
+View *TabView::getCurrentView() const
+{
+       return m_CurrentPage < m_Views.size() ? m_Views[m_CurrentPage] : nullptr;
+}
+
+Evas_Object *TabView::onCreate(Evas_Object *parent)
+{
+       m_Scroller = elm_scroller_add(parent);
+       elm_scroller_page_relative_set(m_Scroller, 1.0, 0.0);
+       elm_scroller_page_scroll_limit_set(m_Scroller, 1, 0);
+       elm_scroller_loop_set(m_Scroller, EINA_FALSE, EINA_FALSE);
+       elm_scroller_policy_set(m_Scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+       elm_object_scroll_lock_y_set(m_Scroller, EINA_TRUE);
+
+       evas_object_event_callback_add(m_Scroller, EVAS_CALLBACK_RESIZE,
+                       makeCallback(&TabView::onResize), this);
+       evas_object_smart_callback_add(m_Scroller, "scroll,page,changed",
+                       makeCallback(&TabView::onPageChanged), this);
+
+       m_Box = elm_box_add(m_Scroller);
+       elm_box_horizontal_set(m_Box, EINA_TRUE);
+       elm_object_content_set(m_Scroller, m_Box);
+
+       return m_Scroller;
+}
+
+void TabView::onPageAttached()
+{
+       m_Tabbar = elm_toolbar_add(getEvasObject());
+       elm_toolbar_shrink_mode_set(m_Tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
+       elm_toolbar_select_mode_set(m_Tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
+       elm_toolbar_transverse_expanded_set(m_Tabbar, EINA_TRUE);
+       evas_object_smart_data_set(m_Tabbar, this);
+       evas_object_smart_callback_add(m_Tabbar, "selected",
+                       makeCallback(&TabView::onTabSelect), this);
+
+       getPage()->setStyle("tabbar/notitle");
+       getPage()->setContent("tabbar", m_Tabbar);
+}
+
+NavigatorPage *TabView::attachView(View *view)
+{
+       Elm_Object_Item *item = elm_toolbar_item_append(m_Tabbar, nullptr, nullptr, nullptr, nullptr);
+       elm_object_item_data_set(item, view);
+       elm_object_item_del_cb_set(item, &TabView::onTabDestroy);
+       m_Views.push_back(view);
+
+       size_t index = m_Views.size() - 1;
+       TabPage *page = new TabPage(index, item);
+
+       Evas_Object *layout = page->create(getEvasObject());
+       page->setContent("elm.swallow.content", view->create(layout));
+       evas_object_size_hint_min_set(page->m_Sizer, m_Width, m_Height);
+       elm_box_pack_end(m_Box, layout);
+       evas_object_show(layout);
+
+       return page;
+}
+
+void TabView::navigateToView(View *view)
+{
+       m_IsNavigating = true;
+
+       TabPage *page = static_cast<TabPage *>(view->getPage());
+       elm_scroller_page_show(m_Scroller, page->m_Index, 0);
+       elm_toolbar_item_selected_set(page->m_TabItem, EINA_TRUE);
+       m_CurrentPage = page->m_Index;
+
+       m_IsNavigating = false;
+}
+
+void TabView::onTabDestroy(void *data, Evas_Object *obj, void *tabItem)
+{
+       TabView *tabView = (TabView *) evas_object_smart_data_get(obj);
+       TabPage *page = static_cast<TabPage *>(((View *) data)->getPage());
+
+       auto it = tabView->m_Views.begin() + page->m_Index;
+       it = tabView->m_Views.erase(it);
+
+       for (; it !=  tabView->m_Views.end(); ++it) {
+               page = static_cast<TabPage *>((*it)->getPage());
+               --page->m_Index;
+       }
+}
+
+void TabView::onTabSelect(Evas_Object *obj, void *tabItem)
+{
+       View *view = (View *) elm_object_item_data_get((Elm_Object_Item *) tabItem);
+       if (!m_IsNavigating) {
+               navigateTo(view);
+       }
+}
+
+void TabView::onPageChanged(Evas_Object *obj, void *eventInfo)
+{
+       int index = 0;
+       elm_scroller_current_page_get(m_Scroller, &index, nullptr);
+       if (!m_IsNavigating) {
+               navigateTo(m_Views[index]);
+       }
+}
+
+void TabView::onResize(Evas *e, Evas_Object *obj, void *eventInfo)
+{
+       evas_object_geometry_get(obj, nullptr, nullptr, &m_Width, &m_Height);
+
+       for (auto &&view : m_Views) {
+               TabPage *page = static_cast<TabPage *>(view->getPage());
+               evas_object_size_hint_min_set(page->m_Sizer, m_Width, m_Height);
+       }
+
+       elm_scroller_page_size_set(m_Scroller, m_Width, m_Height);
+       elm_scroller_page_show(m_Scroller, m_CurrentPage, 0);
+}
diff --git a/lib-apps-common/src/Ui/Thumbnail.cpp b/lib-apps-common/src/Ui/Thumbnail.cpp
new file mode 100644 (file)
index 0000000..e60d711
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Thumbnail.h"
+#include "Ui/Scale.h"
+
+#include "App/Path.h"
+#include "AppsCommonThumbnail.h"
+
+using namespace Ui;
+
+namespace
+{
+       const struct
+       {
+               const char *groupMask;
+               const char *groupDefault;
+       } params[] = {
+               { GROUP_THUMBNAIL_SMALL, GROUP_THUMBNAIL_DEFAULT_SMALL },
+               { GROUP_THUMBNAIL_MEDIUM, GROUP_THUMBNAIL_DEFAULT_MEDIUM },
+               { GROUP_THUMBNAIL_LARGE, GROUP_THUMBNAIL_DEFAULT_LARGE }
+       };
+
+       const std::string layoutPath = App::getResourcePath(APPS_COMMON_THUMBNAIL_EDJ);
+}
+
+Thumbnail::Thumbnail(Size size)
+       : m_Size(size), m_Image(nullptr)
+{
+}
+
+Thumbnail *Thumbnail::create(Evas_Object *parent, Size size, const char *path)
+{
+       Thumbnail *thumbnail = new Thumbnail(size);
+       thumbnail->create(parent);
+       thumbnail->setImagePath(path);
+       return thumbnail;
+}
+
+Evas_Object *Thumbnail::getImage() const
+{
+       return m_Image;
+}
+
+void Thumbnail::setImagePath(const char *path)
+{
+       if (path && *path) {
+               elm_image_file_set(m_Image, path, nullptr);
+       } else {
+               elm_image_file_set(m_Image, layoutPath.c_str(), params[m_Size].groupDefault);
+       }
+}
+
+void Thumbnail::setSizeHint(bool isSet)
+{
+       static int sizes[] = {
+               getScaledValue(THUMBNAIL_SMALL_SIZE),
+               getScaledValue(THUMBNAIL_MEDIUM_SIZE),
+               getScaledValue(THUMBNAIL_LARGE_SIZE)
+       };
+
+       int size = 0;
+       if (isSet) {
+               size = sizes[m_Size];
+       }
+
+       evas_object_size_hint_min_set(m_Image, size, size);
+}
+
+Evas_Object *Thumbnail::onCreate(Evas_Object *parent)
+{
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_file_set(layout, layoutPath.c_str(), params[m_Size].groupMask);
+
+       m_Image = elm_image_add(layout);
+       elm_image_aspect_fixed_set(m_Image, EINA_TRUE);
+       elm_image_fill_outside_set(m_Image, EINA_TRUE);
+       elm_object_part_content_set(layout, "elm.swallow.content", m_Image);
+
+       return layout;
+}
diff --git a/lib-apps-common/src/Ui/View.cpp b/lib-apps-common/src/Ui/View.cpp
new file mode 100644 (file)
index 0000000..4cd255e
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/View.h"
+
+using namespace Ui;
+
+View::View()
+       : m_StackNavi(nullptr), m_TabNavi(nullptr),
+         m_NaviPage(nullptr)
+{
+}
+
+View::~View()
+{
+       delete m_NaviPage;
+}
+
+Navigator *View::getNavigator(NavigatorType type) const
+{
+       return type == StackNavigator ? m_StackNavi : m_TabNavi;
+}
+
+NavigatorPage *View::getPage() const
+{
+       return m_NaviPage;
+}
+
+void View::onViewAttached(Navigator *stackNavi, Navigator *tabNavi)
+{
+       m_StackNavi = stackNavi;
+       m_TabNavi = tabNavi;
+}
+
+void View::onPageAttached(NavigatorPage *page)
+{
+       if (page != m_NaviPage) {
+               delete m_NaviPage;
+               m_NaviPage = page;
+       }
+
+       onPageAttached();
+}
diff --git a/lib-apps-common/src/Ui/Window.cpp b/lib-apps-common/src/Ui/Window.cpp
new file mode 100644 (file)
index 0000000..b110e73
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Ui/Window.h"
+#include "Ui/View.h"
+#include "Utils/Callback.h"
+
+#include <efl_extension.h>
+
+using namespace Ui;
+
+Window::Window()
+       : m_Conform(nullptr), m_Layout(nullptr), m_MainView(nullptr)
+{
+}
+
+Evas_Object *Window::onCreate(Evas_Object *parent)
+{
+       Evas_Object *window = elm_win_add(nullptr, nullptr, ELM_WIN_BASIC);
+       elm_win_indicator_mode_set(window, ELM_WIN_INDICATOR_SHOW);
+       elm_win_conformant_set(window, EINA_TRUE);
+       evas_object_show(window);
+
+       Evas_Object *bg = elm_bg_add(window);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(window, bg);
+       evas_object_show(bg);
+
+       m_Conform = elm_conformant_add(window);
+       evas_object_size_hint_weight_set(m_Conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(window, m_Conform);
+       evas_object_show(m_Conform);
+
+       m_Layout = elm_layout_add(m_Conform);
+       elm_layout_theme_set(m_Layout, "layout", "application", "default");
+       evas_object_size_hint_weight_set(m_Layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_content_set(m_Conform, m_Layout);
+       evas_object_show(m_Layout);
+
+       eext_object_event_callback_add(m_Layout, EEXT_CALLBACK_BACK,
+                       makeCallback(&Window::onBackPressed), this);
+       eext_object_event_callback_add(m_Layout, EEXT_CALLBACK_MORE,
+                       makeCallback(&Window::onMenuPressed), this);
+
+       return window;
+}
+
+Evas_Object *Window::getConformant() const
+{
+       return m_Conform;
+}
+
+Evas_Object *Window::getBaseLayout() const
+{
+       return m_Layout;
+}
+
+void Window::attachView(View *view)
+{
+       m_MainView = view;
+       elm_object_part_content_set(m_Layout, "elm.swallow.content", view->create(m_Layout));
+}
+
+void Window::onBackPressed(Evas_Object *obj, void *eventInfo)
+{
+       if (!m_MainView || m_MainView->onBackPressed()) {
+               elm_win_lower(getEvasObject());
+       }
+}
+
+void Window::onMenuPressed(Evas_Object *obj, void *eventInfo)
+{
+       if (m_MainView) {
+               m_MainView->onMenuPressed();
+       }
+}
diff --git a/lib-apps-common/src/Utils/Tracer.cpp b/lib-apps-common/src/Utils/Tracer.cpp
new file mode 100644 (file)
index 0000000..3ad64b7
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Utils/Tracer.h"
+#include <dlog.h>
+
+using namespace Utils;
+
+void subtractTime(const timespec &a, const timespec &b, timespec &res)
+{
+       static const size_t ratio(1000000000);
+
+       res.tv_sec = b.tv_sec - a.tv_sec;
+       res.tv_nsec = b.tv_nsec - a.tv_nsec;
+       if (res.tv_nsec < 0)
+       {
+               --res.tv_sec;
+               res.tv_nsec += ratio;
+       }
+}
+
+Tracer::Tracer(const char *tag, const char *file, const char *func, int line)
+       : m_Tag(tag), m_File(file), m_Func(func)
+{
+       dlog_print(DLOG_DEBUG, m_Tag, "%s: %s(%d) <<< called", m_File, m_Func, line);
+       clock_gettime(CLOCK_REALTIME, &m_startTime);
+}
+
+Tracer::~Tracer()
+{
+       timespec endTime;
+       clock_gettime(CLOCK_REALTIME, &endTime);
+
+       timespec res;
+       subtractTime(m_startTime, endTime, res);
+
+       dlog_print(DLOG_DEBUG, m_Tag, "%s: %s >>> returned in %d.%03d seconds",
+               m_File, m_Func, res.tv_sec, res.tv_nsec / 1000000);
+}
diff --git a/lib-apps-common/src/Utils/UniString.cpp b/lib-apps-common/src/Utils/UniString.cpp
new file mode 100644 (file)
index 0000000..688d831
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Utils/UniString.h"
+#include <cstring>
+#include <memory>
+
+using namespace Utils;
+
+UniString::UniString(const char *utf8Str)
+{
+       if (utf8Str) {
+               m_Utf8Str = utf8Str;
+       }
+       m_UniStr = fromUtf8(m_Utf8Str);
+}
+
+bool UniString::operator<(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) < 0;
+}
+
+bool UniString::operator>(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) > 0;
+}
+
+bool UniString::operator==(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) == 0;
+}
+
+bool UniString::operator!=(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) != 0;
+}
+
+bool UniString::operator<=(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) <= 0;
+}
+
+bool UniString::operator>=(const UniString &that) const
+{
+       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) >= 0;
+}
+
+const UniString::I18nString &UniString::getI18nStr() const
+{
+       return m_UniStr;
+}
+
+const std::string &UniString::getUtf8Str() const
+{
+       if (m_Utf8Str.empty() && !m_UniStr.empty()) {
+               m_Utf8Str = toUtf8(m_UniStr);
+       }
+
+       return m_Utf8Str;
+}
+
+std::string UniString::toUtf8(const I18nString &ustring)
+{
+       char fakeValue;
+       int length = 0;
+       i18n_error_code_e err = I18N_ERROR_NONE;
+       i18n_ustring_to_UTF8(&fakeValue, 1, &length, ustring.c_str(), -1, &err);
+
+       std::string retVal(length + 1, 0);
+       i18n_ustring_to_UTF8(&retVal[0], length + 1, &length, ustring.c_str(), -1, &err);
+
+       return retVal;
+}
+
+UniString::I18nString UniString::fromUtf8(const std::string &utf8Str)
+{
+       i18n_uchar fakeValue;
+       int length = 0;
+       i18n_error_code_e err = I18N_ERROR_NONE;
+       i18n_ustring_from_UTF8(&fakeValue, 1, &length, utf8Str.c_str(), -1, &err);
+
+       I18nString retVal(length + 1, 0);
+       i18n_ustring_from_UTF8(&retVal[0], length + 1, &length, utf8Str.c_str(), -1, &err);
+
+       return retVal;
+}
index ebd9032d834835b12ca5624a0681781a30282c2c..faca374561f076401ba1d9b625086ee3aa450dbb 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
        <storageModule moduleId="org.eclipse.cdt.core.settings">
-               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.695076302">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.695076302" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880" 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.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 artifactExtension="so" artifactName="common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.695076302" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
-                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.695076302." name="/" resourcePath="">
-                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.467798205" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
-                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1642482178" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
-                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/lib-common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.223279362" 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.1347387967" 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.1317870244" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
-                                                               <option id="gnu.cpp.compiler.option.optimization.level.1070316954" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.2111831012" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
-                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1652130279" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.232124903" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                               <configuration artifactExtension="so" artifactName="common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.2051485246" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.589094415" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/lib-apps-common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1048697282" 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.1819863057" 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.1237370598" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1692620041" 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.124537019" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1293188600" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" value="true" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.883965797" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-2.4-device.core_gcc49.armel.core.sharedLib"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.571970858" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
-                                                               </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.447324550" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1221919882" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1868946826" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-mthumb"/>
                                                                        <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
                                                                </option>
-                                                               <option id="gnu.cpp.compiler.option.include.paths.1001928294" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.cpp.compiler.option.include.paths.769492000" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/res/common/edje}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1817117405" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1624823287" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <option id="gnu.cpp.compiler.option.preprocessor.def.1738564931" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
-                                                                       <listOptionValue builtIn="false" value="_DEBUG"/>
-                                                               </option>
-                                                               <option id="gnu.cpp.compiler.option.dialect.std.1805867285" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
-                                                               <option id="gnu.cpp.compiler.option.dialect.flags.1298753647" name="Other dialect flags" superClass="gnu.cpp.compiler.option.dialect.flags" value="-std=c++11" valueType="string"/>
-                                                               <option id="gnu.cpp.compiler.option.other.other.546357732" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.857817635" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                               <option id="gnu.cpp.compiler.option.dialect.std.1155082077" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+                                                               <option id="gnu.cpp.compiler.option.dialect.flags.1950104097" name="Other dialect flags" superClass="gnu.cpp.compiler.option.dialect.flags" value="-std=c++11" valueType="string"/>
+                                                               <option id="gnu.cpp.compiler.option.other.other.1399230646" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1940484793" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
-                                                       <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1047378174" 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.1323309447" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.c.compiler.option.debugging.level.core.929226309" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
-                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1548854511" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.c.compiler.option.1987452490" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                       <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.949181195" 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.823571777" 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.1300888938" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1090861130" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.1029738450" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-2.4-device.core_gcc49.armel.core.sharedLib"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.586005215" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.553136690" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.263163240" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.273368038" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-mthumb"/>
                                                                        <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
                                                                </option>
-                                                               <option id="gnu.c.compiler.option.include.paths.1637369283" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.c.compiler.option.include.paths.1871191932" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1285632878" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1848864191" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <option id="gnu.c.compiler.option.preprocessor.def.symbols.499642517" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
-                                                                       <listOptionValue builtIn="false" value="_DEBUG"/>
-                                                               </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.68804720" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.925122232" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.2075723903" 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.694570481" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
-                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1333284292" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.689785030" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.2079975459" 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.279768150" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1951653136" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.noundefined.core.227464450" 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.694339525" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="-lpthread "/>
                                                                        <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
                                                                        <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
                                                                </option>
-                                                               <option id="gnu.cpp.link.option.paths.2077226381" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                               <option id="gnu.cpp.link.option.paths.1870774001" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/${ConfigName}}&quot;"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.link.option.libs.1937888726" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="apps-common"/>
                                                                </option>
-                                                               <option id="gnu.cpp.link.option.flags.1195542035" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-fvisibility=default" valueType="string"/>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2067097503" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1668238422" 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.931004966" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
-                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1367647067" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.633178501" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.170319493" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.1934955929" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.399439989" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.1633694852" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.568571598" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1942317324" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.551082393" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.2134749630" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
-                                                               <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.289390037" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.1693957368" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.614590376" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1510343806" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.658188695" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1643212896" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.800438767" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.910674138" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+                                                               <option id="sbi.gnu.edc.compiler.option.misc.id.89058249" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/res}&quot;"/>
                                                                </option>
-                                                               <option command="-sd " id="sbi.gnu.edc.compiler.option.misc.sd.1792823970" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd"/>
-                                                               <option command="-fd " id="sbi.gnu.edc.compiler.option.misc.fd.576527165" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd"/>
                                                        </tool>
                                                </toolChain>
                                        </folderInfo>
                                        </sourceEntries>
                                </configuration>
                        </storageModule>
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+                               <externalSettings containerId="lib-apps-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+                       </storageModule>
                </cconfiguration>
-               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.873999589">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.873999589" moduleId="org.eclipse.cdt.core.settings" name="Release">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043" 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.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 artifactExtension="so" artifactName="common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.873999589" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
-                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.873999589." name="/" resourcePath="">
-                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.721749050" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
-                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.937055368" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
-                                                       <builder buildPath="${workspace_loc:/lib-common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.546850785" 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.317445133" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
-                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2025167515" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
-                                                               <option id="gnu.cpp.compiler.option.optimization.level.806251814" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1325981529" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
-                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.397249650" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.894924760" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                               <configuration artifactExtension="so" artifactName="org.tizen.apps-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.479052506" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1018798881" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder buildPath="${workspace_loc:/lib-apps-common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.149016381" 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.2093589563" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1354158935" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.170350304" 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.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.596043701" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1024499531" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.1442464409" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-2.4-emulator.core_llvm36.i386.core.sharedLib"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1952397329" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.76672609" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.260047136" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2001342911" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
                                                                </option>
-                                                               <option id="gnu.cpp.compiler.option.include.paths.2121845948" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.cpp.compiler.option.include.paths.944805796" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1962691342" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.348478814" 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.1467479112" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.925397267" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
-                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1067601242" 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.1807378852" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.c.compiler.option.debugging.level.core.83547491" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
-                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1199853147" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.c.compiler.option.771653111" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1143748085" 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.1085259207" 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.913386253" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.985782675" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.830715601" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-2.4-emulator.core_llvm36.i386.core.sharedLib"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.66473485" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1107604994" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2054723299" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.736334736" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
                                                                </option>
-                                                               <option id="gnu.c.compiler.option.include.paths.1541438566" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.c.compiler.option.include.paths.1225514754" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.676507669" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1948585633" 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.171950505" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1470546473" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.31509683" 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.1952638675" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
-                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.792146774" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
-                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1452131585" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.529786459" 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.1060663793" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.173109100" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="true" id="sbi.gnu.cpp.linker.option.noundefined.core.1619438138" 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.1242270603" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="-lpthread "/>
                                                                        <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
                                                                        <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
                                                                </option>
-                                                               <option id="gnu.cpp.link.option.paths.1415008963" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                               <option id="gnu.cpp.link.option.paths.86201883" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.674575033" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.289818099" 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.321629108" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
-                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.884495380" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.744980287" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.285718668" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.2100237367" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.778291296" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.929949104" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.1785871912" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.287417250" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.762685848" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.314944598" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.323033626" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.713374260" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1933211459" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.790933542" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.190560800" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1412563891" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.211510250" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
                                                </toolChain>
                                        </folderInfo>
                                        <sourceEntries>
                </cconfiguration>
        </storageModule>
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-               <project id="lib-common.org.tizen.nativecore.target.sbi.gcc45.so.642479293" name="Tizen Native Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+               <project id="lib-apps-common.org.tizen.nativecore.target.sbi.gcc45.so.1096739394" name="Tizen Native Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
        </storageModule>
        <storageModule moduleId="scannerConfiguration">
                <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.695076302">
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1726378043">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
-               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.873999589">
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.119020880">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
        </storageModule>
        <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-       <storageModule moduleId="com.samsung.tizen.nativeapp.projectInfo" version="1.0.0"/>
        <storageModule moduleId="refreshScope" versionNumber="2">
                <configuration configurationName="Debug">
-                       <resource resourceType="PROJECT" workspacePath="/lib-common"/>
+                       <resource resourceType="PROJECT" workspacePath="/lib-apps-common"/>
                </configuration>
                <configuration configurationName="Release">
-                       <resource resourceType="PROJECT" workspacePath="/lib-common"/>
+                       <resource resourceType="PROJECT" workspacePath="/lib-apps-common"/>
                </configuration>
        </storageModule>
        <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
index d498cd66090bd12789c9ad8e24ec74d5ff43ad0c..118d51435503138a90a84b1bc25eecfa0f10a677 100644 (file)
@@ -3,21 +3,22 @@
        <name>lib-common</name>
        <comment></comment>
        <projects>
+               <project>lib-apps-common</project>
        </projects>
        <buildSpec>
                <buildCommand>
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <name>org.tizen.nativecore.apichecker.apicheckerbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
-                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
-                       <triggers>full,incremental,</triggers>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
-                       <name>org.tizen.nativecore.apichecker.core.builder</name>
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+                       <triggers>full,incremental,</triggers>
                        <arguments>
                        </arguments>
                </buildCommand>
                <nature>org.eclipse.cdt.core.ccnature</nature>
                <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
                <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-               <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+               <nature>org.tizen.nativecore.apichecker.apicheckernature</nature>
        </natures>
        <filteredResources>
                <filter>
-                       <id>1448271520682</id>
+                       <id>0</id>
                        <name></name>
                        <type>26</type>
                        <matcher>
@@ -40,7 +41,7 @@
                        </matcher>
                </filter>
                <filter>
-                       <id>1448271520684</id>
+                       <id>0</id>
                        <name></name>
                        <type>6</type>
                        <matcher>
@@ -49,7 +50,7 @@
                        </matcher>
                </filter>
                <filter>
-                       <id>1448271520687</id>
+                       <id>0</id>
                        <name></name>
                        <type>22</type>
                        <matcher>
index 5ed376d283dd1b9e7da168e64daf18da70e8c63b..581b7051e620a097c768f7a5e9d7a6229fc729af 100644 (file)
@@ -3,12 +3,13 @@ project(common CXX)
 
 file(GLOB_RECURSE SOURCES src/*.cpp)
 include_directories(
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/inc
        ${CMAKE_CURRENT_SOURCE_DIR}/inc
        ${CMAKE_CURRENT_SOURCE_DIR}/res/common/edje
 )
 
 add_library(${PROJECT_NAME} SHARED ${SOURCES})
-target_link_libraries(${PROJECT_NAME} ${LIBRARIES})
+target_link_libraries(${PROJECT_NAME} ${LIBRARIES} apps-common)
 
 install(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
 
diff --git a/lib-common/inc/App/AppControl.h b/lib-common/inc/App/AppControl.h
deleted file mode 100644 (file)
index 9f2f172..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef APP_APP_CONTROL_H
-#define APP_APP_CONTROL_H
-
-#include <app_control.h>
-
-namespace App
-{
-       class EXPORT_API AppControl
-       {
-       public:
-               /**
-                * @brief Create empty app control wrapper. The wrapper doesn't contain any
-                *        value it can only be assigned to.
-                */
-               AppControl();
-
-               /**
-                * @brief Create app control request
-                *
-                * @see app_control_set_operation()
-                * @see app_control_set_mime()
-                * @see app_control_set_uri()
-                */
-               AppControl(const char *operation,
-                               const char *mime = nullptr,
-                               const char *uri = nullptr);
-
-               AppControl(const AppControl&) = delete;
-               AppControl(AppControl&&);
-               ~AppControl();
-
-               /**
-                * @return Stored app control handle
-                */
-               app_control_h getHandle() const;
-
-               /**
-                * @see app_control_add_extra_data()
-                */
-               void addExtra(const char *key, const char *value);
-
-               /**
-                * @see app_control_add_extra_data_array()
-                */
-               void addExtra(const char *key, const char **array, int length);
-
-               /**
-                * @brief Launch app control request
-                * @return App Control launch result
-                *
-                * @see app_control_set_launch_mode()
-                * @see app_control_send_launch_request()
-                */
-               int launch(app_control_reply_cb replyCallback = nullptr, void *userData = nullptr,
-                               bool groupMode = true);
-
-               /**
-                * @see app_control_send_terminate_request()
-                */
-               void terminate();
-
-               /**
-                * @brief Prevent app control termination on destruction.
-                */
-               void detach();
-
-               AppControl &operator=(const AppControl&) = delete;
-               AppControl &operator=(AppControl&&);
-
-       private:
-               void reset();
-
-               app_control_h m_AppControl;
-               bool m_AutoTerminate;
-       };
-}
-
-#endif /* APP_APP_CONTROL_H */
diff --git a/lib-common/inc/App/AppControlRequest.h b/lib-common/inc/App/AppControlRequest.h
deleted file mode 100644 (file)
index 208e177..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef APP_APP_CONTROL_REQUEST_H
-#define APP_APP_CONTROL_REQUEST_H
-
-#include "App/AppControl.h"
-#include <string>
-#include <vector>
-
-#define APP_CONTROL_OPERATION_SETTING_CALL "http://tizen.org/appcontrol/operation/setting/call"
-
-#define APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
-
-#define APP_CONTROL_SELECT_SINGLE "single"
-#define APP_CONTROL_SELECT_MULTIPLE "multiple"
-
-#define APP_CONTROL_RESULT_ID "id"
-#define APP_CONTROL_RESULT_PHONE "phone"
-#define APP_CONTROL_RESULT_EMAIL "email"
-#define APP_CONTROL_RESULT_VCARD "vcf"
-
-namespace App
-{
-       /**
-        * @brief Request contact creation operation
-        * @param[in]   number  Phone number to save to the new contact
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestContactCreate(const char *number);
-
-       /**
-        * @brief Request contact view operation
-        * @param[in]   personId    ID of person to view
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestContactDetails(int personId);
-
-       /**
-        * @brief Request contact edit operation
-        * @param[in]   personId    ID of person to edit or 0 to launch pick first
-        * @param[in]   number      Phone number to add to the edited contact
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestContactEdit(int personId, const char *number);
-
-       /**
-        * @brief Request contact pick operation
-        * @param[in]   selectionMode   One of APP_CONTROL_SELECT_* values
-        * @param[in]   resultType      One of APP_CONTROL_RESULT_* values
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestContactPick(const char *selectionMode, const char *resultType);
-
-       /**
-        * @brief Request telephony call
-        * @param[in]   number  Number to call
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestTelephonyCall(const char *number);
-
-       /**
-        * @brief Request launch call settings
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestCallSettings();
-
-       /**
-        * @brief Request message composer
-        * @param[in]   scheme      URI scheme (e.g. sms:, mmsto: or mailto:)
-        * @param[in]   to          Message recipient
-        * @param[in]   subject     Message subject
-        * @param[in]   text        Message text
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestMessageComposer(const char *scheme, const char *to,
-                       const char *subject = nullptr, const char *text = nullptr);
-
-       /**
-        * @brief Request camera image capture
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestCameraImage();
-
-       /**
-        * @brief Request pick image from gallery
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestGalleryImage();
-
-       /**
-        * @brief Request share contact via other application
-        * @param[in]   personId    Contact's person ID
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestShareContact(int personId);
-
-       /**
-        * @brief Request share "My Profile" via other application
-        * @param[in]   recordId    "My Profile" record ID
-        * @return AppControl wrapper
-        */
-       AppControl EXPORT_API requestShareMyProfile(int recordId);
-
-       /**
-        * @brief Get single first string from App Control array extra data.
-        * @param[in]   appControl  App Control handle
-        * @param[in]   key         Extra data array key
-        * @return First string from array on success, otherwise empty string.
-        */
-       std::string EXPORT_API getSingleExtraData(app_control_h appControl, const char *key);
-
-       /**
-        * @brief Get vector of integer values from App Control array extra data.
-        * @param[in]   appControl  App Control handle
-        * @param[in]   key         Extra data array key
-        * @return Vector of integer values on success, otherwise empty vector.
-        */
-       std::vector<int> EXPORT_API getIntExtraDataArray(app_control_h appControl, const char *key);
-}
-
-#endif /* APP_APP_CONTROL_REQUEST_H */
diff --git a/lib-common/inc/App/Application.h b/lib-common/inc/App/Application.h
deleted file mode 100644 (file)
index 1abe2a2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef APP_APPLICATION_H
-#define APP_APPLICATION_H
-
-#include <app.h>
-
-namespace App
-{
-       /**
-        * @brief Application lifecycle controller.
-        */
-       class EXPORT_API Application
-       {
-       public:
-               /**
-                * @brief Run application main loop.
-                * @param[in]   argc    argc parameter received in main()
-                * @param[in]   argv    argv parameter received in main()
-                */
-               int run(int argc, char **argv);
-
-       protected:
-               virtual ~Application() { }
-
-               /**
-                * @brief Called when application is created
-                * @return true on success, otherwise false
-                */
-               virtual bool onCreate() { return true; }
-
-               /**
-                * @brief Called when application is terminated
-                */
-               virtual void onTerminate() { }
-
-               /**
-                * @brief Called when application is paused
-                */
-               virtual void onPause() { }
-
-               /**
-                * @brief Called when application is resumed
-                */
-               virtual void onResume() { }
-
-               /**
-                * @brief Called when application receives App Control request
-                * @param   request     App Control request
-                */
-               virtual void onAppControl(app_control_h request) { }
-       };
-}
-
-#endif /* APP_APPLICATION_H */
diff --git a/lib-common/inc/App/Path.h b/lib-common/inc/App/Path.h
deleted file mode 100644 (file)
index 768c673..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef APP_PATH_H
-#define APP_PATH_H
-
-#include <string>
-#include <tizen.h>
-
-namespace App
-{
-       /**
-        * @return Resource directory path
-        */
-       EXPORT_API const std::string &getResourceDir();
-
-       /**
-        * @return Localization files directory path
-        */
-       EXPORT_API const std::string &getLocaleDir();
-
-       /**
-        * @brief Get resource file path.
-        * @param[in]   relativePath    File path relative to resource directory
-        * @return Full file path
-        */
-       EXPORT_API std::string getResourcePath(const std::string &relativePath);
-}
-
-#endif /* APP_PATH_H */
diff --git a/lib-common/inc/Ui/Button.h b/lib-common/inc/Ui/Button.h
deleted file mode 100644 (file)
index 3fd5787..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_BUTTON_H
-#define UI_BUTTON_H
-
-#include "Ui/Control.h"
-#include <functional>
-
-namespace Ui
-{
-       /**
-        * @brief Provides convenient press and longpress events handling.
-        */
-       class EXPORT_API Button : public Control
-       {
-       public:
-               Button();
-               virtual ~Button() override;
-
-               /**
-                * @brief Set press-event callback.
-                */
-               void setPressedCallback(std::function<void(Button &)> callback);
-
-               /**
-                * @brief Set longpress-event callback.
-                * @details Callback should return true if the event was handled.
-                *          If callback returns false onPressed event will be delivered
-                *          as well when the button is released.
-                */
-               void setLongpressedCallback(std::function<bool(Button &)> callback);
-
-       private:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-               virtual void onCreated() override;
-
-               void onMouseDown(Evas *evas, Evas_Object *obj, void *eventInfo);
-               void onMouseUp(Evas *evas, Evas_Object *obj, void *eventInfo);
-               void onMouseOut(Evas *evas, Evas_Object *obj, void *eventInfo);
-
-               void resetTimer();
-               Eina_Bool onTimeout();
-
-               Ecore_Timer *m_Timer;
-               bool m_IsLongpressed;
-
-               std::function<void(Button &)> m_OnPressed;
-               std::function<bool(Button &)> m_OnLongpressed;
-       };
-}
-
-#endif /* UI_BUTTON_H */
diff --git a/lib-common/inc/Ui/Control.h b/lib-common/inc/Ui/Control.h
deleted file mode 100644 (file)
index 4f8cd84..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_CONTROL_H
-#define UI_CONTROL_H
-
-#include <Elementary.h>
-#include <tizen.h>
-
-namespace Ui
-{
-       class Window;
-
-       /**
-        * @brief Evas_Object wrapper.
-        * @details Ties the lifetime of this object to the underlying Evas_Object.
-        * @remark Should always be allocated with operator "new".
-        */
-       class EXPORT_API Control
-       {
-       public:
-               Control();
-               Control(const Control &that) = delete;
-               Control(Control &&that) = delete;
-               virtual ~Control();
-
-               Control & operator=(const Control &that) = delete;
-               Control & operator=(Control &&that) = delete;
-
-               /**
-                * @brief Create underlying Evas_Object by calling onCreate()
-                * @param[in]   parent  Parent Evas_Object
-                * @return Created Evas_Object on success, otherwise nullptr
-                */
-               Evas_Object *create(Evas_Object *parent);
-
-               /**
-                * @return Underlying Evas_Object.
-                */
-               Evas_Object *getEvasObject() const;
-
-               /**
-                * @return Main application window.
-                */
-               Window *getWindow() const;
-
-               /**
-                * @brief Get Control object from Evas_Object
-                * @param[in]   object  Evas_Object that belongs to some Control
-                * @return Control tied to Evas_Object
-                */
-               static Control *getControl(Evas_Object *object);
-
-               /**
-                * @brief Get main application window from any child object.
-                */
-               static Window *getWindow(Evas_Object *object);
-
-       protected:
-               /**
-                * @brief Called after create() is called
-                * @param[in]   parent  Parent Evas_Object
-                * @return Created Evas_Object on success, otherwise nullptr
-                */
-               virtual Evas_Object *onCreate(Evas_Object *parent) = 0;
-
-               /**
-                * @brief Called after onCreate() has returned
-                */
-               virtual void onCreated() { }
-
-       private:
-               void setEvasObject(Evas_Object *object);
-               Evas_Object *resetEvasObject();
-               void destroyEvasObject();
-
-               void onDestroy(Evas *e, Evas_Object *obj, void *event_info);
-
-               Evas_Object *m_Object;
-       };
-}
-
-#endif /* UI_CONTROL_H */
diff --git a/lib-common/inc/Ui/DatePopup.h b/lib-common/inc/Ui/DatePopup.h
deleted file mode 100644 (file)
index e955556..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_DATE_POPUP_H
-#define UI_DATE_POPUP_H
-
-#include "Ui/Popup.h"
-
-namespace Ui
-{
-       /**
-        * @brief Popup with date picker.
-        */
-       class EXPORT_API DatePopup : public Popup
-       {
-       public:
-               /**
-                * @brief Date input result callback.
-                * @param[in]   Inputed date
-                */
-               typedef std::function<void(const tm&)> ResultCallback;
-
-               /**
-                * @brief Create date popup.
-                * @param[in]   date    Initial date value
-                */
-               DatePopup(tm date);
-
-               /**
-                * @brief Set date input result callback.
-                * @param[in]   callback    Callback to be called when user confirmed inputed date
-                */
-               void setResultCallback(ResultCallback callback);
-
-       private:
-               virtual void onCreated() override;
-               void onSetPressed();
-
-               tm m_Date;
-               ResultCallback m_OnResult;
-               Evas_Object *m_DatePicker;
-       };
-}
-
-#endif /* UI_DATE_POPUP_H */
diff --git a/lib-common/inc/Ui/Editfield.h b/lib-common/inc/Ui/Editfield.h
deleted file mode 100644 (file)
index 289aaa9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_EDITFIELD_H
-#define UI_EDITFIELD_H
-
-#include "Ui/Control.h"
-
-namespace Ui
-{
-       /**
-        * @brief Editfield layout with entry and "clear" button
-        */
-       class EXPORT_API Editfield : public Control
-       {
-       public:
-               /**
-                * @brief Allows method overload instead of shadowing
-                */
-               using Control::create;
-
-               /**
-                * @brief Create editfield with guide text.
-                * @param[in]   parent      Editfield parent
-                * @param[in]   guideText   Text to be displayed when entry is empty
-                * @return Created editfield.
-                */
-               static Editfield *create(Evas_Object *parent, const char *guideText);
-
-               /**
-                * @brief Set entry guide text.
-                * @param[in]   guideText   Text to be displayed when entry is empty
-                */
-               void setGuideText(const char *guideText);
-
-               /**
-                * @return Contained entry.
-                */
-               Evas_Object *getEntry();
-
-               /**
-                * @return Clear button.
-                */
-               Evas_Object *getClearButton();
-
-       private:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-               static void onChanged(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
-               static void onFocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
-               static void onUnfocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo);
-               static void onClearPressed(Evas_Object *entry, Evas_Object *button, void *eventInfo);
-       };
-}
-
-#endif /* UI_EDITFIELD_H */
diff --git a/lib-common/inc/Ui/Genlist.h b/lib-common/inc/Ui/Genlist.h
deleted file mode 100644 (file)
index 2b6d375..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_GENLIST_H
-#define UI_GENLIST_H
-
-#include "Ui/Control.h"
-#include "Ui/GenlistIterator.h"
-
-namespace Ui
-{
-       class GenlistGroupItem;
-       class EXPORT_API Genlist : public Control
-       {
-       public:
-               enum Position
-               {
-                       Before,
-                       After
-               };
-
-               /**
-                * @return Genlist first Item.
-                */
-               GenlistItem *getFirstItem() const;
-
-               /**
-                * @return Genlist last Item.
-                */
-               GenlistItem *getLastItem() const;
-
-               /**
-                * @return Genlist begin iterator.
-                */
-               GenlistIterator begin() const;
-
-               /**
-                * @return Genlist end iterator.
-                */
-               GenlistIterator end() const;
-
-               /**
-                * @brief Insert genlist Item at specified position.
-                * @param[in]   item        Item to insert
-                * @param[in]   parent      Parent group item
-                * @param[in]   sibling     Sibling item
-                * @param[in]   position    Insert before/after @a sibling
-                * @remarks Inserting item BEFORE nullptr (@a sibling)
-                *          actually means that there is no items after it (i.e. item is appended).
-                *          Same goes for inserting AFTER nullptr (i.e. item is prepended).
-                *          This might seem like a counter-intuitive behavior but it supports
-                *          commonly used pattern.
-                */
-               void insert(GenlistItem *item,
-                               GenlistGroupItem *parent = nullptr,
-                               GenlistItem *sibling = nullptr,
-                               Position position = Before);
-
-               /**
-                * @brief Update specific parts of realized items
-                * @param[in]   parts   The name of item parts
-                * @param[in]   type    The type of item parts
-                * @see elm_genlist_item_fields_update()
-                */
-               void update(const char *parts, Elm_Genlist_Item_Field_Type type);
-
-       private:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-               static void onItemSelected(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
-               static void onItemExpanded(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
-               static void onItemContracted(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
-               static void onItemRealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
-               static void onItemUnrealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
-       };
-}
-
-#endif /* UI_GENLIST_H */
diff --git a/lib-common/inc/Ui/GenlistCheckItem.h b/lib-common/inc/Ui/GenlistCheckItem.h
deleted file mode 100644 (file)
index 467bda4..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_GENLIST_CHECK_ITEM
-#define UI_GENLIST_CHECK_ITEM
-
-#include "Ui/GenlistItem.h"
-
-namespace Ui
-{
-       /**
-        * @brief Genlist check item
-        */
-       class EXPORT_API GenlistCheckItem : public Ui::GenlistItem
-       {
-       public:
-               /**
-                * @brief Item check callback.
-                * @param[in]   Whether item is checked
-                */
-               typedef std::function<void(bool)> CheckCallback;
-
-               GenlistCheckItem();
-
-               /**
-                * @return Whether the item is checked.
-                */
-               bool isChecked() const;
-
-               /**
-                * @brief Set item check state.
-                * @param[in]   isChecked   Whether item is checked
-                */
-               void setChecked(bool isChecked);
-
-               /**
-                * @brief Set item check callback.
-                * @param[in]   callback    Callback to be called when item is checked/unchecked
-                */
-               void setCheckCallback(CheckCallback callback);
-
-       protected:
-               /**
-                * @see GenlistItem::getContent()
-                * @remark Use it in derived class to create check component
-                */
-               virtual Evas_Object *getContent(Evas_Object *parent, const char *part) override;
-
-               /**
-                * @see GenlistItem::onSelected()
-                */
-               virtual void onSelected() override;
-
-               /**
-                * @brief Called when item is checked or unchecked.
-                * @param[in]   isChecked   Whether item is checked
-                */
-               virtual void onChecked(bool isChecked) { }
-
-       private:
-               void onChecked();
-               void onCheckChanged(Evas_Object *check, void *eventInfo);
-
-               std::string m_CheckPart;
-               Eina_Bool m_IsChecked;
-               CheckCallback m_OnChecked;
-       };
-}
-
-#endif /* UI_GENLIST_CHECK_ITEM */
diff --git a/lib-common/inc/Ui/GenlistGroupItem.h b/lib-common/inc/Ui/GenlistGroupItem.h
deleted file mode 100644 (file)
index 1320795..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_GENLIST_GROUP_ITEM_H
-#define UI_GENLIST_GROUP_ITEM_H
-
-#include "Ui/Genlist.h"
-#include "Ui/GenlistItem.h"
-#include "Ui/GenlistIterator.h"
-#include <vector>
-
-namespace Ui
-{
-       class EXPORT_API GenlistGroupItem : virtual public GenlistItem
-       {
-       public:
-               GenlistGroupItem();
-               virtual ~GenlistGroupItem() override;
-
-               /**
-                * @return Group begin iterator.
-                */
-               GenlistIterator begin();
-
-               /**
-                * @return Group end iterator.
-                */
-               GenlistIterator end();
-
-               /**
-                * @return Whether the group has no items (i.e. GroupItem has no subitems).
-                */
-               bool empty() const;
-
-               /**
-                * @return Whether subitems are shown.
-                */
-               bool isExpanded() const;
-
-               /**
-                * @return Group item of the next group or nullptr if none.
-                */
-               GenlistGroupItem *getNextGroupItem() const;
-
-               /**
-                * @return Group item of the previous group or nullptr if none.
-                */
-               GenlistGroupItem *getPrevGroupItem() const;
-
-               /**
-                * @brief Insert sub item to the group.
-                * @details If group item is not yet inserted itself, sub item is cached
-                *          and inserted into genlist when it's parent is inserted.
-                * @see Genlist::insert()
-                */
-               void insertSubItem(GenlistItem *item,
-                               GenlistItem *sibling = nullptr,
-                               Genlist::Position position = Genlist::Before);
-
-       protected:
-               /**
-                * @see GenlistItem::isGroupItem()
-                */
-               virtual bool isGroupItem() const override { return true; }
-
-               /**
-                * @see GenlistItem::getType()
-                */
-               virtual Elm_Genlist_Item_Type getType() const override { return ELM_GENLIST_ITEM_GROUP; }
-
-               /**
-                * @see GenlistItem::getItemClass()
-                */
-               virtual Elm_Genlist_Item_Class *getItemClass() const override;
-
-               /**
-                * @see GenlistItem::onInserted()
-                */
-               virtual void onInserted() override;
-
-               /**
-                * @see GenlistItem::onPop()
-                */
-               virtual void onPop() override;
-
-               /**
-                * @brief Called when tree item is expanded or contracted.
-                */
-               virtual void onExpanded(bool isExpanded);
-
-       private:
-               friend class Genlist;
-               friend class GenlistItem;
-
-               void insertSubItems();
-               void popSubItems();
-
-               void onSubItemInserted(GenlistItem *item);
-               void onSubItemDestroy(GenlistItem *item);
-
-               GenlistItem *m_FirstItem;
-               GenlistItem *m_LastItem;
-               std::vector<GenlistItem *> m_ItemsCache;
-       };
-}
-
-#endif /* UI_GENLIST_GROUP_ITEM_H */
diff --git a/lib-common/inc/Ui/GenlistItem.h b/lib-common/inc/Ui/GenlistItem.h
deleted file mode 100644 (file)
index 4e96208..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_GENLIST_ITEM_H
-#define UI_GENLIST_ITEM_H
-
-#include <Elementary.h>
-#include <functional>
-#include <tizen.h>
-
-namespace Ui
-{
-       class Genlist;
-       class GenlistGroupItem;
-
-       class EXPORT_API GenlistItem
-       {
-       public:
-               /**
-                * @brief Called when item is selected.
-                */
-               typedef std::function<void()> SelectCallback;
-
-               GenlistItem();
-               virtual ~GenlistItem();
-
-               /**
-                * @return Whether the item is realized.
-                */
-               bool isRealized() const;
-
-               /**
-                * @return Whether the item is a group item.
-                */
-               virtual bool isGroupItem() const { return false; }
-
-               /**
-                * @return Whether the item can receive focus.
-                */
-               virtual bool isFocusable() const { return false; }
-
-               /**
-                * @return Item type.
-                */
-               virtual Elm_Genlist_Item_Type getType() const { return ELM_GENLIST_ITEM_NONE; }
-
-               /**
-                * @return Genlist object item.
-                */
-               Elm_Object_Item *getObjectItem() const;
-
-               /**
-                * @return Parent genlist.
-                */
-               Genlist *getParent() const;
-
-               /**
-                * @return Parent genlist group item or nullptr if none.
-                */
-               GenlistGroupItem *getParentItem() const;
-
-               /**
-                * @return Next item in genlist or nullptr if none.
-                */
-               GenlistItem *getNextItem() const;
-
-               /**
-                * @return Previous item in genlist or nullptr if none.
-                */
-               GenlistItem *getPrevItem() const;
-
-               /**
-                * @brief Set item selection callback.
-                * @param[in]   callback    Callback to be called when item is selected
-                */
-               void setSelectCallback(SelectCallback callback);
-
-               /**
-                * @brief Scroll genlist to item.
-                * @param[in]   position    Item position on screen
-                * @param[in]   isAnimated  Whether scrolling is animated or immediate
-                */
-               void scrollTo(Elm_Genlist_Item_Scrollto_Type position = ELM_GENLIST_ITEM_SCROLLTO_IN,
-                               bool isAnimated = false);
-
-               /**
-                * @brief Scroll to the item and give it focus.
-                * @see GenlistItem::scrollTo()
-                */
-               void focus(Elm_Genlist_Item_Scrollto_Type position = ELM_GENLIST_ITEM_SCROLLTO_IN,
-                               bool isAnimated = false);
-
-               /**
-                * @brief Remove item from genlist without destroying it.
-                */
-               void pop();
-
-       protected:
-               /**
-                * @brief Create statically allocated item class
-                */
-               static Elm_Genlist_Item_Class createItemClass(const char *style,
-                               const char *decorateStyle = nullptr,
-                               const char *editStyle = nullptr);
-
-               /**
-                * @return Genlist item class of this item.
-                */
-               virtual Elm_Genlist_Item_Class *getItemClass() const;
-
-               /**
-                * @brief Called whenever any item's text part needs to be updated.
-                * @param[in]   parent  Parent genlist
-                * @param[in]   part    Name of the part
-                * @return Allocated string with text for a specified part,
-                *         it will be deallocated with free() by genlist.
-                */
-               virtual char *getText(Evas_Object *parent, const char *part) { return nullptr; }
-
-               /**
-                * @brief Called whenever any item's content part needs to be updated.
-                * @param[in]   parent  Parent genlist
-                * @param[in]   part    Name of the part
-                * @return Content for a specified part.
-                */
-               virtual Evas_Object *getContent(Evas_Object *parent, const char *part) { return nullptr; }
-
-               /**
-                * @brief Called whenever any item's state part needs to be updated
-                * @details Genlist will emit signal "elm,state,x,active" or
-                *          "elm,state,x,passive" with part's name instead of 'x'.
-                * @param[in]   parent  Parent genlist
-                * @param[in]   part    Name of the part
-                * @return EINA_TRUE for active, EINA_FALSE for passive
-                */
-               virtual Eina_Bool getState(Evas_Object *parent, const char *part) { return EINA_FALSE; }
-
-               /**
-                * @brief Called after item was inserted into genlist.
-                */
-               virtual void onInserted() { }
-
-               /**
-                * @brief Called before item is popped.
-                */
-               virtual void onPop() { }
-
-               /**
-                * @brief Called when item is selected.
-                */
-               virtual void onSelected() { }
-
-               /**
-                * @brief Called when item is focused by calling focus().
-                */
-               virtual void onFocused() { }
-
-               /**
-                * @brief Called when item is realized (became visible).
-                */
-               virtual void onRealized() { }
-
-               /**
-                * @brief Called when item is unrealized (became invisible)
-                *        and its text and content is deleted until it is realized again.
-                */
-               virtual void onUnrealized() { }
-
-       private:
-               friend class Genlist;
-               void onInserted(Elm_Object_Item *item);
-               void onDestroy(Evas_Object *genlist);
-
-               void onSelected(Elm_Object_Item *item);
-               void onRealized(Elm_Object_Item *item);
-               void onUnrealized(Elm_Object_Item *item);
-
-               Elm_Object_Item *m_Item;
-               bool m_Preserve;
-
-               bool m_IsRealized;
-               bool m_IsFocusPending;
-
-               SelectCallback m_OnSelected;
-       };
-}
-
-#endif /* UI_GENLIST_ITEM_H */
diff --git a/lib-common/inc/Ui/GenlistIterator.h b/lib-common/inc/Ui/GenlistIterator.h
deleted file mode 100644 (file)
index 754cf26..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_GENLIST_ITERATOR_H
-#define UI_GENLIST_ITERATOR_H
-
-#include <iterator>
-#include <tizen.h>
-
-namespace Ui
-{
-       class GenlistItem;
-
-       /**
-        * @brief Genlist items iterator.
-        */
-       class EXPORT_API GenlistIterator :
-                       public std::iterator<std::bidirectional_iterator_tag, GenlistItem *>
-       {
-       public:
-               /**
-                * @brief Create genlist iterator
-                * @param[in]   item    Item pointed by iterator
-                */
-               GenlistIterator(GenlistItem *item = nullptr);
-
-               /**
-                * @brief Increment iterator.
-                */
-               GenlistIterator &operator++();
-               GenlistIterator operator++(int);
-
-               /**
-                * @brief Decrement iterator.
-                */
-               GenlistIterator &operator--();
-               GenlistIterator operator--(int);
-
-               /**
-                * @brief Dereference iterator.
-                */
-               GenlistItem *operator*() const;
-
-               /**
-                * @brief Compare iterators for inequality.
-                */
-               bool operator!=(const GenlistIterator &that) const;
-
-       private:
-               GenlistItem *m_Item;
-       };
-}
-
-#endif /* UI_GENLIST_ITERATOR_H */
diff --git a/lib-common/inc/Ui/Hoversel.h b/lib-common/inc/Ui/Hoversel.h
deleted file mode 100644 (file)
index 060cbbf..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_HOVERSEL_H
-#define UI_HOVERSEL_H
-
-#include "Ui/Control.h"
-#include <functional>
-
-namespace Ui
-{
-       class EXPORT_API Hoversel : public Control
-       {
-       public:
-               /**
-                * @brief Item selection callback.
-                * @param[in]   Item value
-                * @return Whether to display selected item in hoversel button automatically
-                */
-               typedef std::function<bool(int)> SelectedCallback;
-
-               /**
-                * @brief Add item.
-                * @param[in]   text        Item text
-                * @param[in]   value       Item value which will be passed to SelectedCallback
-                * @return Added item on success, otherwise nullptr.
-                */
-               Elm_Object_Item *addItem(const char *text, int value);
-
-               /**
-                * @brief Set text of currently selected item.
-                * @param[in]   text        Text to be displayed in hoversel button
-                */
-               void setText(const char *text);
-
-               /**
-                * @brief Set item selection callback.
-                * @param[in]   callback    Callback to be called after item was selected
-                */
-               void setSelectedCallback(SelectedCallback callback);
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-       private:
-               void onSelected(Evas_Object *hoversel, Elm_Object_Item *item);
-               static void onExpanded(void *data, Evas_Object *hoversel, void *eventInfo);
-               static void onDismissed(void *data, Evas_Object *hoversel, void *eventInfo);
-               static void onBackPressed(void *data, Evas_Object *hoversel, void *eventInfo);
-
-               SelectedCallback m_OnSelected;
-       };
-}
-
-#endif /* UI_HOVERSEL_H */
diff --git a/lib-common/inc/Ui/ListPopup.h b/lib-common/inc/Ui/ListPopup.h
deleted file mode 100644 (file)
index 7019211..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_LIST_POPUP_H
-#define UI_LIST_POPUP_H
-
-#include "Ui/Popup.h"
-
-namespace Ui
-{
-       class EXPORT_API ListPopup : public Popup
-       {
-       public:
-               /**
-                * @brief Specific item selection callback.
-                */
-               typedef std::function<void()> ItemSelectedCallback;
-
-               /**
-                * @brief Any item selection callback.
-                * @param[in]   Item data
-                */
-               typedef std::function<void(void *)> SelectedCallback;
-
-               /**
-                * @brief Create list popup
-                * @param[in]   itemStyle   Genlist item style
-                */
-               ListPopup(const char *itemStyle = "type1");
-
-               /**
-                * @brief Add ListPopup item
-                * @param[in]   text        Main text of the item
-                * @param[in]   data        Data associated with the item
-                * @param[in]   callback    Callback to be called when item is selected
-                * @return Added item on success, otherwise nullptr
-                */
-               Elm_Object_Item *addItem(std::string text, void *data, ItemSelectedCallback callback = nullptr);
-               Elm_Object_Item *addItem(std::string text, ItemSelectedCallback callback = nullptr);
-               Elm_Object_Item *addItem(void *data, ItemSelectedCallback callback = nullptr);
-
-               /**
-                * @brief Set item selection callback.
-                * @param[in]   callback    Callback to be called when any item is selected
-                */
-               void setSelectedCallback(SelectedCallback callback);
-
-       protected:
-               /**
-                * @see Control::onCreate()
-                */
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-               /**
-                * @brief Called when item's text part needs to be updated.
-                * @details If "elm.text" part is not handled in this function then it will
-                *          contain the text specified in ListPopup::addItem().
-                * @see Elm_Gen_Item_Text_Get_Cb.
-                */
-               virtual char *getItemText(void *data, const char *part) { return nullptr; }
-
-               /**
-                * @brief Called when item's content part needs to be updated.
-                * @see Elm_Gen_Item_Content_Get_Cb.
-                */
-               virtual Evas_Object *getItemContent(void *data, const char *part) { return nullptr; }
-
-               /**
-                * @brief Called when any item is selected.
-                * @param[in]   data    Item data
-                */
-               virtual void onItemSelected(void *data) { }
-
-       private:
-               struct ItemData;
-
-               static char *getText(ItemData *itemData, Evas_Object *genlist, const char *part);
-               static Evas_Object *getContent(ItemData *itemData, Evas_Object *genlist, const char *part);
-               static void onSelected(ListPopup *popup, Evas_Object *genlist, Elm_Object_Item *item);
-
-               Evas_Object *m_Genlist;
-               Elm_Genlist_Item_Class m_ItemClass;
-               SelectedCallback m_OnSelected;
-       };
-}
-
-#endif /* UI_LIST_POPUP_H */
diff --git a/lib-common/inc/Ui/Menu.h b/lib-common/inc/Ui/Menu.h
deleted file mode 100644 (file)
index b59e9ba..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_MENU_H
-#define UI_MENU_H
-
-#include "Ui/Control.h"
-#include <functional>
-
-namespace Ui
-{
-       class EXPORT_API Menu : public Control
-       {
-       public:
-               /**
-                * @brief Item selection callback
-                */
-               typedef std::function<void()> ItemCallback;
-
-               /**
-                * @brief Add menu item
-                * @param[in]   text        Item text
-                * @param[in]   callback    Item selection callback
-                * @return Added item on success, otherwise nullptr
-                */
-               Elm_Object_Item *addItem(const char *text, ItemCallback callback);
-
-               /**
-                * @brief Show menu at the bottom of application window.
-                */
-               void show();
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-       private:
-               static void onItemSelect(void *data, Evas_Object *obj, void *item);
-               static void onItemDestroy(void *data, Evas_Object *obj, void *item);
-               void onDismissed(Evas_Object *obj, void *eventInfo);
-       };
-}
-
-#endif /* UI_MENU_H */
diff --git a/lib-common/inc/Ui/Naviframe.h b/lib-common/inc/Ui/Naviframe.h
deleted file mode 100644 (file)
index b10963d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_NAVIFRAME_H
-#define UI_NAVIFRAME_H
-
-#include "Ui/Navigator.h"
-
-namespace Ui
-{
-       /**
-        * @brief Naviframe wrapper
-        */
-       class EXPORT_API Naviframe : public Navigator
-       {
-       public:
-               Naviframe();
-
-               /**
-                * @see Navigator::getCurrentView()
-                */
-               virtual View *getCurrentView() const override;
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-               virtual NavigatorPage *attachView(View *view) override;
-               virtual void navigateToView(View *view) override;
-
-               Eina_Bool onItemPop(Elm_Object_Item *item);
-               void onTransition(Evas_Object *obj, void *eventInfo);
-               virtual bool onBackPressed() override;
-       };
-}
-
-#endif /* UI_NAVIFRAME_H */
diff --git a/lib-common/inc/Ui/NaviframePage.h b/lib-common/inc/Ui/NaviframePage.h
deleted file mode 100644 (file)
index 5217d0b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_NAVIFRAME_PAGE_H
-#define UI_NAVIFRAME_PAGE_H
-
-#include "Ui/NavigatorPage.h"
-
-namespace Ui
-{
-       class EXPORT_API NaviframePage : public NavigatorPage
-       {
-       public:
-               NaviframePage(Elm_Object_Item *naviItem);
-               virtual ~NaviframePage() override;
-
-               /**
-                * @see NavigatorPage::setTitle()
-                */
-               virtual void setTitle(const char *title) override;
-
-               /**
-                * @see NavigatorPage::setStyle()
-                */
-               virtual void setStyle(const char *style) override;
-
-               /**
-                * @see NavigatorPage::setContent()
-                */
-               virtual void setContent(const char *part, Evas_Object *content) override;
-
-       private:
-               friend class Naviframe;
-
-               Elm_Object_Item *m_NaviItem;
-       };
-}
-
-#endif /* UI_NAVIFRAME_PAGE_H */
diff --git a/lib-common/inc/Ui/Navigator.h b/lib-common/inc/Ui/Navigator.h
deleted file mode 100644 (file)
index 050fe46..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_NAVIGATOR_H
-#define UI_NAVIGATOR_H
-
-#include "Ui/View.h"
-
-namespace Ui
-{
-       class NavigatorPage;
-       class EXPORT_API Navigator : public View
-       {
-       public:
-               /**
-                * @return Currently displayed view
-                */
-               virtual View *getCurrentView() const = 0;
-
-               /**
-                * @brief Navigate to existing or new View
-                * @param[in]   view    View to navigate to
-                */
-               void navigateTo(View *view);
-
-       protected:
-               Navigator(NavigatorType type);
-
-               /**
-                * @brief Notify specified View about navigation
-                * @param[in]   view            View to notify
-                * @param[in]   isCurrentView   Specifies the new state of the @a view
-                */
-               void notifyNavigation(View *view, bool isCurrentView);
-
-               /**
-                * @brief Called after navigateTo() is called for a new view
-                * @param[in]   view    View to attach
-                * @return NavigatorPage for the view
-                */
-               virtual NavigatorPage *attachView(View *view) = 0;
-
-               /**
-                * @brief Called after navigateTo() is called
-                * @param[in]   view    View to navigate to
-                */
-               virtual void navigateToView(View *view) = 0;
-
-               /**
-                * @see View::onNavigation()
-                */
-               virtual void onNavigation(bool isCurrentView) override;
-
-               /**
-                * @see View::onBackPressed()
-                */
-               virtual bool onBackPressed() override;
-
-               /**
-                * @see View::onMenuPressed()
-                */
-               virtual void onMenuPressed() override;
-
-       private:
-               NavigatorType m_Type;
-       };
-}
-
-#endif /* UI_NAVIGATOR_H */
diff --git a/lib-common/inc/Ui/NavigatorPage.h b/lib-common/inc/Ui/NavigatorPage.h
deleted file mode 100644 (file)
index 7c5826d..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_NAVIGATOR_PAGE_H
-#define UI_NAVIGATOR_PAGE_H
-
-#include <Elementary.h>
-#include <tizen.h>
-
-namespace Ui
-{
-       /**
-        * @brief Navigator page interface
-        */
-       class EXPORT_API NavigatorPage
-       {
-       public:
-               virtual ~NavigatorPage() { }
-
-               /**
-                * @brief Set page title.
-                * @param[in]   title   Page title
-                */
-               virtual void setTitle(const char *title) = 0;
-
-               /**
-                * @brief Set page style.
-                * @param[in]   style   Page style
-                */
-               virtual void setStyle(const char *style) = 0;
-
-               /**
-                * @brief Set page part content.
-                * @param[in]   content Content to set to page part
-                */
-               virtual void setContent(const char *part, Evas_Object *content) = 0;
-       };
-}
-
-#endif /* UI_NAVIGATOR_PAGE_H */
diff --git a/lib-common/inc/Ui/Popup.h b/lib-common/inc/Ui/Popup.h
deleted file mode 100644 (file)
index 319ac7a..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_POPUP_H
-#define UI_POPUP_H
-
-#include "Ui/Control.h"
-#include <functional>
-
-#define POPUP_BUTTON_MAX_COUNT 3
-
-namespace Ui
-{
-       class EXPORT_API Popup : public Control
-       {
-       public:
-               /**
-                * @brief Popup button pressed callback
-                * @return true to destroy the Popup, otherwise false
-                */
-               typedef std::function<bool()> ButtonCallback;
-
-               /**
-                * @brief Back button pressed callback
-                * @return true to destroy the Popup, otherwise false
-                */
-               typedef std::function<bool()> BackCallback;
-
-               Popup();
-
-               /**
-                * @brief Allows method overload instead of shadowing
-                */
-               using Control::create;
-
-               /**
-                * @brief Create popup with title, text and close button
-                * @param[in]   parent      Popup parent
-                * @param[in]   title       Popup title
-                * @param[in]   text        Popup text
-                * @param[in]   button_text Text for close button
-                * @return Created popup
-                */
-               static Popup *create(Evas_Object *parent, const char *title,
-                               const char *text, const char *button_text);
-
-               /**
-                * @brief Set Popup title
-                * @param[in]   title       Popup title
-                */
-               void setTitle(const char *title);
-
-               /**
-                * @brief Set Popup text
-                * @param[in]   text        Popup text
-                */
-               void setText(const char *text);
-
-               /**
-                * @brief Set Popup content
-                * @param[in]   content     Popup content
-                */
-               void setContent(Evas_Object *content);
-
-               /**
-                * @brief Add Popup button
-                * @param[in]   text        Button text
-                * @param[in]   callback    Button click callback
-                * @return Added button on success, otherwise nullptr
-                */
-               Evas_Object *addButton(const char *text, ButtonCallback callback = nullptr);
-
-               /**
-                * @brief Set callback on back button
-                * @param[in]   callback    Back callback
-                */
-               void setBackCallback(BackCallback callback);
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-       private:
-               void onButtonPressed(Evas_Object *obj, void *eventInfo);
-               void onBackPressed(Evas_Object *obj, void *eventInfo);
-
-               ButtonCallback m_ButtonCbs[POPUP_BUTTON_MAX_COUNT];
-               size_t m_ButtonCount;
-               BackCallback m_OnBack;
-       };
-}
-
-#endif /* UI_POPUP_H */
diff --git a/lib-common/inc/Ui/ProgressController.h b/lib-common/inc/Ui/ProgressController.h
deleted file mode 100644 (file)
index c241f1b..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef PROGRESS_CONTROLLER_H
-#define PROGRESS_CONTROLLER_H
-
-#include <Elementary.h>
-#include <functional>
-#include <tizen.h>
-
-namespace Ui
-{
-       class ProgressPopup;
-
-       /**
-        * @brief Controller for ProgressPopup
-        */
-       class EXPORT_API ProgressController
-       {
-       public:
-               /**
-                * @brief Finish progress callback.
-                */
-               typedef std::function<void(const ProgressController &)> FinishCallback;
-
-               /**
-                * @brief Create controller for ProgressPopup.
-                * @param[in]   parent      Parent object
-                * @param[in]   title       Progress popup title
-                * @param[in]   maxValue    max value of progress popup
-                */
-               ProgressController(Evas_Object *parent, const char *title, int maxValue);
-               ProgressController(const ProgressController &that) = delete;
-               virtual ~ProgressController();
-
-               ProgressController & operator=(const ProgressController &that) = delete;
-
-               /**
-                * @brief Run progress.
-                */
-               void run();
-
-               /**
-                * @brief Set finish function which is called when the progress is over.
-                * @param[in]   callback    Finish function
-                */
-               void setFinishCallback(FinishCallback callback);
-
-       protected:
-               virtual void onStart(Ecore_Thread *thread) = 0;
-               virtual void onCanceled() = 0;
-               virtual bool onCancel();
-
-               void cancel();
-               bool onProgress(size_t value);
-
-       private:
-               void createProgressPopup(Evas_Object *parent, const char *title, int maxValue);
-
-               static void onStart(void *data, Ecore_Thread *thread);
-               static void onNotify(void *data, Ecore_Thread *thread, void *msgData);
-               static void onFinish(void *data, Ecore_Thread *thread);
-               static void onCanceled(void *data, Ecore_Thread *thread);
-
-       private:
-               bool m_IsCanceled;
-               FinishCallback m_OnFinish;
-               ProgressPopup *m_ProgressPopup;
-               Ecore_Thread *m_Thread;
-       };
-}
-
-#endif /* PROGRESS_CONTROLLER_H */
diff --git a/lib-common/inc/Ui/ProgressPopup.h b/lib-common/inc/Ui/ProgressPopup.h
deleted file mode 100644 (file)
index b6c67fc..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_PROGRESS_POPUP_H
-#define UI_PROGRESS_POPUP_H
-
-#include "Ui/Popup.h"
-
-namespace Ui
-{
-       class EXPORT_API ProgressPopup : public Popup
-       {
-       public:
-               /**
-                * @brief Create progress popup.
-                * @param[in]   maxValue    Max value of progressbar
-                */
-               ProgressPopup(size_t maxValue);
-
-               /**
-                * @brief Set progress of the progressbar
-                * @param[in]   value   Progress value
-                */
-               void setProgress(size_t value);
-
-       private:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-       private:
-               size_t m_MaxValue;
-               Evas_Object *m_Progressbar;
-       };
-}
-
-#endif /* UI_PROGRESS_POPUP_H */
diff --git a/lib-common/inc/Ui/Scale.h b/lib-common/inc/Ui/Scale.h
deleted file mode 100644 (file)
index 06c8009..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_SCALE_H
-#define UI_SCALE_H
-
-#include <tizen.h>
-
-#define UI_BASE_SCALE 2.6
-
-namespace Ui
-{
-       /**
-        * @brief Scale the value using application base scale and device config scale
-        * @param[in]   value   Value to scale (usually pixels)
-        * @return Value multiplied by scale factor
-        */
-       EXPORT_API int getScaledValue(int value);
-}
-
-#endif /* UI_SCALE_H */
diff --git a/lib-common/inc/Ui/TabPage.h b/lib-common/inc/Ui/TabPage.h
deleted file mode 100644 (file)
index 4223028..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_TAB_PAGE_H
-#define UI_TAB_PAGE_H
-
-#include "Ui/Control.h"
-#include "Ui/NavigatorPage.h"
-
-namespace Ui
-{
-       class EXPORT_API TabPage : public Control, public NavigatorPage
-       {
-       public:
-               TabPage(size_t index, Elm_Object_Item *tabItem);
-               virtual ~TabPage() override;
-
-               /**
-                * @see NavigatorPage::setTitle()
-                */
-               virtual void setTitle(const char *title) override;
-
-               /**
-                * @see NavigatorPage::setStyle()
-                */
-               virtual void setStyle(const char *style) override;
-
-               /**
-                * @see NavigatorPage::setContent()
-                */
-               virtual void setContent(const char *part, Evas_Object *content) override;
-
-       private:
-               friend class TabView;
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-               size_t m_Index;
-               Elm_Object_Item *m_TabItem;
-
-               Evas_Object *m_Sizer;
-               Evas_Object *m_Page;
-       };
-}
-
-#endif /* UI_TAB_PAGE_H */
diff --git a/lib-common/inc/Ui/TabView.h b/lib-common/inc/Ui/TabView.h
deleted file mode 100644 (file)
index f56b85b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_TAB_VIEW_H
-#define UI_TAB_VIEW_H
-
-#include "Ui/Navigator.h"
-#include <vector>
-
-namespace Ui
-{
-       /**
-        * @brief Scrollable tab navigator
-        */
-       class EXPORT_API TabView : public Navigator
-       {
-       public:
-               TabView();
-
-               /**
-                * @see Navigator::getCurrentView()
-                */
-               virtual View *getCurrentView() const override;
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-               virtual void onPageAttached() override;
-
-               virtual NavigatorPage *attachView(View *view) override;
-               virtual void navigateToView(View *view) override;
-
-       private:
-               static void onTabDestroy(void *data, Evas_Object *obj, void *tabItem);
-               void onTabSelect(Evas_Object *obj, void *tabItem);
-               void onPageChanged(Evas_Object *obj, void *eventInfo);
-               void onResize(Evas *e, Evas_Object *obj, void *eventInfo);
-
-               Evas_Object *m_Tabbar;
-               Evas_Object *m_Scroller;
-               Evas_Object *m_Box;
-
-               Evas_Coord m_Width;
-               Evas_Coord m_Height;
-
-               bool m_IsNavigating;
-               size_t m_CurrentPage;
-               std::vector<View *> m_Views;
-       };
-}
-
-#endif /* UI_TAB_VIEW_H */
diff --git a/lib-common/inc/Ui/Thumbnail.h b/lib-common/inc/Ui/Thumbnail.h
deleted file mode 100644 (file)
index 3898698..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_THUMBNAIL_H
-#define UI_THUMBNAIL_H
-
-#include "Ui/Control.h"
-
-namespace Ui
-{
-       class EXPORT_API Thumbnail : public Control
-       {
-       public:
-               enum Size
-               {
-                       SizeSmall,
-                       SizeMedium,
-                       SizeLarge
-               };
-
-               /**
-                * @brief Create thumbnail
-                * @param[in]   size    Thumbnail size
-                */
-               Thumbnail(Size size);
-
-               /**
-                * @brief Allows method overload instead of shadowing
-                */
-               using Control::create;
-
-               /**
-                * @brief Create thumbnail
-                * @param[in]   parent  Thumbnail parent
-                * @param[in]   size    Thumbnail size
-                * @param[in]   path    Thumbnail Image path or nullptr for default image
-                * @return Created thumbnail
-                */
-               static Thumbnail *create(Evas_Object *parent, Size size, const char *path = nullptr);
-
-               /**
-                * @return Thumbnail image object.
-                */
-               Evas_Object *getImage() const;
-
-               /**
-                * @brief Set thumbnail image path
-                * @param[in]   path    Image path or nullptr for default image
-                */
-               void setImagePath(const char *path);
-
-               /**
-                * @brief Set whether minimal size hint is set for image
-                * @param[in]   isSet   Whether to set image size hint
-                */
-               void setSizeHint(bool isSet);
-
-       protected:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-
-       private:
-               Size m_Size;
-               Evas_Object *m_Image;
-       };
-}
-
-#endif /* UI_THUMBNAIL_H */
diff --git a/lib-common/inc/Ui/View.h b/lib-common/inc/Ui/View.h
deleted file mode 100644 (file)
index 3f87a7d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_VIEW_H
-#define UI_VIEW_H
-
-#include "Ui/Control.h"
-#include "Ui/NavigatorPage.h"
-
-namespace Ui
-{
-       class Navigator;
-       class Window;
-
-       /**
-        * @brief Navigation type supported by Navigator
-        */
-       enum NavigatorType
-       {
-               StackNavigator, /**< Allows navigation to the added View or the previous View */
-               TabNavigator    /**< Allows navigation to any added View */
-       };
-
-       /**
-        * @brief Represents content of a Window or Navigator page
-        */
-       class EXPORT_API View : public Control
-       {
-       public:
-               /**
-                * @brief Get parent Navigator
-                * @param[in]   type    Navigator type
-                * @return Innermost parent Navigator of the specified type if exists,
-                *         otherwise nullptr
-                */
-               Navigator *getNavigator(NavigatorType type = StackNavigator) const;
-
-               /**
-                * @return NavigatorPage of this View
-                */
-               NavigatorPage *getPage() const;
-
-       protected:
-               View();
-               virtual ~View() override;
-
-               /**
-                * @brief Called after Navigator has navigated to or from this View
-                * @param[in]   isCurrentView   Specifies the new state of this View
-                */
-               virtual void onNavigation(bool isCurrentView) { }
-
-               /**
-                * @brief Called when NavigatorPage is attached to this View
-                */
-               virtual void onPageAttached() { }
-
-               /**
-                * @brief Called when "back" button is pressed
-                * @return true to navigate to the previous view, otherwise false
-                */
-               virtual bool onBackPressed() { return true; }
-
-               /**
-                * @brief Called when "menu" button is pressed
-                */
-               virtual void onMenuPressed() { }
-
-       private:
-               friend class Window;
-               friend class Navigator;
-
-               void onViewAttached(Navigator *stackNavi, Navigator *tabNavi);
-               void onPageAttached(NavigatorPage *page);
-
-               Navigator     *m_StackNavi;
-               Navigator     *m_TabNavi;
-               NavigatorPage *m_NaviPage;
-       };
-}
-
-#endif /* UI_VIEW_H */
diff --git a/lib-common/inc/Ui/Window.h b/lib-common/inc/Ui/Window.h
deleted file mode 100644 (file)
index 1368009..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UI_WINDOW_H
-#define UI_WINDOW_H
-
-#include "Ui/Control.h"
-
-namespace Ui
-{
-       class View;
-
-       /**
-        * @brief Application main window
-        */
-       class EXPORT_API Window : public Control
-       {
-       public:
-               Window();
-
-               /**
-                * @return Conformant Evas_Object.
-                */
-               Evas_Object *getConformant() const;
-
-               /**
-                * @return Basic Window layout Evas_Object.
-                */
-               Evas_Object *getBaseLayout() const;
-
-               /**
-                * @brief Attach main View to be displayed in the Window.
-                * @param[in]   view    Window main View
-                */
-               void attachView(View *view);
-
-       private:
-               virtual Evas_Object *onCreate(Evas_Object *parent) override;
-               void onBackPressed(Evas_Object *obj, void *eventInfo);
-               void onMenuPressed(Evas_Object *obj, void *eventInfo);
-
-               Evas_Object *m_Conform;
-               Evas_Object *m_Layout;
-               View *m_MainView;
-       };
-}
-
-#endif /* UI_WINDOW_H */
diff --git a/lib-common/inc/Utils/Callback.h b/lib-common/inc/Utils/Callback.h
deleted file mode 100644 (file)
index 80e7f11..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_CALLBACK_H
-#define UTILS_CALLBACK_H
-
-#include "Utils/CallbackImpl.h"
-
-/**
- * @brief Make C-style callback from non-static class method with object as first parameter.
- * @details Generates static member function by adding void* first parameter.
- *          Generated function forwards calls to specified method on object passed as first parameter.
- * @par example
- * @code
- *
- * class SomeView : public View
- * {
- *     ...
- * private:
- *     void onButtonPressed(Evas_Object *obj, void *eventInfo);
- * }
- *
- * void SomeView::someMethod(Evas_Object *parent)
- * {
- *     Evas_Object *button = elm_button_add(parent);
- *     evas_object_smart_callback_add(button, "clicked",
- *             makeCallback(&SomeView::onButtonPressed), this);
- *     ...
- * }
- *
- * @endcode
- */
-#define makeCallback(method) \
-       ::Utils::Callback<decltype(method)>::makeWithFirstParam<method>()
-
-/**
- * @brief Make C-style callback from non-static class method with object as last parameter.
- * @see makeCallback()
- */
-#define makeCallbackWithLastParam(method) \
-       ::Utils::Callback<decltype(method)>::makeWithLastParam<method>()
-
-#endif /* UTILS_CALLBACK_H */
diff --git a/lib-common/inc/Utils/CallbackImpl.h b/lib-common/inc/Utils/CallbackImpl.h
deleted file mode 100644 (file)
index fd69bd1..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef CALLBACK_IMPL_H
-#define CALLBACK_IMPL_H
-
-namespace Utils
-{
-       template <typename F>
-       class Callback;
-
-       template <typename R, typename... A>
-       class Callback<R(A...)>
-       {
-       public:
-               template <class C, R(C::*Method)(A...)>
-               static R stubWithFirstParam(void *object, A... args)
-               {
-                       return (static_cast<C*>(object)->*Method)(args...);
-               }
-
-               template <class C, R(C::*Method)(A...)>
-               static R stubWithLastParam(A... args, void *object)
-               {
-                       return (static_cast<C*>(object)->*Method)(args...);
-               }
-       };
-
-       template <typename R, typename C, typename... A>
-       class Callback<R(C::*)(A...)>
-       {
-       public:
-               typedef R(*WithFirstParam)(void*, A...);
-               typedef R(*WithLastParam)(A..., void*);
-
-               template <R(C::*Method)(A...)>
-               static WithFirstParam makeWithFirstParam()
-               {
-                       return &Callback<R(A...)>::template stubWithFirstParam<C, Method>;
-               }
-
-               template <R(C::*Method)(A...)>
-               static WithLastParam makeWithLastParam()
-               {
-                       return &Callback<R(A...)>::template stubWithLastParam<C, Method>;
-               }
-       };
-}
-
-#endif /* CALLBACK_IMPL_H */
diff --git a/lib-common/inc/Utils/Iterator.h b/lib-common/inc/Utils/Iterator.h
deleted file mode 100644 (file)
index beaf218..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_ITERATOR_H
-#define UTILS_ITERATOR_H
-
-#include <iterator>
-#include <stddef.h>
-
-namespace Utils
-{
-       /**
-        * @brief Base class for index-based iterators.
-        * @details CRTP (Curiously Recurring Template Pattern) is used to generate
-        *          operators that return or use derived type.
-        */
-       template <typename DerivedIterator,
-               typename ValueType,
-               typename Pointer = ValueType *,
-               typename Reference = ValueType &,
-               typename Distance = ptrdiff_t>
-       class IndexIterator :
-               public std::iterator<std::bidirectional_iterator_tag, ValueType, Distance, Pointer, Reference>
-       {
-       public:
-               /**
-                * @brief Create iterator from index.
-                * @param[in]   index   Current position of iterator
-                */
-               IndexIterator(size_t index = 0)
-                       : m_Index(index) { }
-
-               /**
-                * @brief Dereference iterator.
-                */
-               Pointer operator->() const { return &*getDerived(); }
-
-               /**
-                * @brief Increment iterator.
-                */
-               DerivedIterator &operator++() { ++m_Index; return getDerived(); }
-               DerivedIterator operator++(int) { auto it(getDerived()); ++*this; return it; }
-
-               /**
-                * @brief Decrement iterator.
-                */
-               DerivedIterator &operator--() { --m_Index; return getDerived(); }
-               DerivedIterator operator--(int) { auto it(getDerived()); --*this; return it; }
-
-               /**
-                * @brief Compare iterators.
-                */
-               bool operator==(const IndexIterator &that) { return m_Index == that.m_Index; }
-               bool operator!=(const IndexIterator &that) { return m_Index != that.m_Index; }
-
-       protected:
-               /**
-                * @return Current index.
-                */
-               size_t getIndex() const { return m_Index; }
-
-       private:
-               DerivedIterator &getDerived() { return static_cast<DerivedIterator &>(*this); }
-               const DerivedIterator &getDerived() const { return static_cast<const DerivedIterator &>(*this); }
-
-               size_t m_Index;
-       };
-}
-
-#endif /* UTILS_ITERATOR_H */
diff --git a/lib-common/inc/Utils/Logger.h b/lib-common/inc/Utils/Logger.h
deleted file mode 100644 (file)
index c6d4b77..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_LOGGER_H
-#define UTILS_LOGGER_H
-
-#define LOG_TAG "contacts"
-#include <dlog.h>
-
-#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
-
-#include "Utils/Tracer.h"
-#define TRACE ::Utils::Tracer tracer(LOG_TAG, __MODULE__, __func__, __LINE__)
-
-#define DLOG(prio, fmt, arg...) dlog_print(prio, LOG_TAG, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg)
-#define DBG(fmt, arg...) DLOG(DLOG_DEBUG, fmt, ##arg)
-#define ERR(fmt, arg...) DLOG(DLOG_ERROR, fmt, ##arg)
-
-#define LOG_IF(expr, action, fmt, arg...) \
-if (expr) { \
-       ERR(fmt, ##arg); \
-       action; \
-}
-
-#define LOG_IF_ERR(code, action, fmt, arg...) \
-LOG_IF(code != TIZEN_ERROR_NONE, action, fmt " %s.", ##arg, get_error_message(code))
-
-#define WARN_IF(expr, fmt, arg...) \
-LOG_IF(expr, , fmt, ##arg)
-
-#define WARN_IF_ERR(code, fmt, arg...) \
-LOG_IF_ERR(code, , fmt, ##arg)
-
-#define RETM_IF(expr, fmt, arg...) \
-LOG_IF(expr, return, fmt, ##arg)
-
-#define RETM_IF_ERR(code, fmt, arg...) \
-LOG_IF_ERR(code, return, fmt, ##arg)
-
-#define RETVM_IF(expr, val, fmt, arg...) \
-LOG_IF(expr, return val, fmt, ##arg)
-
-#define RETVM_IF_ERR(code, val, fmt, arg...) \
-LOG_IF_ERR(code, return val, fmt, ##arg)
-
-#endif /* UTILS_LOGGER_H */
diff --git a/lib-common/inc/Utils/Range.h b/lib-common/inc/Utils/Range.h
deleted file mode 100644 (file)
index 3ac0b2b..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_RANGE_H
-#define UTILS_RANGE_H
-
-#include <iterator>
-
-namespace Utils
-{
-       /**
-        * @brief Convenience wrapper around std::advance.
-        * @param[in]   iterator    Input iterator
-        * @param[in]   distance    Distance to advance iterator
-        * @return New iterator at @a distance from @a iterator.
-        */
-       template <typename Iter, typename Distance>
-       inline Iter advance(Iter iterator, Distance distance)
-       {
-               std::advance(iterator, distance);
-               return iterator;
-       }
-
-       /**
-        * @brief Convenience wrapper for iterator pair.
-        */
-       template <typename Iter>
-       class Range
-       {
-       public:
-               typedef typename std::iterator_traits<Iter>::reference reference;
-
-               Range() = default;
-
-               /**
-                * @brief Create iterator range from static array.
-                * @param[in]   array   Static array
-                */
-               template <typename T, size_t N>
-               Range(T(&array)[N])
-                       : m_Begin(array), m_End(array + N) { }
-
-               /**
-                * @brief Create iterator range from begin iterator and element count
-                * @param[in]   begin   Begin iterator
-                * @param[in]   count   Count of elements until range's end
-                */
-               Range(Iter begin, size_t count)
-                       : m_Begin(std::move(begin)), m_End(advance(m_Begin, count)) { }
-
-               /**
-                * @brief Create iterator range from pair of iterators
-                * @param[in]   begin   Begin iterator
-                * @param[in]   end     End iterator
-                */
-               Range(Iter begin, Iter end)
-                       : m_Begin(std::move(begin)), m_End(std::move(end)) { }
-
-               /**
-                * @return Whether range is empty (i. e. begin() == end()).
-                */
-               bool empty() const { return !(m_Begin != m_End); }
-
-               /**
-                * @return Range element count.
-                */
-               size_t count() const { return std::distance(m_Begin, m_End); }
-
-               /**
-                * @return Range begin iterator.
-                */
-               Iter &begin() { return m_Begin; }
-
-               /**
-                * @return Range end iterator.
-                */
-               Iter &end() { return m_End; }
-
-               /**
-                * @return Range begin iterator.
-                */
-               const Iter &begin() const { return m_Begin; }
-
-               /**
-                * @return Range end iterator.
-                */
-               const Iter &end() const { return m_End; }
-
-               /**
-                * @see empty()
-                */
-               explicit operator bool() const { return !empty(); }
-
-               /**
-                * @brief Get range element by index.
-                * @param[in]   index   Element index
-                * @return Range element reference.
-                */
-               reference operator[](size_t index) const { return *advance(m_Begin, index); }
-
-       private:
-               Iter m_Begin;
-               Iter m_End;
-       };
-
-       /**
-        * @brief Create iterator range from static array.
-        */
-       template <typename T, size_t N>
-       inline Range<T*> makeRange(T(&array)[N])
-       {
-               return { array };
-       }
-
-       /**
-        * @brief Create iterator range from two iterators.
-        */
-       template <typename Iter1, typename Iter2,
-               typename Iter = typename std::common_type<Iter1, Iter2>::type>
-       inline Range<Iter> makeRange(Iter1 &&begin, Iter2 &&end)
-       {
-               return { std::forward<Iter1>(begin), std::forward<Iter2>(end) };
-       }
-
-       /**
-        * @brief Get static array element count.
-        * @param[in]   array   Static array
-        * @return Array element count.
-        */
-       template <typename T, size_t N>
-       inline size_t count(T(&array)[N])
-       {
-               return N;
-       }
-
-       /**
-        * @brief Get element by index from static array or a default value if out of bounds.
-        * @param[in]   array   Static array
-        * @param[in]   index   Element index
-        * @param[in]   value   Default value
-        * @return Array element or @a value. Array element is always copied.
-        */
-       template <typename T, size_t N>
-       inline T at(T(&array)[N], size_t index, T value = T())
-       {
-               return index < N ? array[index] : value;
-       }
-}
-
-#endif /* UTILS_RANGE_H */
diff --git a/lib-common/inc/Utils/Tracer.h b/lib-common/inc/Utils/Tracer.h
deleted file mode 100644 (file)
index ce143ed..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_TRACER_H
-#define UTILS_TRACER_H
-
-#include <time.h>
-#include <tizen.h>
-
-namespace Utils
-{
-       /**
-        * @brief Code block logger. Writes logs when created and destroyed. Outputs elapsed time.
-        */
-       class EXPORT_API Tracer
-       {
-       public:
-               /**
-                * @brief Create tracer and write entry log.
-                * @param[in]   tag     Log tag
-                * @param[in]   file    Current source file
-                * @param[in]   func    Current function
-                * @param[in]   line    Current source line
-                */
-               Tracer(const char *tag, const char *file, const char *func, int line);
-               ~Tracer();
-
-       private:
-               const char *m_Tag;
-               const char *m_File;
-               const char *m_Func;
-               timespec m_startTime;
-       };
-}
-
-#endif /* UTILS_TRACER_H */
diff --git a/lib-common/inc/Utils/UniString.h b/lib-common/inc/Utils/UniString.h
deleted file mode 100644 (file)
index e31aefd..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef UTILS_UNI_STRING_H
-#define UTILS_UNI_STRING_H
-
-#include <utils_i18n.h>
-#include <string>
-
-namespace Utils
-{
-       /**
-        * @brief Class wrapper for convenient work with multibyte UTF8 unicode string
-        */
-       class EXPORT_API UniString
-       {
-       public:
-               /**
-                * @brief Instantiation of the basic_string class template,
-                * that uses i18n_uchar as its character type
-                */
-               typedef std::basic_string<i18n_uchar> I18nString;
-
-               UniString() = default;
-               /**
-                * @brief Create new object, based on @a utf8Str string
-                * @param[in]   utf8Str     UTF8 multibyte unicode string
-                */
-               UniString(const char *utf8Str);
-
-               bool operator<(const UniString &that) const;
-               bool operator>(const UniString &that) const;
-               bool operator==(const UniString &that) const;
-               bool operator!=(const UniString &that) const;
-               bool operator<=(const UniString &that) const;
-               bool operator>=(const UniString &that) const;
-
-               /**
-                * @return I18n string
-                */
-               const I18nString &getI18nStr() const;
-
-               /**
-                * @return UTF8 multibyte string
-                */
-               const std::string &getUtf8Str() const;
-
-       private:
-               static std::string toUtf8(const I18nString &ustring);
-               static I18nString fromUtf8(const std::string &utf8Str);
-
-               mutable std::string m_Utf8Str;
-               I18nString m_UniStr;
-       };
-}
-
-#endif /* UTILS_UNI_STRING_H */
index 6f23d8547c81ab87b3adc6df28dea01ef158c51e..09cc0cc04c1f511a38ab4f5abf5e7c833394e42a 100644 (file)
@@ -1,4 +1,4 @@
-set(EDCFILES common-thumbnail.edc common-buttons.edc)
+set(EDCFILES dummy.edc)
 set(EDJDIR "${RES_DIR}/common/edje")
 
 foreach(EDCFILE ${EDCFILES})
diff --git a/lib-common/res/common/edje/CommonButtons.h b/lib-common/res/common/edje/CommonButtons.h
deleted file mode 100644 (file)
index 54f5bbf..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef COMMON_BUTTONS_H
-#define COMMON_BUTTONS_H
-
-#include "CommonPath.h"
-
-#define COMMON_BUTTONS_EDJ          COMMON_EDJ_DIR"common-buttons.edj"
-
-#define BUTTON_STYLE_CUSTOM_DEFAULT "custom_default"
-#define BUTTON_STYLE_CUSTOM_CIRCLE  "custom_circle"
-
-#define BUTTON_TEXT_CLASS           "button_text"
-#define BUTTON_COLOR_CLASS_NORMAL   "button_normal"
-#define BUTTON_COLOR_CLASS_PRESSED  "button_pressed"
-
-#endif /* COMMON_BUTTONS_H */
diff --git a/lib-common/res/common/edje/CommonPath.h b/lib-common/res/common/edje/CommonPath.h
deleted file mode 100644 (file)
index 2c6816c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef COMMON_PATH_H
-#define COMMON_PATH_H
-
-#define COMMON_IMG_DIR "common/images/"
-#define COMMON_EDJ_DIR "common/edje/"
-
-#endif /* COMMON_PATH_H */
diff --git a/lib-common/res/common/edje/CommonProgressbarLayout.h b/lib-common/res/common/edje/CommonProgressbarLayout.h
deleted file mode 100644 (file)
index 5ce9b7c..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef COMMON_PROGRESSBAR_LAYOUT_H
-#define COMMON_PROGRESSBAR_LAYOUT_H
-
-#include "CommonPath.h"
-
-#define COMMON_PROGRESSBAR_LAYOUT_EDJ      COMMON_EDJ_DIR"common-progressbar-layout.edj"
-
-#define GROUP_PROGRESSBAR_LAYOUT       "progressbar_layout"
-
-#define PART_PROGRESSBAR           "swallow.progressbar"
-
-#define PROGRESSBAR_PAD_X          32
-#define PROGRESSBAR_PAD_Y          17
-
-#endif /* COMMON_PROGRESSBAR_LAYOUT_H */
diff --git a/lib-common/res/common/edje/CommonThumbnail.h b/lib-common/res/common/edje/CommonThumbnail.h
deleted file mode 100644 (file)
index 86e6332..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef COMMON_THUMBNAIL_H
-#define COMMON_THUMBNAIL_H
-
-#include "CommonPath.h"
-
-#define COMMON_THUMBNAIL_EDJ            COMMON_EDJ_DIR"common-thumbnail.edj"
-
-#define THUMBNAIL_DEFAULT_MEDIUM        COMMON_IMG_DIR"contacts_caller_id_default.png"
-#define THUMBNAIL_DEFAULT_SMALL         COMMON_IMG_DIR"contacts_caller_id_default_02.png"
-#define THUMBNAIL_DEFAULT_LARGE         COMMON_IMG_DIR"contacts_caller_id_default_03.png"
-
-#define THUMBNAIL_BG_MEDIUM             COMMON_IMG_DIR"contacts_caller_id_default_bg.png"
-#define THUMBNAIL_BG_SMALL              COMMON_IMG_DIR"contacts_caller_id_default_bg_02.png"
-#define THUMBNAIL_BG_LARGE              COMMON_IMG_DIR"contacts_caller_id_default_bg_03.png"
-
-#define GROUP_THUMBNAIL_SMALL           "thumbnail_small"
-#define GROUP_THUMBNAIL_MEDIUM          "thumbnail_medium"
-#define GROUP_THUMBNAIL_LARGE           "thumbnail_large"
-
-#define GROUP_THUMBNAIL_DEFAULT_SMALL   "default_thumbnail_small"
-#define GROUP_THUMBNAIL_DEFAULT_MEDIUM  "default_thumbnail_medium"
-#define GROUP_THUMBNAIL_DEFAULT_LARGE   "default_thumbnail_large"
-
-#define THUMBNAIL_SMALL_SIZE 98
-#define THUMBNAIL_MEDIUM_SIZE 166
-#define THUMBNAIL_LARGE_SIZE 240
-
-#endif /* COMMON_THUMBNAIL_H */
diff --git a/lib-common/res/common/edje/common-buttons.edc b/lib-common/res/common/edje/common-buttons.edc
deleted file mode 100644 (file)
index c0d227f..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "common-colors.edc"
-
-#define BUTTON_CORNER_RADIUS "35"
-#define BUTTON_DEFAULT_H 78
-#define BUTTON_TEXT_H 54
-#define BUTTON_TEXT_X 20
-#define BUTTON_TEXT_Y ((BUTTON_DEFAULT_H-BUTTON_TEXT_H)/2)
-
-#define BUTTON_CIRCLE_SIZE 98
-#define BUTTON_CONTENT_SIZE 60
-#define BUTTON_CONTENT_REL (((BUTTON_CIRCLE_SIZE-BUTTON_CONTENT_SIZE)/2)/BUTTON_CIRCLE_SIZE)
-
-styles {
-       style {
-               name: "button_main";
-               base: "font=Tizen:style=Light font_size=40 align=center color=#ffffffff text_class="BUTTON_TEXT_CLASS" ellipsis=1.0";
-       }
-}
-
-collections {
-       base_scale: 2.6;
-
-       group {
-               name: "elm/button/base/custom";
-
-               parts {
-                       part {
-                               name: "tizen_vg_shape";
-                               type: SWALLOW;
-                               scale: 1;
-                               clip_to: "bg";
-                               description {
-                                       state: "default" 0.0;
-                               }
-                       }
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               description {
-                                       state: "default" 0.0;
-                                       color_class: BUTTON_COLOR_CLASS_NORMAL;
-                               }
-                               description {
-                                       state: "pressed" 0.0;
-                                       color_class: BUTTON_COLOR_CLASS_PRESSED;
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "pressed";
-                               signal: "mouse,down,*";
-                               source: "*";
-                               action: STATE_SET "pressed" 0.0;
-                               target: "bg";
-                       }
-                       program {
-                               name: "unpressed";
-                               signal: "mouse,up,*";
-                               source: "*";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                       }
-                       program {
-                               name: "clicked";
-                               signal: "mouse,clicked,*";
-                               source: "*";
-                               action: SIGNAL_EMIT "elm,action,click" "";
-                       }
-               }
-       }
-
-       group {
-               name: "elm/button/base/"BUTTON_STYLE_CUSTOM_DEFAULT;
-               inherit: "elm/button/base/custom";
-               data.item: "vector_ux" "default";
-               data.item: "corner_radius" BUTTON_CORNER_RADIUS;
-
-               parts {
-                       part {
-                               name: "elm.text";
-                               type: TEXTBLOCK;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {
-                                               relative: 0.0 (BUTTON_TEXT_Y/BUTTON_DEFAULT_H);
-                                               offset: BUTTON_TEXT_X 0;
-                                       }
-                                       rel2 {
-                                               relative: 1.0 (1.0-(BUTTON_TEXT_Y/BUTTON_DEFAULT_H));
-                                               offset: -BUTTON_TEXT_X 0;
-                                       }
-                                       text {
-                                               style: "button_main";
-                                               min: 1 1;
-                                               ellipsis: -1;
-                                       }
-                               }
-                       }
-               }
-       }
-
-       group {
-               name: "elm/button/base/"BUTTON_STYLE_CUSTOM_CIRCLE;
-               inherit: "elm/button/base/custom";
-               data.item: "vector_ux" "circle";
-
-               parts {
-                       part {
-                               name: "elm.swallow.content";
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: BUTTON_CONTENT_REL BUTTON_CONTENT_REL;
-                                       rel2.relative: (1.0-BUTTON_CONTENT_REL) (1.0-BUTTON_CONTENT_REL);
-                               }
-                       }
-               }
-       }
-}
diff --git a/lib-common/res/common/edje/common-colors.edc b/lib-common/res/common/edje/common-colors.edc
deleted file mode 100644 (file)
index 5522463..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "CommonButtons.h"
-
-color_classes {
-       color_class { //A03O003
-               name: "thumbnail_bg";
-               color:  255 255 255 255;
-       }
-       color_class { //A03O003L1
-               name: "thumbnail_default";
-               color:  61 185 204 128;
-       }
-       color_class {
-               name: BUTTON_COLOR_CLASS_NORMAL;
-               color: 82 198 216 255;
-       }
-       color_class {
-               name: BUTTON_COLOR_CLASS_PRESSED;
-               color: 48 139 153 255;
-       }
-       color_class { //W023 (Input Color 1)
-               name: "icon_expand";
-               color: 61 185 204 255;
-       }
-       color_class { //W0113 (Input Color 1)
-               name: "touch_icon_normal";
-               color: 61 185 204 255;
-       }
-       color_class { //W0113P
-               name: "touch_icon_pressed";
-               color: 34 104 115 255;
-       }
-}
diff --git a/lib-common/res/common/edje/common-progressbar-layout.edc b/lib-common/res/common/edje/common-progressbar-layout.edc
deleted file mode 100644 (file)
index 4bfdc58..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "CommonProgressbarLayout.h"
-
-collections {
-       base_scale: 2.6;
-       group {
-               name: GROUP_PROGRESSBAR_LAYOUT;
-
-               parts {
-                       spacer { "spacer.top"; scale;
-                               desc { "default";
-                                       min: 0 PROGRESSBAR_PAD_Y;
-                                       align: 0.5 0.0;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 0.0;
-                               }
-                       }
-                       spacer { "spacer.left"; scale;
-                               desc { "default";
-                                       min: PROGRESSBAR_PAD_X 0;
-                                       align: 0.0 0.5;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 0.0 1.0;
-                               }
-                       }
-                       spacer { "spacer.right"; scale;
-                               desc { "default";
-                                       min: PROGRESSBAR_PAD_X 0;
-                                       align: 1.0 0.5;
-                                       rel1.relative: 1.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-                       spacer { "spacer.bottom"; scale;
-                               desc { "default";
-                                       min: 0 PROGRESSBAR_PAD_Y;
-                                       align: 0.5 1.0;
-                                       rel1.relative: 0.0 1.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-                       swallow { PART_PROGRESSBAR; scale;
-                               desc { "default";
-                                       rel1 { relative: 1.0 1.0; to_x: "spacer.left"; to_y: "spacer.top"; }
-                                       rel2 { relative: 0.0 0.0; to_x: "spacer.right"; to_y: "spacer.bottom"; }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
diff --git a/lib-common/res/common/edje/common-thumbnail.edc b/lib-common/res/common/edje/common-thumbnail.edc
deleted file mode 100644 (file)
index 59d8ce3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "CommonThumbnail.h"
-#include "common-colors.edc"
-#include "common-utils.edc"
-
-collections {
-       IMAGE_WITH_MASK(GROUP_THUMBNAIL_SMALL, THUMBNAIL_BG_SMALL)
-       IMAGE_WITH_MASK(GROUP_THUMBNAIL_MEDIUM, THUMBNAIL_BG_MEDIUM)
-       IMAGE_WITH_MASK(GROUP_THUMBNAIL_LARGE, THUMBNAIL_BG_LARGE)
-
-       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_SMALL, THUMBNAIL_DEFAULT_SMALL, "thumbnail_default", THUMBNAIL_BG_SMALL, "thumbnail_bg")
-       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_MEDIUM, THUMBNAIL_DEFAULT_MEDIUM, "thumbnail_default", THUMBNAIL_BG_MEDIUM, "thumbnail_bg")
-       IMAGE_WITH_BG_AND_COLOR(GROUP_THUMBNAIL_DEFAULT_LARGE, THUMBNAIL_DEFAULT_LARGE, "thumbnail_default", THUMBNAIL_BG_LARGE, "thumbnail_bg")
-}
diff --git a/lib-common/res/common/edje/common-utils.edc b/lib-common/res/common/edje/common-utils.edc
deleted file mode 100644 (file)
index 7973ffb..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#define IMAGE_WITH_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS) \
-       group { \
-               name: GROUP_NAME; \
-               images.image: IMAGE_PATH COMP; \
-               parts { \
-                       part { name: "image"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: IMAGE_PATH; \
-                                       color_class: COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                       } \
-               } \
-       }
-
-#define IMAGE_WITH_BG_AND_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, BG_IMAGE_PATH, BG_COLOR_CLASS) \
-       group { \
-               name: GROUP_NAME; \
-               images.image: BG_IMAGE_PATH COMP; \
-               images.image: IMAGE_PATH COMP; \
-               parts { \
-                       part { name: "image.bg"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: BG_IMAGE_PATH; \
-                                       color_class: BG_COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                       } \
-               } \
-               parts { \
-                       part { name: "image"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: IMAGE_PATH; \
-                                       color_class: COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                       } \
-               } \
-       }
-
-#define IMAGE_WITH_MASK(GROUP_NAME, MASK_PATH) \
-       group { \
-               name: GROUP_NAME; \
-               images.image: MASK_PATH COMP; \
-               parts { \
-                       part { name: "image.mask"; \
-                               precise_is_inside: 1; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: MASK_PATH; \
-                                       aspect: 1.0 1.0; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                       } \
-               } \
-               parts { \
-                       part { name: "elm.swallow.content"; \
-                               type: SWALLOW; \
-                               clip_to: "image.mask"; \
-                               description { \
-                                       state: "default" 0.0; \
-                               } \
-                       } \
-               } \
-       }
-
-#define IMAGE_WITH_PRESSED_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, PRESSED_COLOR_CLASS) \
-       group { \
-               name: GROUP_NAME; \
-               images.image: IMAGE_PATH COMP; \
-               parts { \
-                       part { name: "image"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: IMAGE_PATH; \
-                                       color_class: COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                               description { \
-                                       state: "pressed" 0.0; \
-                                       inherit:  "default" 0.0; \
-                                       color_class: PRESSED_COLOR_CLASS; \
-                               } \
-                       } \
-               } \
-               programs { \
-                       program { \
-                               name: "pressed"; \
-                               signal: "mouse,down,*"; \
-                               source: "*"; \
-                               action: STATE_SET "pressed" 0.0; \
-                               target: "image"; \
-                       } \
-                       program { \
-                               name: "unpressed"; \
-                               signal: "mouse,up,*"; \
-                               source: "*"; \
-                               action: STATE_SET "default" 0.0; \
-                               target: "image"; \
-                       } \
-               } \
-       }
-
-#define IMAGE_WITH_BG_PRESSED_COLOR(GROUP_NAME, IMAGE_PATH, COLOR_CLASS, BG_IMAGE_PATH, BG_COLOR_CLASS, PRESSED_BG_COLOR_CLASS) \
-       group { \
-               name: GROUP_NAME; \
-               images.image: IMAGE_PATH COMP; \
-               images.image: BG_IMAGE_PATH COMP; \
-               parts { \
-                       part { name: "image.bg"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: BG_IMAGE_PATH; \
-                                       color_class: BG_COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                               description { \
-                                       state: "pressed" 0.0; \
-                                       inherit:  "default" 0.0; \
-                                       color_class: PRESSED_BG_COLOR_CLASS; \
-                               } \
-                       } \
-                       part { name: "image"; \
-                               description { \
-                                       state: "default" 0.0; \
-                                       image.normal: IMAGE_PATH; \
-                                       color_class: COLOR_CLASS; \
-                                       aspect: 1 1; \
-                                       aspect_preference: SOURCE; \
-                               } \
-                       } \
-               } \
-               programs { \
-                       program { \
-                               name: "pressed"; \
-                               signal: "mouse,down,*"; \
-                               source: "*"; \
-                               action: STATE_SET "pressed" 0.0; \
-                               target: "image.bg"; \
-                       } \
-                       program { \
-                               name: "unpressed"; \
-                               signal: "mouse,up,*"; \
-                               source: "*"; \
-                               action: STATE_SET "default" 0.0; \
-                               target: "image.bg"; \
-                       } \
-               } \
-       }
diff --git a/lib-common/res/common/edje/dummy.edc b/lib-common/res/common/edje/dummy.edc
new file mode 100644 (file)
index 0000000..824c7f6
--- /dev/null
@@ -0,0 +1,3 @@
+collections {
+       base_scale: 2.8;
+}
diff --git a/lib-common/res/common/images/contacts_caller_id_default.png b/lib-common/res/common/images/contacts_caller_id_default.png
deleted file mode 100644 (file)
index 7093c6b..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default.png and /dev/null differ
diff --git a/lib-common/res/common/images/contacts_caller_id_default_02.png b/lib-common/res/common/images/contacts_caller_id_default_02.png
deleted file mode 100644 (file)
index 95ba822..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default_02.png and /dev/null differ
diff --git a/lib-common/res/common/images/contacts_caller_id_default_03.png b/lib-common/res/common/images/contacts_caller_id_default_03.png
deleted file mode 100644 (file)
index 808a289..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default_03.png and /dev/null differ
diff --git a/lib-common/res/common/images/contacts_caller_id_default_bg.png b/lib-common/res/common/images/contacts_caller_id_default_bg.png
deleted file mode 100644 (file)
index 1653730..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default_bg.png and /dev/null differ
diff --git a/lib-common/res/common/images/contacts_caller_id_default_bg_02.png b/lib-common/res/common/images/contacts_caller_id_default_bg_02.png
deleted file mode 100644 (file)
index cf0acc9..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default_bg_02.png and /dev/null differ
diff --git a/lib-common/res/common/images/contacts_caller_id_default_bg_03.png b/lib-common/res/common/images/contacts_caller_id_default_bg_03.png
deleted file mode 100644 (file)
index 647d2a1..0000000
Binary files a/lib-common/res/common/images/contacts_caller_id_default_bg_03.png and /dev/null differ
diff --git a/lib-common/src/App/AppControl.cpp b/lib-common/src/App/AppControl.cpp
deleted file mode 100644 (file)
index a3b1ed0..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "App/AppControl.h"
-#include "Utils/Logger.h"
-
-using namespace App;
-
-AppControl::AppControl()
-       : m_AppControl(nullptr), m_AutoTerminate(true)
-{
-}
-
-AppControl::AppControl(const char *operation, const char *mime, const char *uri)
-       : AppControl()
-{
-       app_control_create(&m_AppControl);
-       app_control_set_operation(m_AppControl, operation);
-       app_control_set_mime(m_AppControl, mime);
-       app_control_set_uri(m_AppControl, uri);
-}
-
-AppControl::AppControl(AppControl &&that)
-       : m_AppControl(that.m_AppControl), m_AutoTerminate(that.m_AutoTerminate)
-{
-       that.m_AppControl = nullptr;
-}
-
-AppControl::~AppControl()
-{
-       reset();
-}
-
-app_control_h AppControl::getHandle() const
-{
-       return m_AppControl;
-}
-
-void AppControl::addExtra(const char *key, const char *value)
-{
-       app_control_add_extra_data(m_AppControl, key, value);
-}
-
-void AppControl::addExtra(const char *key, const char **array, int length)
-{
-       app_control_add_extra_data_array(m_AppControl, key, array, length);
-}
-
-int AppControl::launch(app_control_reply_cb replyCallback, void *userData,
-               bool groupMode)
-{
-       if (groupMode) {
-               app_control_set_launch_mode(m_AppControl, APP_CONTROL_LAUNCH_MODE_GROUP);
-       }
-
-       int result = app_control_send_launch_request(m_AppControl, replyCallback, userData);
-       WARN_IF_ERR(result, "app_control_send_launch_request() failed.");
-
-       return result;
-}
-
-void AppControl::terminate()
-{
-       app_control_send_terminate_request(m_AppControl);
-}
-
-void AppControl::detach()
-{
-       m_AutoTerminate = false;
-}
-
-AppControl &AppControl::operator=(AppControl &&that)
-{
-       reset();
-       m_AppControl = that.m_AppControl;
-       m_AutoTerminate = that.m_AutoTerminate;
-       that.m_AppControl = nullptr;
-
-       return *this;
-}
-
-void AppControl::reset()
-{
-       if (m_AppControl) {
-               if (m_AutoTerminate) {
-                       terminate();
-               }
-               app_control_destroy(m_AppControl);
-       }
-}
diff --git a/lib-common/src/App/AppControlRequest.cpp b/lib-common/src/App/AppControlRequest.cpp
deleted file mode 100644 (file)
index fa9ca51..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "App/AppControlRequest.h"
-#include "Utils/Logger.h"
-
-using namespace App;
-
-AppControl App::requestContactCreate(const char *number)
-{
-       AppControl request(APP_CONTROL_OPERATION_ADD, APP_CONTROL_MIME_CONTACT);
-       request.addExtra(APP_CONTROL_DATA_PHONE, number);
-       return request;
-}
-
-AppControl App::requestContactDetails(int personId)
-{
-       AppControl request(APP_CONTROL_OPERATION_VIEW, APP_CONTROL_MIME_CONTACT);
-       request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
-       return request;
-}
-
-AppControl App::requestContactEdit(int personId, const char *number)
-{
-       AppControl request(APP_CONTROL_OPERATION_EDIT, APP_CONTROL_MIME_CONTACT);
-       if (personId > 0) {
-               request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
-       }
-
-       request.addExtra(APP_CONTROL_DATA_PHONE, number);
-       return request;
-}
-
-AppControl App::requestContactPick(const char *selectionMode, const char *resultType)
-{
-       AppControl request(APP_CONTROL_OPERATION_PICK, APP_CONTROL_MIME_CONTACT);
-       request.addExtra(APP_CONTROL_DATA_SELECTION_MODE, selectionMode);
-       request.addExtra(APP_CONTROL_DATA_TYPE, resultType);
-       return request;
-}
-
-AppControl App::requestTelephonyCall(const char *number)
-{
-       return AppControl(APP_CONTROL_OPERATION_CALL, nullptr,
-                       std::string("tel:").append(number).c_str());
-}
-
-AppControl App::requestCallSettings()
-{
-       return AppControl(APP_CONTROL_OPERATION_SETTING_CALL);
-}
-
-AppControl App::requestMessageComposer(const char *scheme, const char *to,
-               const char *subject, const char *text)
-{
-       AppControl request(APP_CONTROL_OPERATION_COMPOSE, nullptr,
-                       std::string(scheme).append(to).c_str());
-       request.addExtra(APP_CONTROL_DATA_TITLE, subject);
-       request.addExtra(APP_CONTROL_DATA_TEXT, text);
-       return request;
-}
-
-AppControl App::requestCameraImage()
-{
-       return AppControl(APP_CONTROL_OPERATION_CREATE_CONTENT, "image/*");
-}
-
-AppControl App::requestGalleryImage()
-{
-       return AppControl(APP_CONTROL_OPERATION_PICK, "image/*");
-}
-
-AppControl App::requestShareContact(int personId)
-{
-       AppControl request(APP_CONTROL_OPERATION_SHARE, APP_CONTROL_MIME_CONTACT);
-       request.addExtra(APP_CONTROL_DATA_ID, std::to_string(personId).c_str());
-       return request;
-}
-
-AppControl App::requestShareMyProfile(int recordId)
-{
-       AppControl request = requestShareContact(recordId);
-       request.addExtra(APP_CONTROL_DATA_TYPE, "my_profile");
-       return request;
-}
-
-std::string App::getSingleExtraData(app_control_h appControl, const char *key)
-{
-       std::string result;
-       char **array = nullptr;
-       int count = 0;
-
-       int err = app_control_get_extra_data_array(appControl, key, &array, &count);
-       RETVM_IF_ERR(err, result, "app_control_get_extra_data_array() failed.");
-
-       if (array && array[0]) {
-               result = array[0];
-       }
-
-       for (int i = 0; i < count; ++i) {
-               free(array[i]);
-       }
-       free(array);
-
-       return result;
-}
-
-std::vector<int> App::getIntExtraDataArray(app_control_h appControl, const char *key)
-{
-       std::vector<int> result;
-       char **array = nullptr;
-       int count = 0;
-
-       int err = app_control_get_extra_data_array(appControl, key, &array, &count);
-       RETVM_IF_ERR(err, result, "app_control_get_extra_data_array() failed.");
-       result.reserve(count);
-
-       for (int i = 0; i < count; ++i) {
-               int value = atoi(array[i]);
-               result.push_back(value);
-               free(array[i]);
-       }
-       free(array);
-
-       return result;
-}
diff --git a/lib-common/src/App/Application.cpp b/lib-common/src/App/Application.cpp
deleted file mode 100644 (file)
index 02e19a6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "App/Application.h"
-#include "Utils/Callback.h"
-
-using namespace App;
-
-int Application::run(int argc, char **argv)
-{
-       ui_app_lifecycle_callback_s cbs;
-       cbs.create = makeCallback(&Application::onCreate);
-       cbs.terminate = makeCallback(&Application::onTerminate);
-       cbs.pause = makeCallback(&Application::onPause);
-       cbs.resume = makeCallback(&Application::onResume);
-       cbs.app_control = makeCallbackWithLastParam(&Application::onAppControl);
-
-       return ui_app_main(argc, argv, &cbs, this);
-}
diff --git a/lib-common/src/App/Path.cpp b/lib-common/src/App/Path.cpp
deleted file mode 100644 (file)
index 4a947ed..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "App/Path.h"
-
-#include <app.h>
-
-const std::string &App::getLocaleDir()
-{
-       static std::string localeDir;
-       if (localeDir.empty()) {
-               #ifdef LOCALE_DIR
-                       localeDir = LOCALE_DIR;
-               #else
-                       localeDir = getResourcePath("locale/");
-               #endif
-       }
-
-       return localeDir;
-}
-
-const std::string &App::getResourceDir()
-{
-       static std::string resDir;
-       if (resDir.empty()) {
-               #ifdef RES_DIR
-                       resDir = RES_DIR;
-               #else
-                       char *path = app_get_resource_path();
-                       resDir = path;
-                       free(path);
-               #endif
-       }
-
-       return resDir;
-}
-
-std::string App::getResourcePath(const std::string &relativePath)
-{
-       return std::string(getResourceDir()).append(relativePath);
-}
diff --git a/lib-common/src/Contacts/Dummy.cpp b/lib-common/src/Contacts/Dummy.cpp
new file mode 100644 (file)
index 0000000..7fe9a1a
--- /dev/null
@@ -0,0 +1,4 @@
+int dummy()
+{
+       return 0;
+}
diff --git a/lib-common/src/Ui/Button.cpp b/lib-common/src/Ui/Button.cpp
deleted file mode 100644 (file)
index 96b4667..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Button.h"
-#include "Utils/Callback.h"
-
-#include <Ecore.h>
-
-using namespace Ui;
-
-Button::Button()
-       : m_Timer(nullptr), m_IsLongpressed(false)
-{
-}
-
-Button::~Button()
-{
-       resetTimer();
-}
-
-void Button::setPressedCallback(std::function<void(Button&)> callback)
-{
-       m_OnPressed = std::move(callback);
-}
-
-void Button::setLongpressedCallback(std::function<bool(Button&)> callback)
-{
-       m_OnLongpressed = std::move(callback);
-}
-
-Evas_Object *Button::onCreate(Evas_Object *parent)
-{
-       Evas_Object *button = elm_button_add(parent);
-       return button;
-}
-
-void Button::onCreated()
-{
-       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_DOWN,
-                       makeCallback(&Button::onMouseDown), this);
-       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_UP,
-                       makeCallback(&Button::onMouseUp), this);
-       evas_object_event_callback_add(getEvasObject(), EVAS_CALLBACK_MOUSE_OUT,
-                       makeCallback(&Button::onMouseOut), this);
-}
-
-void Button::onMouseDown(Evas *evas, Evas_Object *obj, void *eventInfo)
-{
-       m_IsLongpressed = false;
-       m_Timer = ecore_timer_add(elm_config_longpress_timeout_get(),
-               makeCallback(&Button::onTimeout), this);
-}
-
-void Button::onMouseUp(Evas *evas, Evas_Object *obj, void *eventInfo)
-{
-       Evas_Event_Mouse_Up *e = (Evas_Event_Mouse_Up *) eventInfo;
-
-       if (!m_IsLongpressed) {
-               int x = 0, y = 0, w = 0, h = 0;
-               evas_object_geometry_get(obj, &x, &y, &w, &h);
-
-               if (m_OnPressed) {
-                       if (e->output.x >= x && e->output.x <= x + w
-                        && e->output.y >= y && e->output.x <= y + h) {
-                               m_OnPressed(*this);
-                       }
-               }
-
-               resetTimer();
-       }
-}
-
-void Button::onMouseOut(Evas *evas, Evas_Object *obj, void *eventInfo)
-{
-       resetTimer();
-}
-
-void Button::resetTimer()
-{
-       ecore_timer_del(m_Timer);
-       m_Timer = nullptr;
-}
-
-Eina_Bool Button::onTimeout()
-{
-       if (m_OnLongpressed) {
-               m_IsLongpressed = m_OnLongpressed(*this);
-       }
-
-       resetTimer();
-       return ECORE_CALLBACK_CANCEL;
-}
diff --git a/lib-common/src/Ui/Control.cpp b/lib-common/src/Ui/Control.cpp
deleted file mode 100644 (file)
index 5cf8d81..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Control.h"
-#include "Ui/Window.h"
-#include "Utils/Callback.h"
-
-#define CONTROL_DATA_KEY "Ui::Control"
-
-using namespace Ui;
-
-Control::Control()
-       : m_Object(nullptr)
-{
-}
-
-Control::~Control()
-{
-       destroyEvasObject();
-}
-
-Evas_Object *Control::create(Evas_Object *parent)
-{
-       if (!m_Object) {
-               setEvasObject(onCreate(parent));
-               onCreated();
-       }
-
-       return m_Object;
-}
-
-Evas_Object *Control::getEvasObject() const
-{
-       return m_Object;
-}
-
-Window *Control::getWindow() const
-{
-       return getWindow(getEvasObject());
-}
-
-Control *Control::getControl(Evas_Object *object)
-{
-       return (Control *) evas_object_data_get(object, CONTROL_DATA_KEY);
-}
-
-Window *Control::getWindow(Evas_Object *object)
-{
-       Evas_Object *window = elm_object_top_widget_get(object);
-       return static_cast<Window *>(getControl(window));
-}
-
-void Control::setEvasObject(Evas_Object *object)
-{
-       m_Object = object;
-       if (!evas_object_data_get(m_Object, CONTROL_DATA_KEY)) {
-               evas_object_data_set(m_Object, CONTROL_DATA_KEY, this);
-       }
-
-       evas_object_event_callback_add(m_Object, EVAS_CALLBACK_FREE,
-                       makeCallback(&Control::onDestroy), this);
-}
-
-Evas_Object *Control::resetEvasObject()
-{
-       Evas_Object *object = m_Object;
-       evas_object_event_callback_del_full(m_Object, EVAS_CALLBACK_FREE,
-                       makeCallback(&Control::onDestroy), this);
-       m_Object = nullptr;
-       return object;
-}
-
-void Control::destroyEvasObject()
-{
-       if (m_Object) {
-               evas_object_del(resetEvasObject());
-       }
-}
-
-void Control::onDestroy(Evas *e, Evas_Object *obj, void *event_info)
-{
-       resetEvasObject();
-       delete this;
-}
diff --git a/lib-common/src/Ui/DatePopup.cpp b/lib-common/src/Ui/DatePopup.cpp
deleted file mode 100644 (file)
index 479d3b1..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/DatePopup.h"
-
-using namespace Ui;
-
-DatePopup::DatePopup(tm date)
-       : m_Date(date), m_DatePicker(nullptr)
-{
-}
-
-void DatePopup::setResultCallback(ResultCallback callback)
-{
-       m_OnResult = std::move(callback);
-}
-
-void DatePopup::onCreated()
-{
-       setTitle("IDS_ST_BODY_SET_DATE");
-       addButton("IDS_PB_BUTTON_CANCEL");
-       addButton("IDS_PB_SK_SET", [this] {
-               onSetPressed();
-               return true;
-       });
-
-       m_DatePicker = elm_datetime_add(getEvasObject());
-       elm_datetime_format_set(m_DatePicker, "%%x");
-       elm_datetime_value_set(m_DatePicker, &m_Date);
-       setContent(m_DatePicker);
-}
-
-void DatePopup::onSetPressed()
-{
-       if (m_OnResult) {
-               elm_datetime_value_get(m_DatePicker, &m_Date);
-               m_OnResult(m_Date);
-       }
-}
diff --git a/lib-common/src/Ui/Editfield.cpp b/lib-common/src/Ui/Editfield.cpp
deleted file mode 100644 (file)
index 22405bf..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Editfield.h"
-
-#include <Elementary.h>
-
-using namespace Ui;
-
-Editfield *Editfield::create(Evas_Object *parent, const char *guideText)
-{
-       Editfield *editfield = new Editfield();
-       editfield->create(parent);
-       editfield->setGuideText(guideText);
-       return editfield;
-}
-
-Evas_Object *Editfield::onCreate(Evas_Object *parent)
-{
-       Evas_Object *layout = elm_layout_add(parent);
-       elm_layout_theme_set(layout, "layout", "editfield", "singleline");
-
-       Evas_Object *entry = elm_entry_add(parent);
-       elm_entry_single_line_set(entry, EINA_TRUE);
-       elm_entry_scrollable_set(entry, EINA_TRUE);
-       elm_object_part_content_set(layout, "elm.swallow.content", entry);
-
-       evas_object_smart_callback_add(entry, "changed", (Evas_Smart_Cb) onChanged, layout);
-       evas_object_smart_callback_add(entry, "focused", (Evas_Smart_Cb) onFocused, layout);
-       evas_object_smart_callback_add(entry, "unfocused", (Evas_Smart_Cb) onUnfocused, layout);
-
-       Evas_Object *button = elm_button_add(parent);
-       elm_object_style_set(button, "editfield_clear");
-       elm_object_focus_allow_set(button, EINA_FALSE);
-       elm_object_part_content_set(layout, "elm.swallow.button", button);
-       evas_object_smart_callback_add(button, "clicked", (Evas_Smart_Cb) onClearPressed, entry);
-
-       return layout;
-}
-
-void Editfield::setGuideText(const char *guideText)
-{
-       elm_object_translatable_part_text_set(getEntry(), "elm.guide", guideText);
-}
-
-Evas_Object *Editfield::getEntry()
-{
-       return elm_object_part_content_get(getEvasObject(), "elm.swallow.content");
-}
-
-Evas_Object *Editfield::getClearButton()
-{
-       return elm_object_part_content_get(getEvasObject(), "elm.swallow.button");
-}
-
-void Editfield::onChanged(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
-{
-       if (elm_entry_is_empty(entry)) {
-               elm_object_signal_emit(layout, "elm,action,hide,button", "");
-       } else {
-               elm_object_signal_emit(layout, "elm,action,show,button", "");
-       }
-}
-
-void Editfield::onFocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
-{
-       elm_object_signal_emit(layout, "elm,state,focused", "");
-}
-
-void Editfield::onUnfocused(Evas_Object *layout, Evas_Object *entry, void *eventInfo)
-{
-       elm_object_signal_emit(layout, "elm,state,unfocused", "");
-}
-
-void Editfield::onClearPressed(Evas_Object *entry, Evas_Object *button, void *eventInfo)
-{
-       elm_entry_entry_set(entry, "");
-       elm_object_focus_set(entry, EINA_TRUE);
-}
diff --git a/lib-common/src/Ui/Genlist.cpp b/lib-common/src/Ui/Genlist.cpp
deleted file mode 100644 (file)
index 81ff914..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Genlist.h"
-#include "Ui/GenlistGroupItem.h"
-
-using namespace Ui;
-
-Evas_Object *Genlist::onCreate(Evas_Object *parent)
-{
-       Evas_Object *genlist = elm_genlist_add(parent);
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
-       evas_object_smart_callback_add(genlist, "selected",
-                       (Evas_Smart_Cb) &Genlist::onItemSelected, this);
-       evas_object_smart_callback_add(genlist, "expanded",
-                       (Evas_Smart_Cb) &Genlist::onItemExpanded, this);
-       evas_object_smart_callback_add(genlist, "contracted",
-                       (Evas_Smart_Cb) &Genlist::onItemContracted, this);
-       evas_object_smart_callback_add(genlist, "realized",
-                       (Evas_Smart_Cb) &Genlist::onItemRealized, this);
-       evas_object_smart_callback_add(genlist, "unrealized",
-                       (Evas_Smart_Cb) &Genlist::onItemUnrealized, this);
-
-       return genlist;
-}
-
-GenlistItem *Genlist::getFirstItem() const
-{
-       Elm_Object_Item *item = elm_genlist_first_item_get(getEvasObject());
-       return (GenlistItem *) elm_object_item_data_get(item);
-}
-
-GenlistItem *Genlist::getLastItem() const
-{
-       Elm_Object_Item *item = elm_genlist_last_item_get(getEvasObject());
-       return (GenlistItem *) elm_object_item_data_get(item);
-}
-
-GenlistIterator Genlist::begin() const
-{
-       return getFirstItem();
-}
-
-GenlistIterator Genlist::end() const
-{
-       return nullptr;
-}
-
-void Genlist::insert(GenlistItem *item, GenlistGroupItem *parent,
-               GenlistItem *sibling, Position position)
-{
-       if (!item) {
-               return;
-       }
-
-       if (item->m_Item) {
-               item->pop();
-       }
-
-       Elm_Object_Item *parentItem = parent ? parent->getObjectItem() : nullptr;
-       if (sibling) {
-               auto insert = (position == Before) ? elm_genlist_item_insert_before : elm_genlist_item_insert_after;
-               item->onInserted(insert(getEvasObject(), item->getItemClass(), item,
-                               parentItem, sibling->getObjectItem(), item->getType(), nullptr, nullptr));
-       } else {
-               auto insert = (position == Before) ? elm_genlist_item_append : elm_genlist_item_prepend;
-               item->onInserted(insert(getEvasObject(), item->getItemClass(), item,
-                               parentItem, item->getType(), nullptr, nullptr));
-       }
-}
-
-void Genlist::update(const char *parts, Elm_Genlist_Item_Field_Type type)
-{
-       Eina_List *list = elm_genlist_realized_items_get(getEvasObject());
-       Eina_List *node = nullptr;
-       void *item = nullptr;
-       EINA_LIST_FOREACH(list, node, item) {
-               elm_genlist_item_fields_update((Elm_Object_Item *) item, parts, type);
-       }
-
-       eina_list_free(list);
-}
-
-void Genlist::onItemSelected(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
-{
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       if (item) {
-               item->onSelected(objectItem);
-       }
-}
-
-void Genlist::onItemExpanded(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
-{
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       if (item && item->isGroupItem()) {
-               dynamic_cast<GenlistGroupItem *>(item)->onExpanded(true);
-       }
-}
-
-void Genlist::onItemContracted(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
-{
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       if (item && item->isGroupItem()) {
-               dynamic_cast<GenlistGroupItem *>(item)->onExpanded(false);
-       }
-}
-
-void Genlist::onItemRealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
-{
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       if (item) {
-               item->onRealized(objectItem);
-       }
-}
-
-void Genlist::onItemUnrealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem)
-{
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       if (item) {
-               item->onUnrealized(objectItem);
-       }
-}
diff --git a/lib-common/src/Ui/GenlistCheckItem.cpp b/lib-common/src/Ui/GenlistCheckItem.cpp
deleted file mode 100644 (file)
index 73081a3..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/GenlistCheckItem.h"
-#include "Utils/Callback.h"
-
-using namespace Ui;
-
-GenlistCheckItem::GenlistCheckItem()
-       : m_IsChecked(false)
-{ }
-
-bool GenlistCheckItem::isChecked() const
-{
-       return m_IsChecked;
-}
-
-void GenlistCheckItem::setChecked(bool isChecked)
-{
-       Evas_Object *check = elm_object_item_part_content_get(getObjectItem(), m_CheckPart.c_str());
-       if (check) {
-               elm_check_state_set(check, isChecked);
-       } else {
-               m_IsChecked = isChecked;
-       }
-}
-
-void GenlistCheckItem::setCheckCallback(CheckCallback callback)
-{
-       m_OnChecked = std::move(callback);
-}
-
-Evas_Object *GenlistCheckItem::getContent(Evas_Object *parent, const char *part)
-{
-       m_CheckPart = part;
-
-       Elm_Check *check = elm_check_add(parent);
-       elm_check_state_set(check, m_IsChecked);
-       elm_check_state_pointer_set(check, &m_IsChecked);
-       evas_object_propagate_events_set(check, EINA_FALSE);
-       evas_object_smart_callback_add(check, "changed",
-                       makeCallback(&GenlistCheckItem::onCheckChanged), this);
-
-       return check;
-}
-
-void GenlistCheckItem::onSelected()
-{
-       setChecked(!m_IsChecked);
-       onChecked();
-}
-
-void GenlistCheckItem::onChecked()
-{
-       onChecked(m_IsChecked);
-
-       if (m_OnChecked) {
-               m_OnChecked(m_IsChecked);
-       }
-}
-
-void GenlistCheckItem::onCheckChanged(Evas_Object *check, void *eventInfo)
-{
-       onChecked();
-}
diff --git a/lib-common/src/Ui/GenlistGroupItem.cpp b/lib-common/src/Ui/GenlistGroupItem.cpp
deleted file mode 100644 (file)
index e52ad07..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/GenlistGroupItem.h"
-#include "Ui/Genlist.h"
-#include <algorithm>
-
-using namespace Ui;
-
-GenlistGroupItem::GenlistGroupItem()
-       : m_FirstItem(nullptr), m_LastItem(nullptr)
-{
-}
-
-GenlistGroupItem::~GenlistGroupItem()
-{
-       for (auto &&item : m_ItemsCache) {
-               delete item;
-       }
-}
-
-GenlistIterator GenlistGroupItem::begin()
-{
-       return m_FirstItem;
-}
-
-GenlistIterator GenlistGroupItem::end()
-{
-       return m_LastItem ? m_LastItem->getNextItem() : nullptr;
-}
-
-bool GenlistGroupItem::empty() const
-{
-       return m_FirstItem == nullptr;
-}
-
-bool GenlistGroupItem::isExpanded() const
-{
-       Elm_Object_Item *item = getObjectItem();
-       if (!item) {
-               return false;
-       }
-
-       if (getType() == ELM_GENLIST_ITEM_TREE) {
-               return elm_genlist_item_expanded_get(item);
-       }
-
-       return true;
-}
-
-GenlistGroupItem *GenlistGroupItem::getNextGroupItem() const
-{
-       GenlistItem *item = m_LastItem ? m_LastItem->getNextItem() : getNextItem();
-       if (item && item->isGroupItem()) {
-               return dynamic_cast<GenlistGroupItem *>(item);
-       }
-
-       return nullptr;
-}
-
-GenlistGroupItem *GenlistGroupItem::getPrevGroupItem() const
-{
-       GenlistItem *item = getPrevItem();
-       if (item) {
-               if (item->isGroupItem()) {
-                       return dynamic_cast<GenlistGroupItem *>(item);
-               } else {
-                       return item->getParentItem();
-               }
-       }
-
-       return nullptr;
-}
-
-void GenlistGroupItem::insertSubItem(GenlistItem *item, GenlistItem *sibling,
-               Genlist::Position position)
-{
-       if (!item) {
-               return;
-       }
-
-       Genlist *genlist = getParent();
-       if (genlist && isExpanded()) {
-               genlist->insert(item, this, sibling, position);
-       } else {
-               auto pos = m_ItemsCache.end();
-               if (sibling) {
-                       pos = std::find(m_ItemsCache.begin(), m_ItemsCache.end(), sibling);
-               }
-
-               if (pos != m_ItemsCache.end()) {
-                       if (position == Genlist::After) {
-                               ++pos;
-                       }
-               } else {
-                       if (position == Genlist::After) {
-                               pos = m_ItemsCache.begin();
-                       }
-               }
-
-               m_ItemsCache.insert(pos, item);
-       }
-}
-
-Elm_Genlist_Item_Class *GenlistGroupItem::getItemClass() const
-{
-       static Elm_Genlist_Item_Class itc = createItemClass("group_index");
-       return &itc;
-}
-
-void GenlistGroupItem::onInserted()
-{
-       if (isExpanded()) {
-               insertSubItems();
-       }
-}
-
-void GenlistGroupItem::onPop()
-{
-       popSubItems();
-}
-
-void GenlistGroupItem::onExpanded(bool isExpanded)
-{
-       if (isExpanded) {
-               insertSubItems();
-       } else {
-               popSubItems();
-       }
-}
-
-void GenlistGroupItem::insertSubItems()
-{
-       Genlist *genlist = getParent();
-       if (genlist) {
-               for (auto &&item : m_ItemsCache) {
-                       genlist->insert(item, this);
-               }
-               m_ItemsCache.clear();
-       }
-}
-
-void GenlistGroupItem::popSubItems()
-{
-       for (auto it = begin(), endIt = end(); it != endIt; ) {
-               GenlistItem *item = *it++;
-               item->pop();
-               m_ItemsCache.push_back(item);
-       }
-}
-
-void GenlistGroupItem::onSubItemInserted(GenlistItem *item)
-{
-       if (!m_FirstItem) {
-               m_FirstItem = m_LastItem = item;
-               return;
-       }
-
-       if (item->getNextItem() == m_FirstItem) {
-               m_FirstItem = item;
-       } else if (item->getPrevItem() == m_LastItem) {
-               m_LastItem = item;
-       }
-}
-
-void GenlistGroupItem::onSubItemDestroy(GenlistItem *item)
-{
-       if (m_FirstItem == m_LastItem) {
-               m_FirstItem = m_LastItem = nullptr;
-               return;
-       }
-
-       if (item == m_FirstItem) {
-               m_FirstItem = item->getNextItem();
-       } else if (item == m_LastItem) {
-               m_LastItem = item->getPrevItem();
-       }
-}
diff --git a/lib-common/src/Ui/GenlistItem.cpp b/lib-common/src/Ui/GenlistItem.cpp
deleted file mode 100644 (file)
index 6d5c917..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/GenlistItem.h"
-#include "Ui/GenlistGroupItem.h"
-#include "Ui/Genlist.h"
-#include "Utils/Callback.h"
-
-using namespace Ui;
-
-GenlistItem::GenlistItem()
-       : m_Item(nullptr), m_Preserve(false),
-         m_IsRealized(false), m_IsFocusPending(false)
-{
-}
-
-GenlistItem::~GenlistItem()
-{
-       if (m_Item) {
-               pop();
-       }
-}
-
-bool GenlistItem::isRealized() const
-{
-       return m_IsRealized;
-}
-
-Elm_Object_Item *GenlistItem::getObjectItem() const
-{
-       return m_Item;
-}
-
-Genlist *GenlistItem::getParent() const
-{
-       Evas_Object *genlist = elm_object_item_widget_get(getObjectItem());
-       return static_cast<Genlist *>(Control::getControl(genlist));
-}
-
-GenlistGroupItem *GenlistItem::getParentItem() const
-{
-       Elm_Object_Item *objectItem = elm_genlist_item_parent_get(getObjectItem());
-       GenlistItem *item = (GenlistItem *) elm_object_item_data_get(objectItem);
-       return dynamic_cast<GenlistGroupItem *>(item);
-}
-
-GenlistItem *GenlistItem::getNextItem() const
-{
-       Elm_Object_Item *item = elm_genlist_item_next_get(getObjectItem());
-       return (GenlistItem *) elm_object_item_data_get(item);
-}
-
-GenlistItem *GenlistItem::getPrevItem() const
-{
-       Elm_Object_Item *item = elm_genlist_item_prev_get(getObjectItem());
-       return (GenlistItem *) elm_object_item_data_get(item);
-}
-
-void GenlistItem::setSelectCallback(SelectCallback callback)
-{
-       m_OnSelected = std::move(callback);
-}
-
-void GenlistItem::scrollTo(Elm_Genlist_Item_Scrollto_Type position, bool isAnimated)
-{
-       auto scroll = isAnimated ? elm_genlist_item_bring_in : elm_genlist_item_show;
-       scroll(getObjectItem(), position);
-}
-
-void GenlistItem::focus(Elm_Genlist_Item_Scrollto_Type position, bool isAnimated)
-{
-       scrollTo(position, isAnimated);
-       if (m_IsRealized) {
-               onFocused();
-       } else {
-               m_IsFocusPending = true;
-       }
-}
-
-void GenlistItem::pop()
-{
-       onPop();
-
-       GenlistGroupItem *parent = getParentItem();
-       if (parent) {
-               parent->onSubItemDestroy(this);
-       }
-
-       m_Preserve = true;
-       elm_object_item_del(m_Item);
-       m_Preserve = false;
-}
-
-Elm_Genlist_Item_Class GenlistItem::createItemClass(const char *style,
-               const char *decorateStyle, const char *editStyle)
-{
-       Elm_Genlist_Item_Class itc = { ELM_GEN_ITEM_CLASS_HEADER, 0 };
-       itc.item_style = style;
-       itc.decorate_item_style = decorateStyle;
-       itc.decorate_all_item_style = editStyle;
-       itc.func.text_get = makeCallback(&GenlistItem::getText);
-       itc.func.content_get = makeCallback(&GenlistItem::getContent);
-       itc.func.state_get = makeCallback(&GenlistItem::getState);
-       itc.func.del = makeCallback(&GenlistItem::onDestroy);
-
-       return itc;
-}
-
-Elm_Genlist_Item_Class *GenlistItem::getItemClass() const
-{
-       static Elm_Genlist_Item_Class itc = createItemClass("type1");
-       return &itc;
-}
-
-void GenlistItem::onInserted(Elm_Object_Item *item)
-{
-       m_Item = item;
-       GenlistGroupItem *parent = getParentItem();
-       if (parent) {
-               parent->onSubItemInserted(this);
-       }
-       onInserted();
-}
-
-void GenlistItem::onDestroy(Evas_Object *genlist)
-{
-       m_Item = nullptr;
-       if (!m_Preserve) {
-               delete this;
-       }
-}
-
-void GenlistItem::onSelected(Elm_Object_Item *item)
-{
-       elm_genlist_item_selected_set(item, EINA_FALSE);
-       onSelected();
-
-       if (m_OnSelected) {
-               m_OnSelected();
-       }
-}
-
-void GenlistItem::onRealized(Elm_Object_Item *item)
-{
-       if (!m_Item) {
-               m_Item = item;
-       }
-
-       m_IsRealized = true;
-       onRealized();
-
-       if (m_IsFocusPending) {
-               onFocused();
-               m_IsFocusPending = false;
-       }
-}
-
-void GenlistItem::onUnrealized(Elm_Object_Item *item)
-{
-       m_IsRealized = false;
-       onUnrealized();
-}
diff --git a/lib-common/src/Ui/GenlistIterator.cpp b/lib-common/src/Ui/GenlistIterator.cpp
deleted file mode 100644 (file)
index 51f7e14..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/GenlistIterator.h"
-#include "Ui/GenlistItem.h"
-
-using namespace Ui;
-
-GenlistIterator::GenlistIterator(GenlistItem *item)
-       : m_Item(item)
-{
-}
-
-GenlistIterator &GenlistIterator::operator++()
-{
-       if (m_Item) {
-               m_Item = m_Item->getNextItem();
-       }
-       return *this;
-}
-
-GenlistIterator GenlistIterator::operator++(int)
-{
-       auto it(*this);
-       ++*this;
-       return it;
-}
-
-GenlistIterator &GenlistIterator::operator--()
-{
-       if (m_Item) {
-               m_Item = m_Item->getPrevItem();
-       }
-       return *this;
-}
-
-GenlistIterator GenlistIterator::operator--(int)
-{
-       auto it(*this);
-       --*this;
-       return it;
-}
-
-GenlistItem *GenlistIterator::operator*() const
-{
-       return m_Item;
-}
-
-bool GenlistIterator::operator!=(const GenlistIterator &that) const
-{
-       return m_Item != that.m_Item;
-}
diff --git a/lib-common/src/Ui/Hoversel.cpp b/lib-common/src/Ui/Hoversel.cpp
deleted file mode 100644 (file)
index ccd072a..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Hoversel.h"
-#include "Ui/Window.h"
-#include "Utils/Callback.h"
-
-#include <efl_extension.h>
-
-using namespace Ui;
-
-Elm_Object_Item *Hoversel::addItem(const char *text, int value)
-{
-       Elm_Object_Item *item = elm_hoversel_item_add(getEvasObject(), text,
-                       nullptr, ELM_ICON_NONE, nullptr, (void *) (long) value);
-       elm_object_item_text_translatable_set(item, EINA_TRUE);
-       return item;
-}
-
-void Hoversel::setText(const char *text)
-{
-       elm_object_translatable_text_set(getEvasObject(), text);
-}
-
-void Hoversel::setSelectedCallback(SelectedCallback callback)
-{
-       m_OnSelected = std::move(callback);
-}
-
-Evas_Object *Hoversel::onCreate(Evas_Object *parent)
-{
-       Evas_Object *hoverParent = parent;
-       Window *window = getWindow(parent);
-       if (window) {
-               hoverParent = window->getBaseLayout();
-       }
-
-       Evas_Object *hoversel = elm_hoversel_add(parent);
-       elm_hoversel_hover_parent_set(hoversel, hoverParent);
-
-       evas_object_smart_callback_add(hoversel, "selected",
-                       (Evas_Smart_Cb) makeCallback(&Hoversel::onSelected), this);
-       evas_object_smart_callback_add(hoversel, "expanded",
-                       &Hoversel::onExpanded, this);
-       evas_object_smart_callback_add(hoversel, "dismissed",
-                       &Hoversel::onDismissed, this);
-
-       return hoversel;
-}
-
-void Hoversel::onSelected(Evas_Object *hoversel, Elm_Object_Item *item)
-{
-       int value = (long) elm_object_item_data_get(item);
-       if (!m_OnSelected || m_OnSelected(value)) {
-               setText(elm_object_item_translatable_text_get(item));
-       }
-}
-
-void Hoversel::onExpanded(void *data, Evas_Object *hoversel, void *eventInfo)
-{
-       eext_object_event_callback_add(hoversel, EEXT_CALLBACK_BACK,
-                       &Hoversel::onBackPressed, nullptr);
-}
-
-void Hoversel::onDismissed(void *data, Evas_Object *hoversel, void *eventInfo)
-{
-       eext_object_event_callback_del(hoversel, EEXT_CALLBACK_BACK,
-                       &Hoversel::onBackPressed);
-}
-
-void Hoversel::onBackPressed(void *data, Evas_Object *hoversel, void *eventInfo)
-{
-       elm_hoversel_hover_end(hoversel);
-}
diff --git a/lib-common/src/Ui/ListPopup.cpp b/lib-common/src/Ui/ListPopup.cpp
deleted file mode 100644 (file)
index 6cf7bc0..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/ListPopup.h"
-#include <app_i18n.h>
-
-using namespace Ui;
-
-struct ListPopup::ItemData
-{
-       std::string text;
-       void *userData;
-       ItemSelectedCallback callback;
-};
-
-ListPopup::ListPopup(const char *itemStyle)
-       : m_Genlist(nullptr), m_ItemClass{ ELM_GEN_ITEM_CLASS_HEADER, 0 }
-{
-       m_ItemClass.item_style = itemStyle;
-       m_ItemClass.func.text_get = (Elm_Gen_Item_Text_Get_Cb) &ListPopup::getText;
-       m_ItemClass.func.content_get = (Elm_Gen_Item_Content_Get_Cb) &ListPopup::getContent;
-       m_ItemClass.func.del = [](void *data, Evas_Object *obj) {
-               delete (ItemData *) data;
-       };
-}
-
-Elm_Object_Item *ListPopup::addItem(std::string text, void *data, ItemSelectedCallback callback)
-{
-       ItemData *itemData = new ItemData{ std::move(text), data, std::move(callback) };
-       return elm_genlist_item_append(m_Genlist, &m_ItemClass, itemData,
-                       nullptr, ELM_GENLIST_ITEM_NONE, nullptr, nullptr);
-}
-
-Elm_Object_Item *ListPopup::addItem(std::string text, ItemSelectedCallback callback)
-{
-       return addItem(std::move(text), nullptr, std::move(callback));
-}
-
-Elm_Object_Item *ListPopup::addItem(void *data, ItemSelectedCallback callback)
-{
-       return addItem("", data, std::move(callback));
-}
-
-void ListPopup::setSelectedCallback(SelectedCallback callback)
-{
-       m_OnSelected = std::move(callback);
-}
-
-Evas_Object *ListPopup::onCreate(Evas_Object *parent)
-{
-       Evas_Object *popup = Popup::onCreate(parent);
-
-       m_Genlist = elm_genlist_add(parent);
-       elm_genlist_homogeneous_set(m_Genlist, EINA_TRUE);
-       elm_genlist_mode_set(m_Genlist, ELM_LIST_COMPRESS);
-       elm_scroller_content_min_limit(m_Genlist, EINA_FALSE, EINA_TRUE);
-       elm_object_part_content_set(popup, "elm.swallow.content", m_Genlist);
-
-       evas_object_smart_data_set(m_Genlist, this);
-       evas_object_smart_callback_add(m_Genlist, "selected",
-                       (Evas_Smart_Cb) &ListPopup::onSelected, this);
-
-       return popup;
-}
-
-char *ListPopup::getText(ItemData *itemData, Evas_Object *genlist, const char *part)
-{
-       ListPopup *popup = (ListPopup *) evas_object_smart_data_get(genlist);
-       char *text = popup->getItemText(itemData->userData, part);
-       if (!text && strcmp(part, "elm.text") == 0) {
-               text = strdup(_(itemData->text.c_str()));
-       }
-
-       return text;
-}
-
-Evas_Object *ListPopup::getContent(ItemData *itemData, Evas_Object *genlist, const char *part)
-{
-       ListPopup *popup = (ListPopup *) evas_object_smart_data_get(genlist);
-       return popup->getItemContent(itemData->userData, part);
-}
-
-void ListPopup::onSelected(ListPopup *popup, Evas_Object *genlist, Elm_Object_Item *item)
-{
-       ItemData *itemData = (ItemData *) elm_object_item_data_get(item);
-       popup->onItemSelected(itemData->userData);
-
-       if (itemData->callback) {
-               itemData->callback();
-       }
-
-       if (popup->m_OnSelected) {
-               popup->m_OnSelected(itemData->userData);
-       }
-
-       elm_genlist_item_selected_set(item, EINA_FALSE);
-
-       /* FIXME: Destroying genlist from it's "selected" callback causes crash. */
-       ecore_job_add([](void *data) {
-               delete (ListPopup *) data;
-       }, popup);
-}
diff --git a/lib-common/src/Ui/Menu.cpp b/lib-common/src/Ui/Menu.cpp
deleted file mode 100644 (file)
index 6c26fe2..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Menu.h"
-#include "Ui/Window.h"
-#include "Utils/Callback.h"
-
-#include <efl_extension.h>
-
-using namespace Ui;
-
-Elm_Object_Item *Menu::addItem(const char *text, ItemCallback callback)
-{
-       Elm_Object_Item *item = elm_ctxpopup_item_append(getEvasObject(), text, nullptr,
-                       &Menu::onItemSelect, new ItemCallback(std::move(callback)));
-       elm_object_item_text_translatable_set(item, EINA_TRUE);
-       elm_object_item_del_cb_set(item, &Menu::onItemDestroy);
-       return item;
-}
-
-void Menu::show()
-{
-       Evas_Coord y = 0, h = 0;
-       evas_object_geometry_get(getWindow()->getEvasObject(), nullptr, &y, nullptr, &h);
-
-       Evas_Object *menu = getEvasObject();
-       evas_object_move(menu, 0, y + h);
-       evas_object_show(menu);
-}
-
-Evas_Object *Menu::onCreate(Evas_Object *parent)
-{
-       Window *window = getWindow(parent);
-       if (window) {
-               parent = window->getEvasObject();
-       }
-
-       Evas_Object *menu = elm_ctxpopup_add(parent);
-       elm_object_style_set(menu, "more/default");
-
-       evas_object_smart_callback_add(menu, "dismissed",
-                       makeCallback(&Menu::onDismissed), this);
-       eext_object_event_callback_add(menu, EEXT_CALLBACK_BACK,
-                       eext_ctxpopup_back_cb, nullptr);
-       eext_object_event_callback_add(menu, EEXT_CALLBACK_MORE,
-                       eext_ctxpopup_back_cb, nullptr);
-
-       return menu;
-}
-
-void Menu::onItemSelect(void *data, Evas_Object *obj, void *item)
-{
-       ItemCallback &callback = *(ItemCallback *) data;
-       if (callback) {
-               callback();
-       }
-
-       elm_ctxpopup_dismiss(obj);
-}
-
-void Menu::onItemDestroy(void *data, Evas_Object *obj, void *item)
-{
-       delete (ItemCallback *) data;
-}
-
-void Menu::onDismissed(Evas_Object *obj, void *eventInfo)
-{
-       delete this;
-}
diff --git a/lib-common/src/Ui/Naviframe.cpp b/lib-common/src/Ui/Naviframe.cpp
deleted file mode 100644 (file)
index 152eb10..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Naviframe.h"
-#include "Ui/NaviframePage.h"
-#include "Ui/View.h"
-#include "Utils/Callback.h"
-
-using namespace Ui;
-
-Naviframe::Naviframe()
-       : Navigator(StackNavigator)
-{
-}
-
-View *Naviframe::getCurrentView() const
-{
-       Elm_Object_Item *item = elm_naviframe_top_item_get(getEvasObject());
-       if (!item) {
-               return nullptr;
-       }
-
-       return static_cast<View*>(elm_object_item_data_get(item));
-}
-
-Evas_Object *Naviframe::onCreate(Evas_Object *parent)
-{
-       Evas_Object *naviframe = elm_naviframe_add(parent);
-       elm_naviframe_prev_btn_auto_pushed_set(naviframe, EINA_TRUE);
-
-       return naviframe;
-}
-
-NavigatorPage *Naviframe::attachView(View *view)
-{
-       Elm_Object_Item *naviItem = elm_naviframe_item_push(getEvasObject(), nullptr,
-                       nullptr, nullptr, view->getEvasObject(), nullptr);
-       elm_object_item_data_set(naviItem, view);
-       elm_naviframe_item_pop_cb_set(naviItem, makeCallback(&Naviframe::onItemPop), this);
-       return new NaviframePage(naviItem);
-}
-
-void Naviframe::navigateToView(View *view)
-{
-       if (view != getCurrentView()) {
-               NaviframePage *page = static_cast<NaviframePage*>(view->getPage());
-               elm_naviframe_item_pop_to(page->m_NaviItem);
-       }
-}
-
-Eina_Bool Naviframe::onItemPop(Elm_Object_Item *item)
-{
-       evas_object_smart_callback_add(getEvasObject(), "transition,finished",
-                       makeCallback(&Naviframe::onTransition), this);
-
-       View *view = static_cast<View*>(elm_object_item_data_get(item));
-       notifyNavigation(view, false);
-       return EINA_TRUE;
-}
-
-void Naviframe::onTransition(Evas_Object *obj, void *eventInfo)
-{
-       notifyNavigation(getCurrentView(), true);
-
-       evas_object_smart_callback_del(getEvasObject(), "transition,finished",
-                       makeCallback(&Naviframe::onTransition));
-}
-
-bool Naviframe::onBackPressed()
-{
-       if (!Navigator::onBackPressed()) {
-               return false;
-       }
-
-       if (elm_naviframe_top_item_get(getEvasObject())
-                       != elm_naviframe_bottom_item_get(getEvasObject())) {
-               elm_naviframe_item_pop(getEvasObject());
-               return false;
-       }
-
-       return true;
-}
diff --git a/lib-common/src/Ui/NaviframePage.cpp b/lib-common/src/Ui/NaviframePage.cpp
deleted file mode 100644 (file)
index 125a9b5..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/NaviframePage.h"
-using namespace Ui;
-
-NaviframePage::NaviframePage(Elm_Object_Item *naviItem)
-       : m_NaviItem(naviItem)
-{
-}
-
-NaviframePage::~NaviframePage()
-{
-       elm_object_item_part_content_unset(m_NaviItem, "elm.swallow.content");
-       Evas_Object *navi = elm_object_item_widget_get(m_NaviItem);
-       if (m_NaviItem == elm_naviframe_top_item_get(navi)) {
-               elm_naviframe_item_pop(navi);
-       } else {
-               elm_object_item_del(m_NaviItem);
-       }
-}
-
-void NaviframePage::setTitle(const char *title)
-{
-       elm_object_item_translatable_part_text_set(m_NaviItem, "elm.text.title", title);
-       elm_naviframe_item_title_enabled_set(m_NaviItem, title != nullptr, EINA_TRUE);
-}
-
-void NaviframePage::setStyle(const char *style)
-{
-       elm_naviframe_item_style_set(m_NaviItem, style);
-}
-
-void NaviframePage::setContent(const char *part, Evas_Object *content)
-{
-       elm_object_item_part_content_set(m_NaviItem, part, content);
-}
diff --git a/lib-common/src/Ui/Navigator.cpp b/lib-common/src/Ui/Navigator.cpp
deleted file mode 100644 (file)
index 23d944c..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Navigator.h"
-
-using namespace Ui;
-
-Navigator::Navigator(NavigatorType type)
-       : m_Type(type)
-{
-}
-
-void Navigator::navigateTo(View *view)
-{
-       if (!view || view == getCurrentView()) {
-               return;
-       }
-
-       notifyNavigation(getCurrentView(), false);
-
-       if (view->getNavigator(m_Type) != this) {
-               Navigator *stackNavi = m_StackNavi;
-               Navigator *tabNavi = m_TabNavi;
-               if (m_Type == StackNavigator) {
-                       stackNavi = this;
-               } else {
-                       tabNavi = this;
-               }
-
-               view->create(getEvasObject());
-               view->onViewAttached(stackNavi, tabNavi);
-               view->onPageAttached(attachView(view));
-       }
-
-       navigateToView(view);
-       notifyNavigation(view, true);
-}
-
-void Navigator::notifyNavigation(View *view, bool isCurrentView)
-{
-       if (view) {
-               view->onNavigation(isCurrentView);
-       }
-}
-
-void Navigator::onNavigation(bool isCurrentView)
-{
-       notifyNavigation(getCurrentView(), isCurrentView);
-}
-
-bool Navigator::onBackPressed()
-{
-       View *view = getCurrentView();
-       return view ? view->onBackPressed() : true;
-}
-
-void Navigator::onMenuPressed()
-{
-       View *view = getCurrentView();
-       if (view) {
-               view->onMenuPressed();
-       }
-}
diff --git a/lib-common/src/Ui/Popup.cpp b/lib-common/src/Ui/Popup.cpp
deleted file mode 100644 (file)
index 9509d13..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Popup.h"
-#include "Ui/Window.h"
-#include "Utils/Callback.h"
-
-#include <efl_extension.h>
-
-#define PART_POPUP_TITLE "title,text"
-
-using namespace Ui;
-
-namespace
-{
-       const char *buttonParts[POPUP_BUTTON_MAX_COUNT] = { "button1", "button2", "button3" };
-}
-
-Popup::Popup()
-       : m_ButtonCount(0)
-{
-}
-
-Popup *Popup::create(Evas_Object *parent, const char *title,
-               const char *text, const char *button_text)
-{
-       Popup *popup = new Popup();
-       popup->create(parent);
-       popup->setTitle(title);
-       popup->setText(text);
-       popup->addButton(button_text);
-       return popup;
-}
-
-void Popup::setTitle(const char *title)
-{
-       elm_object_translatable_part_text_set(getEvasObject(), PART_POPUP_TITLE, title);
-}
-
-void Popup::setText(const char *text)
-{
-       elm_object_translatable_text_set(getEvasObject(), text);
-}
-
-void Popup::setContent(Evas_Object *content)
-{
-       elm_object_part_content_set(getEvasObject(), "elm.swallow.content", content);
-}
-
-Evas_Object *Popup::addButton(const char *text, ButtonCallback callback)
-{
-       if (m_ButtonCount >= POPUP_BUTTON_MAX_COUNT) {
-               return nullptr;
-       }
-
-       Evas_Object *button = elm_button_add(getEvasObject());
-       elm_object_style_set(button, "bottom");
-       elm_object_translatable_text_set(button, text);
-       elm_object_part_content_set(getEvasObject(), buttonParts[m_ButtonCount], button);
-
-       m_ButtonCbs[m_ButtonCount] = std::move(callback);
-       evas_object_smart_data_set(button, &m_ButtonCbs[m_ButtonCount]);
-       evas_object_smart_callback_add(button, "clicked",
-                       makeCallback(&Popup::onButtonPressed), this);
-
-       ++m_ButtonCount;
-       return button;
-}
-
-void Popup::setBackCallback(BackCallback callback)
-{
-       m_OnBack = std::move(callback);
-}
-
-Evas_Object *Popup::onCreate(Evas_Object *parent)
-{
-       Window *window = getWindow(parent);
-       if (window) {
-               parent = window->getBaseLayout();
-       }
-
-       Evas_Object *popup = elm_popup_add(parent);
-       elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                       makeCallback(&Popup::onBackPressed), this);
-       evas_object_show(popup);
-
-       return popup;
-}
-
-void Popup::onButtonPressed(Evas_Object *obj, void *eventInfo)
-{
-       ButtonCallback &callback = *(ButtonCallback *) evas_object_smart_data_get(obj);
-       if (!callback || callback()) {
-               delete this;
-       }
-}
-
-void Popup::onBackPressed(Evas_Object *obj, void *eventInfo)
-{
-       if (!m_OnBack || m_OnBack()) {
-               delete this;
-       }
-}
diff --git a/lib-common/src/Ui/ProgressController.cpp b/lib-common/src/Ui/ProgressController.cpp
deleted file mode 100644 (file)
index e4f85c6..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-
-#include "Ui/ProgressController.h"
-#include "Ui/ProgressPopup.h"
-#include "Utils/Logger.h"
-
-using namespace Ui;
-
-ProgressController::ProgressController(Evas_Object *parent, const char *title, int maxValue)
-       : m_IsCanceled(false), m_ProgressPopup(nullptr), m_Thread(nullptr)
-{
-       createProgressPopup(parent, title, maxValue);
-}
-
-ProgressController::~ProgressController()
-{
-       delete m_ProgressPopup;
-}
-
-void ProgressController::run()
-{
-       m_Thread = ecore_thread_feedback_run(onStart, onNotify, onFinish, onCanceled, this, EINA_FALSE);
-}
-
-void ProgressController::setFinishCallback(FinishCallback callback)
-{
-       m_OnFinish = std::move(callback);
-}
-
-bool ProgressController::onCancel()
-{
-       return true;
-}
-
-void ProgressController::cancel()
-{
-       m_IsCanceled = true;
-}
-
-bool ProgressController::onProgress(size_t value)
-{
-       ecore_thread_feedback(m_Thread, (void *)value);
-
-       return !m_IsCanceled;
-}
-
-void ProgressController::createProgressPopup(Evas_Object *parent, const char *title, int maxValue)
-{
-       m_ProgressPopup = new Ui::ProgressPopup(maxValue);
-       RETM_IF_ERR(!m_ProgressPopup, "m_ProgressPopup is NULL");
-
-       m_ProgressPopup->create(parent);
-       m_ProgressPopup->setTitle(title);
-
-       auto cancelFunction = [this] {
-               if (onCancel()) {
-                       cancel();
-               }
-               return false;
-       };
-       m_ProgressPopup->addButton("IDS_PB_BUTTON_CANCEL", cancelFunction);
-       m_ProgressPopup->setBackCallback(cancelFunction);
-
-       elm_popup_orient_set(m_ProgressPopup->getEvasObject(), ELM_POPUP_ORIENT_BOTTOM);
-}
-
-void ProgressController::onStart(void *data, Ecore_Thread *thread)
-{
-       RETM_IF_ERR(!data, "invalid data");
-       ProgressController *controller = (ProgressController *)data;
-       controller->onStart(thread);
-}
-
-void ProgressController::onNotify(void *data, Ecore_Thread *thread, void *msgData)
-{
-       RETM_IF_ERR(!data || !msgData, "invalid data");
-       ProgressController *controller = (ProgressController *)data;
-
-       controller->m_ProgressPopup->setProgress((size_t)msgData);
-}
-
-void ProgressController::onFinish(void *data, Ecore_Thread *thread)
-{
-       RETM_IF_ERR(!data, "invalid data");
-       ProgressController *controller = (ProgressController *)data;
-       controller->m_OnFinish(*controller);
-
-       delete controller;
-}
-
-void ProgressController::onCanceled(void *data, Ecore_Thread *thread)
-{
-       RETM_IF_ERR(!data, "invalid data");
-       ProgressController *controller = (ProgressController *)data;
-       controller->onCanceled();
-
-       delete controller;
-}
diff --git a/lib-common/src/Ui/ProgressPopup.cpp b/lib-common/src/Ui/ProgressPopup.cpp
deleted file mode 100644 (file)
index 59ce5d4..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "App/Path.h"
-#include "Ui/ProgressPopup.h"
-#include "Utils/Logger.h"
-
-#include "CommonProgressbarLayout.h"
-
-#define BUFFER_SIZE        64
-
-#define ZERO_PROGRESS      "0%"
-
-using namespace Ui;
-
-namespace
-{
-       const std::string layoutFilePath = App::getResourcePath(COMMON_PROGRESSBAR_LAYOUT_EDJ);
-}
-
-ProgressPopup::ProgressPopup(size_t maxValue)
-       : m_MaxValue(maxValue), m_Progressbar(nullptr)
-{
-}
-
-void ProgressPopup::setProgress(size_t value)
-{
-       RETM_IF(value > m_MaxValue, "value is bigger than max value");
-       double progressValue = (double)value / m_MaxValue;
-
-       char progress[BUFFER_SIZE] = { 0, };
-       snprintf(progress, sizeof(progress), "%d%%", (int)(100.0 * progressValue));
-
-       char total[BUFFER_SIZE] = { 0, };
-       snprintf(total, sizeof(total), "%zu/%zu", value, m_MaxValue);
-
-       elm_progressbar_value_set(m_Progressbar, progressValue);
-       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.left", progress);
-       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.right", total);
-}
-
-Evas_Object *ProgressPopup::onCreate(Evas_Object *parent)
-{
-       Evas_Object *popup = Popup::onCreate(parent);
-
-       Evas_Object *layout = elm_layout_add(popup);
-       elm_layout_file_set(layout, layoutFilePath.c_str(), GROUP_PROGRESSBAR_LAYOUT);
-
-       m_Progressbar = elm_progressbar_add(layout);
-       elm_progressbar_pulse(m_Progressbar, EINA_TRUE);
-
-       char total[BUFFER_SIZE] = { 0, };
-       snprintf(total, sizeof(total), "%d/%zu", 0, m_MaxValue);
-       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.left", ZERO_PROGRESS);
-       elm_object_part_text_set(m_Progressbar, "elm.text.bottom.right", total);
-
-       elm_object_part_content_set(layout, PART_PROGRESSBAR, m_Progressbar);
-       elm_object_content_set(popup, layout);
-
-       return popup;
-}
diff --git a/lib-common/src/Ui/Scale.cpp b/lib-common/src/Ui/Scale.cpp
deleted file mode 100644 (file)
index f6b1cce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Scale.h"
-
-#include <Elementary.h>
-
-int Ui::getScaledValue(int value)
-{
-       static double factor = elm_config_scale_get() / elm_app_base_scale_get();
-       return value * factor;
-}
diff --git a/lib-common/src/Ui/TabPage.cpp b/lib-common/src/Ui/TabPage.cpp
deleted file mode 100644 (file)
index e1bfa18..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/TabPage.h"
-#include "Utils/Logger.h"
-
-#define BUFFER_SIZE 64
-
-using namespace Ui;
-
-TabPage::TabPage(size_t index, Elm_Object_Item *tabItem)
-       : m_Index(index), m_TabItem(tabItem), m_Sizer(nullptr), m_Page(nullptr)
-{
-}
-
-TabPage::~TabPage()
-{
-       elm_object_part_content_unset(m_Page, "elm.swallow.content");
-       elm_object_item_del(m_TabItem);
-}
-
-Evas_Object *TabPage::onCreate(Evas_Object *parent)
-{
-       Evas_Object *layout = elm_layout_add(parent);
-       elm_layout_theme_set(layout, "layout", "application", "default");
-
-       m_Sizer = evas_object_rectangle_add(evas_object_evas_get(layout));
-       evas_object_color_set(m_Sizer, 0, 0, 0, 0);
-       elm_object_part_content_set(layout, "elm.swallow.bg", m_Sizer);
-
-       m_Page = elm_layout_add(parent);
-       elm_layout_theme_set(m_Page, "naviframe", "item", "basic/default");
-       elm_layout_signal_emit(m_Page, "elm,state,title,hide", "elm");
-       elm_layout_signal_emit(m_Page, "elm,state,toolbar,hide", "elm");
-       elm_object_part_content_set(layout, "elm.swallow.content", m_Page);
-
-       return layout;
-}
-
-void TabPage::setTitle(const char *title)
-{
-       elm_object_item_translatable_text_set(m_TabItem, title);
-}
-
-void TabPage::setStyle(const char *style)
-{
-       char buffer[BUFFER_SIZE];
-       snprintf(buffer, sizeof(buffer), "%s/default", style);
-       elm_layout_theme_set(m_Page, "naviframe", "item", buffer);
-}
-
-void TabPage::setContent(const char *part, Evas_Object *content)
-{
-       char buffer[BUFFER_SIZE];
-       snprintf(buffer, sizeof(buffer), "elm,state,%s,%s", part, content ? "show" : "hide");
-       elm_layout_signal_emit(m_Page, buffer, "elm");
-       elm_object_part_content_set(m_Page, part, content);
-}
diff --git a/lib-common/src/Ui/TabView.cpp b/lib-common/src/Ui/TabView.cpp
deleted file mode 100644 (file)
index 7ad327a..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/TabView.h"
-#include "Ui/TabPage.h"
-#include "Utils/Callback.h"
-
-using namespace Ui;
-
-TabView::TabView()
-       : Navigator(TabNavigator), m_Tabbar(nullptr), m_Scroller(nullptr), m_Box(nullptr),
-         m_Width(0), m_Height(0), m_IsNavigating(false), m_CurrentPage(0)
-{
-}
-
-View *TabView::getCurrentView() const
-{
-       return m_CurrentPage < m_Views.size() ? m_Views[m_CurrentPage] : nullptr;
-}
-
-Evas_Object *TabView::onCreate(Evas_Object *parent)
-{
-       m_Scroller = elm_scroller_add(parent);
-       elm_scroller_page_relative_set(m_Scroller, 1.0, 0.0);
-       elm_scroller_page_scroll_limit_set(m_Scroller, 1, 0);
-       elm_scroller_loop_set(m_Scroller, EINA_FALSE, EINA_FALSE);
-       elm_scroller_policy_set(m_Scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-       elm_object_scroll_lock_y_set(m_Scroller, EINA_TRUE);
-
-       evas_object_event_callback_add(m_Scroller, EVAS_CALLBACK_RESIZE,
-                       makeCallback(&TabView::onResize), this);
-       evas_object_smart_callback_add(m_Scroller, "scroll,page,changed",
-                       makeCallback(&TabView::onPageChanged), this);
-
-       m_Box = elm_box_add(m_Scroller);
-       elm_box_horizontal_set(m_Box, EINA_TRUE);
-       elm_object_content_set(m_Scroller, m_Box);
-
-       return m_Scroller;
-}
-
-void TabView::onPageAttached()
-{
-       m_Tabbar = elm_toolbar_add(getEvasObject());
-       elm_toolbar_shrink_mode_set(m_Tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
-       elm_toolbar_select_mode_set(m_Tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
-       elm_toolbar_transverse_expanded_set(m_Tabbar, EINA_TRUE);
-       evas_object_smart_data_set(m_Tabbar, this);
-       evas_object_smart_callback_add(m_Tabbar, "selected",
-                       makeCallback(&TabView::onTabSelect), this);
-
-       getPage()->setStyle("tabbar/notitle");
-       getPage()->setContent("tabbar", m_Tabbar);
-}
-
-NavigatorPage *TabView::attachView(View *view)
-{
-       Elm_Object_Item *item = elm_toolbar_item_append(m_Tabbar, nullptr, nullptr, nullptr, nullptr);
-       elm_object_item_data_set(item, view);
-       elm_object_item_del_cb_set(item, &TabView::onTabDestroy);
-       m_Views.push_back(view);
-
-       size_t index = m_Views.size() - 1;
-       TabPage *page = new TabPage(index, item);
-
-       Evas_Object *layout = page->create(getEvasObject());
-       page->setContent("elm.swallow.content", view->create(layout));
-       evas_object_size_hint_min_set(page->m_Sizer, m_Width, m_Height);
-       elm_box_pack_end(m_Box, layout);
-       evas_object_show(layout);
-
-       return page;
-}
-
-void TabView::navigateToView(View *view)
-{
-       m_IsNavigating = true;
-
-       TabPage *page = static_cast<TabPage *>(view->getPage());
-       elm_scroller_page_show(m_Scroller, page->m_Index, 0);
-       elm_toolbar_item_selected_set(page->m_TabItem, EINA_TRUE);
-       m_CurrentPage = page->m_Index;
-
-       m_IsNavigating = false;
-}
-
-void TabView::onTabDestroy(void *data, Evas_Object *obj, void *tabItem)
-{
-       TabView *tabView = (TabView *) evas_object_smart_data_get(obj);
-       TabPage *page = static_cast<TabPage *>(((View *) data)->getPage());
-
-       auto it = tabView->m_Views.begin() + page->m_Index;
-       it = tabView->m_Views.erase(it);
-
-       for (; it !=  tabView->m_Views.end(); ++it) {
-               page = static_cast<TabPage *>((*it)->getPage());
-               --page->m_Index;
-       }
-}
-
-void TabView::onTabSelect(Evas_Object *obj, void *tabItem)
-{
-       View *view = (View *) elm_object_item_data_get((Elm_Object_Item *) tabItem);
-       if (!m_IsNavigating) {
-               navigateTo(view);
-       }
-}
-
-void TabView::onPageChanged(Evas_Object *obj, void *eventInfo)
-{
-       int index = 0;
-       elm_scroller_current_page_get(m_Scroller, &index, nullptr);
-       if (!m_IsNavigating) {
-               navigateTo(m_Views[index]);
-       }
-}
-
-void TabView::onResize(Evas *e, Evas_Object *obj, void *eventInfo)
-{
-       evas_object_geometry_get(obj, nullptr, nullptr, &m_Width, &m_Height);
-
-       for (auto &&view : m_Views) {
-               TabPage *page = static_cast<TabPage *>(view->getPage());
-               evas_object_size_hint_min_set(page->m_Sizer, m_Width, m_Height);
-       }
-
-       elm_scroller_page_size_set(m_Scroller, m_Width, m_Height);
-       elm_scroller_page_show(m_Scroller, m_CurrentPage, 0);
-}
diff --git a/lib-common/src/Ui/Thumbnail.cpp b/lib-common/src/Ui/Thumbnail.cpp
deleted file mode 100644 (file)
index 680c3fb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Thumbnail.h"
-#include "Ui/Scale.h"
-
-#include "App/Path.h"
-#include "CommonThumbnail.h"
-
-using namespace Ui;
-
-namespace
-{
-       const struct
-       {
-               const char *groupMask;
-               const char *groupDefault;
-       } params[] = {
-               { GROUP_THUMBNAIL_SMALL, GROUP_THUMBNAIL_DEFAULT_SMALL },
-               { GROUP_THUMBNAIL_MEDIUM, GROUP_THUMBNAIL_DEFAULT_MEDIUM },
-               { GROUP_THUMBNAIL_LARGE, GROUP_THUMBNAIL_DEFAULT_LARGE }
-       };
-
-       const std::string layoutPath = App::getResourcePath(COMMON_THUMBNAIL_EDJ);
-}
-
-Thumbnail::Thumbnail(Size size)
-       : m_Size(size), m_Image(nullptr)
-{
-}
-
-Thumbnail *Thumbnail::create(Evas_Object *parent, Size size, const char *path)
-{
-       Thumbnail *thumbnail = new Thumbnail(size);
-       thumbnail->create(parent);
-       thumbnail->setImagePath(path);
-       return thumbnail;
-}
-
-Evas_Object *Thumbnail::getImage() const
-{
-       return m_Image;
-}
-
-void Thumbnail::setImagePath(const char *path)
-{
-       if (path && *path) {
-               elm_image_file_set(m_Image, path, nullptr);
-       } else {
-               elm_image_file_set(m_Image, layoutPath.c_str(), params[m_Size].groupDefault);
-       }
-}
-
-void Thumbnail::setSizeHint(bool isSet)
-{
-       static int sizes[] = {
-               getScaledValue(THUMBNAIL_SMALL_SIZE),
-               getScaledValue(THUMBNAIL_MEDIUM_SIZE),
-               getScaledValue(THUMBNAIL_LARGE_SIZE)
-       };
-
-       int size = 0;
-       if (isSet) {
-               size = sizes[m_Size];
-       }
-
-       evas_object_size_hint_min_set(m_Image, size, size);
-}
-
-Evas_Object *Thumbnail::onCreate(Evas_Object *parent)
-{
-       Evas_Object *layout = elm_layout_add(parent);
-       elm_layout_file_set(layout, layoutPath.c_str(), params[m_Size].groupMask);
-
-       m_Image = elm_image_add(layout);
-       elm_image_aspect_fixed_set(m_Image, EINA_TRUE);
-       elm_image_fill_outside_set(m_Image, EINA_TRUE);
-       elm_object_part_content_set(layout, "elm.swallow.content", m_Image);
-
-       return layout;
-}
diff --git a/lib-common/src/Ui/View.cpp b/lib-common/src/Ui/View.cpp
deleted file mode 100644 (file)
index 4cd255e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/View.h"
-
-using namespace Ui;
-
-View::View()
-       : m_StackNavi(nullptr), m_TabNavi(nullptr),
-         m_NaviPage(nullptr)
-{
-}
-
-View::~View()
-{
-       delete m_NaviPage;
-}
-
-Navigator *View::getNavigator(NavigatorType type) const
-{
-       return type == StackNavigator ? m_StackNavi : m_TabNavi;
-}
-
-NavigatorPage *View::getPage() const
-{
-       return m_NaviPage;
-}
-
-void View::onViewAttached(Navigator *stackNavi, Navigator *tabNavi)
-{
-       m_StackNavi = stackNavi;
-       m_TabNavi = tabNavi;
-}
-
-void View::onPageAttached(NavigatorPage *page)
-{
-       if (page != m_NaviPage) {
-               delete m_NaviPage;
-               m_NaviPage = page;
-       }
-
-       onPageAttached();
-}
diff --git a/lib-common/src/Ui/Window.cpp b/lib-common/src/Ui/Window.cpp
deleted file mode 100644 (file)
index b110e73..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Ui/Window.h"
-#include "Ui/View.h"
-#include "Utils/Callback.h"
-
-#include <efl_extension.h>
-
-using namespace Ui;
-
-Window::Window()
-       : m_Conform(nullptr), m_Layout(nullptr), m_MainView(nullptr)
-{
-}
-
-Evas_Object *Window::onCreate(Evas_Object *parent)
-{
-       Evas_Object *window = elm_win_add(nullptr, nullptr, ELM_WIN_BASIC);
-       elm_win_indicator_mode_set(window, ELM_WIN_INDICATOR_SHOW);
-       elm_win_conformant_set(window, EINA_TRUE);
-       evas_object_show(window);
-
-       Evas_Object *bg = elm_bg_add(window);
-       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_win_resize_object_add(window, bg);
-       evas_object_show(bg);
-
-       m_Conform = elm_conformant_add(window);
-       evas_object_size_hint_weight_set(m_Conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_win_resize_object_add(window, m_Conform);
-       evas_object_show(m_Conform);
-
-       m_Layout = elm_layout_add(m_Conform);
-       elm_layout_theme_set(m_Layout, "layout", "application", "default");
-       evas_object_size_hint_weight_set(m_Layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_content_set(m_Conform, m_Layout);
-       evas_object_show(m_Layout);
-
-       eext_object_event_callback_add(m_Layout, EEXT_CALLBACK_BACK,
-                       makeCallback(&Window::onBackPressed), this);
-       eext_object_event_callback_add(m_Layout, EEXT_CALLBACK_MORE,
-                       makeCallback(&Window::onMenuPressed), this);
-
-       return window;
-}
-
-Evas_Object *Window::getConformant() const
-{
-       return m_Conform;
-}
-
-Evas_Object *Window::getBaseLayout() const
-{
-       return m_Layout;
-}
-
-void Window::attachView(View *view)
-{
-       m_MainView = view;
-       elm_object_part_content_set(m_Layout, "elm.swallow.content", view->create(m_Layout));
-}
-
-void Window::onBackPressed(Evas_Object *obj, void *eventInfo)
-{
-       if (!m_MainView || m_MainView->onBackPressed()) {
-               elm_win_lower(getEvasObject());
-       }
-}
-
-void Window::onMenuPressed(Evas_Object *obj, void *eventInfo)
-{
-       if (m_MainView) {
-               m_MainView->onMenuPressed();
-       }
-}
diff --git a/lib-common/src/Utils/Tracer.cpp b/lib-common/src/Utils/Tracer.cpp
deleted file mode 100644 (file)
index 3ad64b7..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Utils/Tracer.h"
-#include <dlog.h>
-
-using namespace Utils;
-
-void subtractTime(const timespec &a, const timespec &b, timespec &res)
-{
-       static const size_t ratio(1000000000);
-
-       res.tv_sec = b.tv_sec - a.tv_sec;
-       res.tv_nsec = b.tv_nsec - a.tv_nsec;
-       if (res.tv_nsec < 0)
-       {
-               --res.tv_sec;
-               res.tv_nsec += ratio;
-       }
-}
-
-Tracer::Tracer(const char *tag, const char *file, const char *func, int line)
-       : m_Tag(tag), m_File(file), m_Func(func)
-{
-       dlog_print(DLOG_DEBUG, m_Tag, "%s: %s(%d) <<< called", m_File, m_Func, line);
-       clock_gettime(CLOCK_REALTIME, &m_startTime);
-}
-
-Tracer::~Tracer()
-{
-       timespec endTime;
-       clock_gettime(CLOCK_REALTIME, &endTime);
-
-       timespec res;
-       subtractTime(m_startTime, endTime, res);
-
-       dlog_print(DLOG_DEBUG, m_Tag, "%s: %s >>> returned in %d.%03d seconds",
-               m_File, m_Func, res.tv_sec, res.tv_nsec / 1000000);
-}
diff --git a/lib-common/src/Utils/UniString.cpp b/lib-common/src/Utils/UniString.cpp
deleted file mode 100644 (file)
index 688d831..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "Utils/UniString.h"
-#include <cstring>
-#include <memory>
-
-using namespace Utils;
-
-UniString::UniString(const char *utf8Str)
-{
-       if (utf8Str) {
-               m_Utf8Str = utf8Str;
-       }
-       m_UniStr = fromUtf8(m_Utf8Str);
-}
-
-bool UniString::operator<(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) < 0;
-}
-
-bool UniString::operator>(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) > 0;
-}
-
-bool UniString::operator==(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) == 0;
-}
-
-bool UniString::operator!=(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) != 0;
-}
-
-bool UniString::operator<=(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) <= 0;
-}
-
-bool UniString::operator>=(const UniString &that) const
-{
-       return i18n_ustring_compare_code_point_order(m_UniStr.c_str(), that.m_UniStr.c_str()) >= 0;
-}
-
-const UniString::I18nString &UniString::getI18nStr() const
-{
-       return m_UniStr;
-}
-
-const std::string &UniString::getUtf8Str() const
-{
-       if (m_Utf8Str.empty() && !m_UniStr.empty()) {
-               m_Utf8Str = toUtf8(m_UniStr);
-       }
-
-       return m_Utf8Str;
-}
-
-std::string UniString::toUtf8(const I18nString &ustring)
-{
-       char fakeValue;
-       int length = 0;
-       i18n_error_code_e err = I18N_ERROR_NONE;
-       i18n_ustring_to_UTF8(&fakeValue, 1, &length, ustring.c_str(), -1, &err);
-
-       std::string retVal(length + 1, 0);
-       i18n_ustring_to_UTF8(&retVal[0], length + 1, &length, ustring.c_str(), -1, &err);
-
-       return retVal;
-}
-
-UniString::I18nString UniString::fromUtf8(const std::string &utf8Str)
-{
-       i18n_uchar fakeValue;
-       int length = 0;
-       i18n_error_code_e err = I18N_ERROR_NONE;
-       i18n_ustring_from_UTF8(&fakeValue, 1, &length, utf8Str.c_str(), -1, &err);
-
-       I18nString retVal(length + 1, 0);
-       i18n_ustring_from_UTF8(&retVal[0], length + 1, &length, utf8Str.c_str(), -1, &err);
-
-       return retVal;
-}
index 9360bdde992a1c8e8aa06bb3f7129816b88322b1..e5a15d4452f65012bd133014eaad4388b839fa45 100644 (file)
@@ -12,6 +12,7 @@
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -42,6 +43,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
@@ -56,6 +58,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/res/apps-common/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/inc}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-contact/res/input/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/res/common/edje}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-contact/res/input/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-contact/res/details/edje}&quot;"/>
                                                                </option>
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks.core.708088795" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.paths.1211677834" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/${ConfigName}}&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.libs.812315232" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="apps-common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="common"/>
                                                                </option>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1393240169" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                </configuration>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+                               <externalSettings containerId="lib-apps-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                        </storageModule>
                </cconfiguration>
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
index 940972e3fedb9447761dd0b15798c75a2e7311f5..7960bf4ab882f6379a3c7b5acc0f33a5d4485197 100644 (file)
@@ -3,6 +3,7 @@
        <name>lib-contact</name>
        <comment></comment>
        <projects>
+               <project>lib-apps-common</project>
                <project>lib-common</project>
        </projects>
        <buildSpec>
index 0a362ae73452a9a4c712e06cd81de224a2e0d9cc..67dc0cc39d6b0fe6609b65f72fd74b86fac0c3ab 100644 (file)
@@ -3,6 +3,8 @@ project(contact CXX)
 
 file(GLOB_RECURSE SOURCES src/*.cpp)
 include_directories(
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/inc
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/res/apps-common/edje
        ${CMAKE_SOURCE_DIR}/lib-common/inc
        ${CMAKE_SOURCE_DIR}/lib-common/res/common/edje
        ${CMAKE_CURRENT_SOURCE_DIR}/inc
@@ -11,7 +13,7 @@ include_directories(
 )
 
 add_library(${PROJECT_NAME} SHARED ${SOURCES})
-target_link_libraries(${PROJECT_NAME} ${LIBRARIES} common)
+target_link_libraries(${PROJECT_NAME} ${LIBRARIES} apps-common common)
 
 install(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
 
index 0f417b46f9cde267c4ca56982f12a294a44971a8..ec0248a51941b4675d33e7d917156b2dabd25df6 100644 (file)
@@ -18,8 +18,8 @@
 #include "DetailsItemLayout.h"
 #include "DetailsItemLayoutMetrics.h"
 
-#include "../../../../lib-common/res/common/edje/common-colors.edc"
-#include "../../../../lib-common/res/common/edje/common-utils.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-colors.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-utils.edc"
 
 styles {
        style {
index 671e254db3a058f5e109632c96d559e5f214b599..83d0802e4e51d71a0f34353ea259cda47b52bff1 100644 (file)
@@ -18,8 +18,8 @@
 #include "InputItemLayout.h"
 #include "InputItemLayoutMetrics.h"
 
-#include "../../../../lib-common/res/common/edje/common-colors.edc"
-#include "../../../../lib-common/res/common/edje/common-utils.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-colors.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-utils.edc"
 
 collections
 {
index 60b78a35d1aac16e3cf970dbf757761a086640ee..0068d9a7c8a927f5878759495a0fc0d030061ff2 100644 (file)
@@ -21,7 +21,7 @@
 #include "Ui/DatePopup.h"
 #include "Utils/Callback.h"
 
-#include "CommonButtons.h"
+#include "AppsCommonButtons.h"
 
 #define DATE_BUFFER_SIZE 32
 
index aa0f61aaecda737509f06a022e205ee691df490c..e7aa0bed7db917c6b19789a2646051cb78d67406 100644 (file)
@@ -12,6 +12,7 @@
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -57,6 +58,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/inc}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/res/common/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-logs/res/logs/edje}&quot;"/>
                                                                </option>
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks.core.738575116" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.paths.1865146897" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/${ConfigName}}&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.libs.90965994" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="apps-common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="common"/>
                                                                </option>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2049958036" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                </configuration>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+                               <externalSettings containerId="lib-apps-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                        </storageModule>
                </cconfiguration>
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
index 570234e4d2e4311d1c17dfb71ecf106b90fffd11..551f843e84be8c81ee78ed52290aca764aef8220 100644 (file)
@@ -3,6 +3,7 @@
        <name>lib-logs</name>
        <comment></comment>
        <projects>
+               <project>lib-apps-common</project>
                <project>lib-common</project>
        </projects>
        <buildSpec>
index 6e74bb94103dd37012ab0501f70e3bab36b19610..ff039934cc470feb689cbc0fc510fea3de3e23e7 100644 (file)
@@ -3,14 +3,16 @@ project(logs CXX)
 
 file(GLOB_RECURSE SOURCES src/*.cpp)
 include_directories(
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/inc
        ${CMAKE_SOURCE_DIR}/lib-common/inc
+       ${CMAKE_SOURCE_DIR}/lib-common/res/common/edje
        ${CMAKE_CURRENT_SOURCE_DIR}/inc
        ${CMAKE_CURRENT_SOURCE_DIR}/res/logs/edje
 )
 
 add_library(${PROJECT_NAME} SHARED ${SOURCES})
-target_link_libraries(${PROJECT_NAME} ${LIBRARIES} common)
+target_link_libraries(${PROJECT_NAME} ${LIBRARIES} apps-common common)
 
 install(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
 
-add_subdirectory(res/logs)
\ No newline at end of file
+add_subdirectory(res/logs)
index 2774bc8e00294fcae0928c04cdc07e4641b7cddd..74dd2cff9b3d53157dc083ce86a05ab52c20768d 100644 (file)
@@ -19,7 +19,7 @@
 #include "LogItemLayout.h"
 
 #include "log-colors.edc"
-#include "../../../../lib-common/res/common/edje/common-utils.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-utils.edc"
 
 #define LAYOUT_H 104
 #define LAYOUT_W 105
index fe49ae7e5d5a0232a42cb0c740d10ef0861c81b9..bcfc2cc3cc2540977785af76ba795ae48cc1f192 100644 (file)
@@ -12,6 +12,7 @@
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                                                                <option id="sbi.gnu.cpp.compiler.option.1832462661" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" useByScannerDiscovery="false" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-2.4-device.core_gcc49.armel.core.sharedLib"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.2123696125" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath">
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-x-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
-                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.2123696125" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" useByScannerDiscovery="false" valueType="includePath"/>
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.425562116" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" useByScannerDiscovery="false" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/res/apps-common/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/inc}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/res/common/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-phone/res/dialer/edje}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-phone/res/speeddial/edje}&quot;"/>
                                                                </option>
                                                                </option>
                                                                <option id="gnu.cpp.compiler.option.dialect.std.409971687" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
                                                                <option id="gnu.cpp.compiler.option.dialect.flags.941277382" name="Other dialect flags" superClass="gnu.cpp.compiler.option.dialect.flags" useByScannerDiscovery="true" value="-std=c++11" valueType="string"/>
-                                                               <option id="gnu.cpp.compiler.option.other.other.1221046090" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
+                                                               <option id="gnu.cpp.compiler.option.other.other.1221046090" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1204084428" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
                                                        <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1304746653" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.paths.1445847391" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/${ConfigName}}&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.libs.1774797368" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="apps-common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="common"/>
                                                                </option>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1749001874" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                </configuration>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+                               <externalSettings containerId="lib-apps-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                        </storageModule>
                </cconfiguration>
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
index 83e8210b3ae208cd92d83552fb26165e8b7b4b73..c24825dfac9643853a1510d26a1a0dd8c4e40a08 100644 (file)
@@ -3,6 +3,7 @@
        <name>lib-phone</name>
        <comment></comment>
        <projects>
+               <project>lib-apps-common</project>
                <project>lib-common</project>
        </projects>
        <buildSpec>
index b23bd9d094c6f6deb0145815a68b2edf5ede2d7a..f28d63694880531c9b8b07ef9e8aa95d7df6600f 100644 (file)
@@ -3,15 +3,16 @@ project(phone CXX)
 
 file(GLOB_RECURSE SOURCES src/*.cpp)
 include_directories(
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/inc
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/res/apps-common/edje
        ${CMAKE_SOURCE_DIR}/lib-common/inc
-       ${CMAKE_SOURCE_DIR}/lib-common/res/common/edje
        ${CMAKE_CURRENT_SOURCE_DIR}/res/dialer/edje
        ${CMAKE_CURRENT_SOURCE_DIR}/res/speeddial/edje
        ${CMAKE_CURRENT_SOURCE_DIR}/inc
 )
 
 add_library(${PROJECT_NAME} SHARED ${SOURCES})
-target_link_libraries(${PROJECT_NAME} ${LIBRARIES} common)
+target_link_libraries(${PROJECT_NAME} ${LIBRARIES} apps-common common)
 
 install(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
 
index 1b1a589c9d9ce2f5bbec083d2aa90c9f90a4219a..79dbc0ddd5a4998ed15a16b6d3fed710f8149d76 100644 (file)
@@ -18,7 +18,7 @@
 #include "DialerLayout.h"
 #include "DialerLayoutMetrics.h"
 #include "DialerLayoutColors.h"
-#include "../../../../lib-common/res/common/edje/common-utils.edc"
+#include "../../../../lib-apps-common/res/apps-common/edje/apps-common-utils.edc"
 
 
 collections {
index d96edb46bd1f2de61c78338f4a73b9935fd3f7a8..9c6918da41007688e8ac5efbb66b47936dc5de2c 100644 (file)
@@ -32,7 +32,7 @@
 #include "Utils/Callback.h"
 #include "Utils/Logger.h"
 
-#include "CommonButtons.h"
+#include "AppsCommonButtons.h"
 #include "DialerLayout.h"
 
 #include <app_control.h>
@@ -71,7 +71,7 @@ void DialerView::onCreated()
 
 Evas_Object *DialerView::onCreate(Evas_Object *parent)
 {
-       elm_theme_extension_add(nullptr, App::getResourcePath(COMMON_BUTTONS_EDJ).c_str());
+       elm_theme_extension_add(nullptr, App::getResourcePath(APPS_COMMON_BUTTONS_EDJ).c_str());
 
        Evas_Object *layout = elm_layout_add(parent);
        Eina_Bool res = elm_layout_file_set(layout, layoutFilePath.c_str(), GROUP_DIALER);
index a55ba90d0ebef05923a18b7a6643985d7e726de0..ac17e312555798a1909defecee18fe6ceb0abf47 100644 (file)
@@ -12,6 +12,7 @@
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -47,6 +48,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-contact/inc}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-phone/inc}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-logs/inc}&quot;"/>
                                                                </option>
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks.core.597971735" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                <option id="gnu.cpp.compiler.option.other.other.1537343829" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -Wno-unused-function" valueType="string"/>
                                                                <option id="gnu.cpp.compiler.option.dialect.std.832293131" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
                                                                <option id="gnu.cpp.compiler.option.dialect.flags.2080308736" name="Other dialect flags" superClass="gnu.cpp.compiler.option.dialect.flags" value="-std=c++11" valueType="string"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.misc.pic.core.421406969" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" value="true" valueType="boolean"/>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1364992888" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
                                                        <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2008298289" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.paths.1170398727" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-apps-common/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-common/${ConfigName}}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-phone/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-contact/${ConfigName}}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-phone/${ConfigName}}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib-logs/${ConfigName}}&quot;"/>
                                                                </option>
                                                                <option id="gnu.cpp.link.option.libs.1633189673" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+                                                                       <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="apps-common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="common"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="contact"/>
                                                                        <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="phone"/>
                                </configuration>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
-                               <externalSettings containerId="lib-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-contact;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-phone;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                                <externalSettings containerId="lib-logs;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+                               <externalSettings containerId="lib-apps-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+                               <externalSettings containerId="lib-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
                        </storageModule>
                </cconfiguration>
                <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1993690474">
                                        <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.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
index c5455501aecac36495698dc45c487df0b276eb77..2506b59aa2ae2da92f0c653e7c1735fc1343bff2 100644 (file)
@@ -3,10 +3,11 @@
        <name>contacts</name>
        <comment></comment>
        <projects>
-               <project>lib-common</project>
                <project>lib-contact</project>
                <project>lib-phone</project>
                <project>lib-logs</project>
+               <project>lib-apps-common</project>
+               <project>lib-common</project>
        </projects>
        <buildSpec>
                <buildCommand>
index 3493e1688e6c3dd605969c5bf4db2bf8e27e8e14..02347c47e861e92efd712debad4d6ddf77081489 100644 (file)
@@ -9,6 +9,7 @@
         <blacklist/>
         <resFallback autoGen="true"/>
         <subProjects>
+            <tizenProject project="lib-apps-common"/>
             <tizenProject project="lib-common"/>
             <tizenProject project="lib-contact"/>
             <tizenProject project="lib-phone"/>
index cf09d7a96afc3378199129b07da7bbd6ad1a96d1..9caa9bd8977ad27972cc7cc129a2c5968bfd46a2 100644 (file)
@@ -3,6 +3,7 @@ project(contacts CXX)
 
 file(GLOB_RECURSE SOURCES src/*.cpp)
 include_directories(
+       ${CMAKE_SOURCE_DIR}/lib-apps-common/inc
        ${CMAKE_SOURCE_DIR}/lib-common/inc
        ${CMAKE_SOURCE_DIR}/lib-contact/inc
        ${CMAKE_SOURCE_DIR}/lib-phone/inc
@@ -12,6 +13,7 @@ include_directories(
 
 add_executable(${PROJECT_NAME} ${SOURCES})
 target_link_libraries(${PROJECT_NAME} ${LIBRARIES} -pie
+       apps-common
        common
        contact
        phone
index 7bdea07df0748c2cc0b089b6558241c4b7398b2c..d90068c2f432322843a486da36efa06708b3ffea 100644 (file)
@@ -62,6 +62,7 @@ make %{?_smp_mflags}
 %{_bin_dir}
 %{_lib_dir}
 
+%{_res_dir}/apps-common
 %{_res_dir}/common
 %{_res_dir}/details
 %{_res_dir}/dialer