--- /dev/null
+/Installer/Debug
+/Installer/crash-info
+/Installer/.sign
+/InstallerService/Debug
+/InstallerService/crash-info
+
-# Target name and AppID
-## TODO : set application name and PKG_ID
-SET(this_target Installer)
-SET(PKG_ID D7eOJquGtL)
+PROJECT(Installer)
-# include directory
-INCLUDE_DIRECTORIES(
- /usr/include/osp
- inc
- )
+ADD_SUBDIRECTORY(Installer)
+ADD_SUBDIRECTORY(InstallerService)
-# Source files
-FILE(GLOB ${this_target}_SOURCE_FILES src/*.cpp)
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
-
-# Create executable
-SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
-ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
-
-# Set link libraries and link options
-## TODO : add more link libraries and options
-TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp osp-appfw osp-uifw osp-media osp-image pthread)
-TARGET_LINK_LIBRARIES(${this_target} -Xlinker --allow-shlib-undefined -pthread -pie)
-
-# Copy info, data, res, and icons directories
-INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${PKG_ID}/bin)
-
-# Copy resource
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${PKG_ID}/info)
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ../usr/apps/${PKG_ID})
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/shared DESTINATION ../usr/apps/${PKG_ID})
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<option id="sbi.gnu.cpp.compiler.option.debugging.level.275888905" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
<option id="sbi.gnu.cpp.compiler.option.debug.applog.437831432" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog" value="true" valueType="boolean"/>
<option id="sbi.gnu.cpp.compiler.option.2067868547" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-device-2.2.native_llvm31.armel.cpp.app"/>
</option>
<option id="gnu.cpp.compiler.option.include.paths.1491943414" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1395160493" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.2042453024" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<option id="sbi.gnu.c.compiler.option.debugging.level.1038790997" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="sbi.gnu.c.compiler.option.debug.applog.30619937" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog" value="true" valueType="boolean"/>
<option id="sbi.gnu.c.compiler.option.2093892473" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-device-2.2.native_llvm31.armel.cpp.app"/>
</option>
<option id="gnu.c.compiler.option.include.paths.2147015964" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1795177369" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.129230233" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
</option>
<option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.787442281" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Xlinker --as-needed"/>
<listOptionValue builtIn="false" value="-pie -lpthread "/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/D7eOJquGtL/lib""/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
<listOptionValue builtIn="false" value="-losp-nfc"/>
<listOptionValue builtIn="false" value="-losp-face"/>
<listOptionValue builtIn="false" value="-losp-speech-tts"/>
- <listOptionValue builtIn="false" value="-losp-speech-stt"/>
<listOptionValue builtIn="false" value="-losp-shell"/>
<listOptionValue builtIn="false" value="-losp-shell-core"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
<listOptionValue builtIn="false" value="-losp-vision"/>
<listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2119600729" 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.2146766494" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2146766494" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2008442855" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
<tool id="org.tizen.nativecpp.tool.sbi.po.compiler.248419226" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
<option id="sbi.gnu.cpp.compiler.option.debugging.level.1500294719" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level"/>
<option id="sbi.gnu.cpp.compiler.option.debug.applog.220428565" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog"/>
<option id="sbi.gnu.cpp.compiler.option.900296718" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
</option>
<option id="gnu.cpp.compiler.option.include.paths.623797688" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1334366520" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.528700311" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<option id="sbi.gnu.c.compiler.option.debugging.level.2037589780" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level"/>
<option id="sbi.gnu.c.compiler.option.debug.applog.930351060" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog"/>
<option id="sbi.gnu.c.compiler.option.623943791" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
</option>
<option id="gnu.c.compiler.option.include.paths.499488519" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1091342970" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1782808167" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
</option>
<option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.476062144" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
<listOptionValue builtIn="false" value="-pie -lpthread "/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/D7eOJquGtL/lib""/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
<listOptionValue builtIn="false" value="-losp-shell-core"/>
<listOptionValue builtIn="false" value="-losp-vision"/>
<listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.140241049" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<option id="sbi.gnu.cpp.compiler.option.debugging.level.999707720" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
<option id="sbi.gnu.cpp.compiler.option.debug.applog.1264847117" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog" value="true" valueType="boolean"/>
<option id="sbi.gnu.cpp.compiler.option.515770373" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.918559826" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.1738469971" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<option id="sbi.gnu.c.compiler.option.debugging.level.343821044" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="sbi.gnu.c.compiler.option.debug.applog.1266558309" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog" value="true" valueType="boolean"/>
<option id="sbi.gnu.c.compiler.option.2033648291" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="tizen-emulator-2.1.native_llvm31.i386.cpp.app"/>
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.480603923" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
- <listOptionValue builtIn="false" value=""/home/sangs/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1515203458" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
<tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.138714069" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
<tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da.1393991110" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da">
<option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1117838079" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
- <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/sangs/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
- <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
<listOptionValue builtIn="false" value="-pie -lpthread "/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/D7eOJquGtL/lib""/>
<listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
<listOptionValue builtIn="false" value="-losp-shell-core"/>
<listOptionValue builtIn="false" value="-losp-vision"/>
<listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
</option>
<option id="gnu.cpp.link.option.libs.927071695" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="daprobe"/>
<name>Installer</name>
<comment></comment>
<projects>
+ <project>InstallerService</project>
</projects>
<buildSpec>
<buildCommand>
--- /dev/null
+# Target name and AppID
+SET(this_target Installer)
+SET(PKG_ID D7eOJquGtL)
+
+# include directory
+INCLUDE_DIRECTORIES(
+ /usr/include/osp
+ inc
+ )
+
+# Source files
+FILE(GLOB ${this_target}_SOURCE_FILES src/*.cpp)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
+
+# Create executable
+SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
+
+# Set link libraries and link options
+TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp osp-appfw osp-uifw pthread)
+TARGET_LINK_LIBRARIES(${this_target} -Xlinker --allow-shlib-undefined -pthread -pie)
+
+# Copy info, data, res, and icons directories
+INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${PKG_ID}/bin)
+
+# Copy resource
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${PKG_ID}/info)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/Installer/res DESTINATION ../usr/apps/${PKG_ID})
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/Installer/shared DESTINATION ../usr/apps/${PKG_ID})
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AppResourceId.h
+ * @brief This is the header file for resource definition.
+ */
+
+#ifndef _APP_RESOURCE_ID_H_
+#define _APP_RESOURCE_ID_H_
+
+extern const wchar_t* IDC_BUTTON_CANCEL;
+extern const wchar_t* IDC_BUTTON_LAUNCH;
+extern const wchar_t* IDC_BUTTON_REINSTALL;
+extern const wchar_t* IDC_LABEL;
+extern const wchar_t* IDC_LABEL_EX;
+extern const wchar_t* IDC_LABEL_MAIN_TEXT;
+extern const wchar_t* IDC_LABEL_MESSAGE;
+extern const wchar_t* IDC_LABEL_SUB_TEXT;
+extern const wchar_t* IDC_LABEL_VERSION;
+extern const wchar_t* IDC_PANEL;
+extern const wchar_t* IDC_SECTIONTABLEVIEW;
+extern const wchar_t* IDL_DETAIL_FORM;
+extern const wchar_t* IDL_INSTALLED_POPUP;
+extern const wchar_t* IDL_PANEL_EXPANDABLE_ITEM;
+extern const wchar_t* ID_SCNT_DETAIL_SCENE;
+
+enum
+{
+ IDA_BUTTON_REINSTALL = 10000,
+ IDA_BUTTON_LAUNCH,
+ IDA_BUTTON_CANCEL,
+ IDA_BUTTON_INSTALL = 1000,
+};
+
+#endif // _APP_RESOURCE_ID_H_
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file IstDetailForm.h
+ * @brief This file contains the implementation of DetailForm class, which acts as a
+ * application installer displaying a list of all the privilege description in the TPK file.
+ */
+
+#ifndef _IST_DETAIL_FORM_H_
+#define _IST_DETAIL_FORM_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUi.h>
+
+class DetailForm
+ : public Tizen::Ui::Controls::Form
+ , public virtual Tizen::Ui::IActionEventListener
+ , public virtual Tizen::Ui::Controls::IFormBackEventListener
+ , public virtual Tizen::Ui::Controls::ISectionTableViewItemEventListener
+ , public virtual Tizen::Ui::Controls::ISectionTableViewItemProviderF
+ , public virtual Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ DetailForm(void);
+ virtual ~DetailForm(void);
+ result Initialize();
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+ virtual Tizen::Ui::Controls::TableViewItem* CreateItem(int sectionIndex, int itemIndex, float itemWidth);
+ virtual bool DeleteItem(int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem);
+ virtual float GetDefaultItemHeight(void);
+ virtual int GetItemCount(int sectionIndex);
+ virtual int GetSectionCount(void);
+ virtual Tizen::Base::String GetSectionFooter(int sectionIndex);
+ virtual Tizen::Base::String GetSectionHeader(int sectionIndex);
+ virtual bool HasSectionFooter(int sectionIndex);
+ virtual bool HasSectionHeader(int sectionIndex);
+ virtual void UpdateItem(int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem);
+ virtual void OnSectionTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::SectionTableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated);
+ virtual void OnSectionTableViewItemStateChanged(Tizen::Ui::Controls::SectionTableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status);
+private:
+ bool GetPrivilegeListIndex(int actualIndex, int& privilegeIndex);
+private:
+ Tizen::Base::Collection::ArrayList* __pPrivilegeList;
+ Tizen::Graphics::Bitmap* __pExpandCloseIcon;
+ Tizen::Graphics::Bitmap* __pExpandOpenIcon;
+ Tizen::Base::Boolean* __pExposedItemList;
+ Tizen::Graphics::EnrichedText __enrichedText;
+};
+
+#endif
//
/**
- *@file: IstFormFactory.h
- *@brief: This file contains the implementation InstallServiceFormFactory class, which manages
- *all the forms of the application.
+ *@file IstFormFactory.h
+ *@brief This file contains the implementation FormFactory class, which manages
+ * all the forms of the application.
*/
#ifndef _IST_FORM_FACTORY_H_
#include <FUi.h>
-
-extern const wchar_t* FORM_INSTALL;
-
class FormFactory
- : public Tizen::Ui::Scenes::IFormFactory
+ : public virtual Tizen::Ui::Scenes::IFormFactory
{
public:
FormFactory(void);
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file InstalledPopup.h
+ * @brief This file contains declaration of InstalledPopup class.
+ */
+
+#ifndef _IST_INSTALLED_POPUP_H_
+#define _IST_INSTALLED_POPUP_H_
+
+#include <FBase.h>
+#include <FUi.h>
+
+class InstalledPopup
+ : public Tizen::Ui::Controls::Popup
+ , public virtual Tizen::Ui::IActionEventListener
+{
+public:
+ InstalledPopup();
+ virtual ~InstalledPopup();
+ result Initialize(Tizen::Ui::Control* pTarget);
+ result RequestPopup(const Tizen::Base::String& appName, const Tizen::Base::String& installedVersion,
+ const Tizen::Base::String& currentVersion);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+private:
+ Tizen::Ui::Control* __pTarget;
+ Tizen::Base::String __installMessage;
+ Tizen::Base::String __versionMessage;
+};
+
+#endif /* _IST_INSTALLED_POPUP_H_ */
//
/**
- * @file: IstInstallerApp.h
- * @brief: This file contains the declaration of InstallerApp Class,
- * which provides basic features necessary to define an UiApp.
+ * @file IstInstallerApp.h
+ * @brief This file contains the declaration of InstallerApp Class,
+ * which provides basic features necessary to define an UiApp.
*/
#ifndef _IST_INSTALLER_APP_H_
#include <FApp.h>
#include <FBase.h>
-#include <FSystem.h>
#include <FUi.h>
class InstallerApp
: public Tizen::App::UiApp
- , public Tizen::App::IAppControlProviderEventListener
- , public Tizen::System::IScreenEventListener
+ , public virtual Tizen::App::IAppControlProviderEventListener
{
public:
- static Tizen::App::UiApp* CreateInstance(void);
InstallerApp(void);
virtual~InstallerApp(void);
- Tizen::Base::String GetPackagePath();
- bool IsValidAccess();
+ const Tizen::App::Package::PackageInfo* GetPackageInfo(void) const;
+ Tizen::Base::String GetPackageFilePath(void) const;
virtual bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
virtual bool OnAppInitialized(void);
- virtual bool OnAppWillTerminate(void);
virtual bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
- virtual void OnForeground(void);
virtual void OnBackground(void);
- virtual void OnLowMemory(void);
- virtual void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);
virtual void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
- const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType,
- const Tizen::Base::Collection::IMap* pExtraData);
- virtual void OnScreenOn(void);
- virtual void OnScreenOff(void);
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData);
-private:
- void SetUri(Tizen::Base::String uriData);
- void SetPackagePath(Tizen::Base::String packagePath);
+ static Tizen::App::UiApp* CreateInstance(void);
- bool __isValidAccess;
+private:
+ Tizen::App::Package::PackageInfo* __pPackageInfo;
+ Tizen::Base::String __packageFilePath;
};
#endif // _IST_INSTALLER_APP_H_
//
/**
- * @file: IstMainFrame.h
- * @brief: This file contains declaration of IstMainFrame class, which is the main frame of the application.
+ * @file IstMainFrame.h
+ * @brief This file contains declaration of IstMainFrame class, which is the main frame of the application.
*/
#ifndef _IST_MAIN_FRAME_H_
#define _IST_MAIN_FRAME_H_
+#include <FApp.h>
#include <FBase.h>
#include <FUi.h>
-
-extern const wchar_t* SCENE_INSTALL_FORM;
+#include "IstInstalledPopup.h"
class MainFrame
: public Tizen::Ui::Controls::Frame
MainFrame(void);
virtual ~MainFrame(void);
-public:
virtual result OnInitializing(void);
virtual result OnTerminating(void);
+ virtual void OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs);
+private:
+ InstalledPopup* __pInstalledPopup;
+ Tizen::App::AppId __mainAppId;
};
#endif //_IST_MAIN_FRAME_H_
//
/**
- * @file: IstPanelFactory.h
- * @brief: This file contains the implementation of InstallServicePanelFactory class, which manages
- * all the panel containers used across the application.
+ *@file IstPanelFactory.h
+ *@brief This file contains the implementation PanelFactory class, which manages
+ * all the panels of the application.
*/
#ifndef _IST_PANEL_FACTORY_H_
#define _IST_PANEL_FACTORY_H_
+#include <FBase.h>
#include <FUi.h>
-
class PanelFactory
: public Tizen::Ui::Scenes::IPanelFactory
{
virtual Tizen::Ui::Controls::Panel* CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId);
};
-#endif // _IST_PANEL_FACTORY_H_
+#endif /* _IST_PANEL_FACTORY_H_ */
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Manifest xmlns="http://schemas.tizen.org/2012/12/manifest">
+ <Id>D7eOJquGtL</Id>
+ <Version>1.0.0</Version>
+ <Type>C++App</Type>
+ <Requirements>
+ <Feature Name="http://tizen.org/feature/platform.core.cpu.arch.armv7">true</Feature>
+ <Feature Name="http://tizen.org/feature/platform.core.fpu.arch.vfpv3">true</Feature>
+ <Feature Name="http://tizen.org/feature/screen.size.normal">true</Feature>
+ </Requirements>
+ <Apps>
+ <ApiVersion>2.1</ApiVersion>
+ <Privileges>
+ <Privilege>http://tizen.org/privilege/packagemanager.info</Privilege>
+ <Privilege>http://tizen.org/privilege/package.info</Privilege>
+ <Privilege>http://tizen.org/privilege/application.launch</Privilege>
+ </Privileges>
+ <UiApp LaunchingHistoryVisible="False" Main="True" MenuIconVisible="False" Name="Installer">
+ <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+ <UiTheme SystemTheme="White"/>
+ <DisplayNames>
+ <DisplayName Locale="eng-GB">Installer</DisplayName>
+ </DisplayNames>
+ <Icons>
+ <Icon Section="MainMenu" Type="Xhigh">mainmenu.png</Icon>
+ </Icons>
+ <AppControls>
+ <AppControl>
+ <MimeType>application/vnd.tizen.package</MimeType>
+ <MimeType>application/vnd.wac.widget-sharing</MimeType>
+ <MimeType>application/widget</MimeType>
+ <Operation>http://tizen.org/appcontrol/operation/view</Operation>
+ </AppControl>
+ </AppControls>
+ <LaunchConditions/>
+ </UiApp>
+ </Apps>
+</Manifest>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="2.0.0.201306101756" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_DETAIL_FORM">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_CARD"/>
+ <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="true" showOptionButton="false"/>
+ <itemSet>
+ <footerItem accessibilityHint="" actionId="1000" disabledIconPath="" highlightedIconPath="" normalIconPath="" pressedIconPath="" selectedIconPath="" text="Accept and install"/>
+ </itemSet>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+ <SectionTableView id="IDC_SECTIONTABLEVIEW" parent="IDL_DETAIL_FORM">
+ <property backgroundColor="" backgroundColorOpacity="0" fastScrollIndex="" groupedLookEnabled="true" itemDivider="true" itemDividerColor="" scrollBarStyle="TABLE_VIEW_SCROLL_BAR_STYLE_NONE" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION" sectionColor="" useSearchIcon="false"/>
+ <layout mode="Portrait" x="0" y="0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="730.0" x="277.0" y="132.0"/>
+ </SectionTableView>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+
+<ScenePopup Bversion="2.0.0.201306151404" Dversion="20120315">
+ <Popup id="IDL_INSTALLED_POPUP">
+ <property accessibilityHint="" color="" titleText="" titleTextColor=""/>
+ <layout height="350.0" mode="Portrait" style="" type="LAYOUT_RELATIVE" width="720.0"/>
+ <layout height="688.0" mode="Landscape" style="" type="LAYOUT_RELATIVE" width="164.0"/>
+ </Popup>
+ <Panel id="IDC_PANEL" parent="IDL_INSTALLED_POPUP">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout bottomRelation="IDL_INSTALLED_POPUP" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" column1Collapsed="false" column1Shrinkable="true" column1Spacing="0.0" column1Stretchable="true" column2Collapsed="false" column2Shrinkable="true" column2Spacing="16.0" column2Stretchable="true" column3Collapsed="false" column3Shrinkable="true" column3Spacing="16.0" column3Stretchable="true" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="16.0" marginLeft="16.0" marginRight="16.0" marginTop="0.0" maxColumn="3" maxRow="1" mode="Portrait" rightRelation="" rightRelationType="" row1Collapsed="false" row1Shrinkable="true" row1Spacing="0.0" row1Stretchable="true" topRelation="" topRelationType="" type="LAYOUT_GRID" verticalFitPolicy="FIT_POLICY_FIXED" width="688.0" x="16.0" y="260.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="159.0" horizontalDirection="HORIZONTAL_DIRECTION_RIGHTWARD" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" type="LAYOUT_HORIZONTAL_BOX" verticalFitPolicy="FIT_POLICY_FIXED" width="164.0" x="-10.0" y="249.0"/>
+ </Panel>
+ <Button id="IDC_BUTTON_REINSTALL" parent="IDC_PANEL">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Reinstall" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="74.0" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" positionColumn="0" positionColumnSpan="1" positionRow="0" positionRowSpan="1" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" visible="true" width="219.3333"/>
+ <layout height="159.0" horizontalFitPolicy="FIT_POLICY_FIXED" mode="Landscape" spacing="0.0" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" verticalBottomMargin="0.0" verticalFitPolicy="FIT_POLICY_FIXED" verticalTopMargin="0.0" weight="0.0" width="14.0"/>
+ </Button>
+ <Button id="IDC_BUTTON_LAUNCH" parent="IDC_PANEL">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Launch" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="74.0" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" positionColumn="1" positionColumnSpan="1" positionRow="0" positionRowSpan="1" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" visible="true" width="219.33336"/>
+ <layout height="159.0" horizontalFitPolicy="FIT_POLICY_FIXED" mode="Landscape" spacing="0.0" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" verticalBottomMargin="0.0" verticalFitPolicy="FIT_POLICY_FIXED" verticalTopMargin="0.0" weight="0.0" width="14.0"/>
+ </Button>
+ <Button id="IDC_BUTTON_CANCEL" parent="IDC_PANEL">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Cancel" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="74.0" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" positionColumn="2" positionColumnSpan="1" positionRow="0" positionRowSpan="1" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" visible="true" width="218.3333"/>
+ <layout height="159.0" horizontalFitPolicy="FIT_POLICY_FIXED" mode="Landscape" spacing="0.0" verticalAlignment="LAYOUT_VERTICAL_ALIGN_TOP" verticalBottomMargin="0.0" verticalFitPolicy="FIT_POLICY_FIXED" verticalTopMargin="0.0" weight="0.0" width="14.0"/>
+ </Button>
+ <Label id="IDC_LABEL_VERSION" parent="IDL_INSTALLED_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="" textSize="30.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="IDC_PANEL" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="false" centerVertical="false" height="90.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="16.0" marginRight="16.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="688.0" x="16.0" y="160.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="192.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="164.0" x="-254.0" y="344.0"/>
+ </Label>
+ <Label id="IDC_LABEL_MESSAGE" parent="IDL_INSTALLED_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="" textSize="44.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="IDC_LABEL_VERSION" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="false" centerVertical="false" height="138.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="16.0" marginRight="16.0" marginTop="22.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDL_INSTALLED_POPUP" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="688.0" x="16.0" y="22.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="192.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="164.0" x="-254.0" y="216.0"/>
+ </Label>
+</ScenePopup>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePanel SYSTEM "UIForm.dtd">
+
+<ScenePanel Bversion="2.0.0.201305162056" Dversion="20120315">
+ <Panel id="IDL_PANEL_EXPANDABLE_ITEM">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="140.0" mode="Portrait" type="LAYOUT_RELATIVE" width="720.0" x="0.0" y="0.0"/>
+ <layout height="140.0" mode="Landscape" type="LAYOUT_RELATIVE" width="1280.0" x="0.0" y="0.0"/>
+ </Panel>
+ <Label id="IDC_LABEL_EX" parent="IDL_PANEL_EXPANDABLE_ITEM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="true" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="20.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_PANEL_EXPANDABLE_ITEM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="72.0" x="628.0" y="34.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="true" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="20.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_PANEL_EXPANDABLE_EX_1" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="72.0" x="1188.0" y="34.0"/>
+ </Label>
+ <Label id="IDC_LABEL_SUB_TEXT" parent="IDL_PANEL_EXPANDABLE_ITEM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="#808080" textSize="32.0" textStyle="LABEL_TEXT_STYLE_BOLD" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="IDL_PANEL_EXPANDABLE_ITEM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="42.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_PANEL_EXPANDABLE_ITEM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="22.0" marginLeft="16.0" marginRight="10.0" marginTop="0.0" mode="Portrait" rightRelation="IDC_LABEL_EX" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="602.0" x="16.0" y="76.0"/>
+ <layout bottomRelation="IDL_PANEL_EXPANDABLE_EX_1" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="42.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_PANEL_EXPANDABLE_EX_1" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="22.0" marginLeft="16.0" marginRight="10.0" marginTop="0.0" mode="Landscape" rightRelation="IDC_LABEL_EX" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="None" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="1162.0" x="16.0" y="76.0"/>
+ </Label>
+ <Label id="IDC_LABEL_MAIN_TEXT" parent="IDL_PANEL_EXPANDABLE_ITEM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="" textSize="44.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_BOTTOM"/>
+ <layout bottomRelation="IDC_LABEL_SUB_TEXT" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="false" centerVertical="false" height="54.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_PANEL_EXPANDABLE_ITEM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="16.0" marginRight="10.0" marginTop="22.0" mode="Portrait" rightRelation="IDC_LABEL_EX" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="IDL_PANEL_EXPANDABLE_ITEM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="602.0" x="16.0" y="22.0"/>
+ <layout bottomRelation="IDC_LABEL_SUB_TEXT" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="false" centerVertical="false" height="54.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_PANEL_EXPANDABLE_EX_1" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="16.0" marginRight="10.0" marginTop="22.0" mode="Landscape" rightRelation="IDC_LABEL_EX" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="IDL_PANEL_EXPANDABLE_EX_1" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="1162.0" x="16.0" y="22.0"/>
+ </Label>
+</ScenePanel>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Workflow>
+ <Scene Form="IDL_DETAIL_FORM" Id="FORM_DETAIL"/>
+ <SceneTransition AnimationType="none" DestroyOption="keep" DirectionType="forward" HistoryOption="add" Id="ID_SCNT_DETAIL_SCENE" Method="" SourceId="" SourceResourceType="" TargetId="FORM_DETAIL"/>
+ <!--UI Builder(Workflow Designer) only-->
+ <WorkflowDesigner>
+ <Position Name="FORM_DETAIL" X="284" Y="59"/>
+ </WorkflowDesigner>
+</Workflow>
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AppResourceId.cpp
+ * @brief This file contains resource definition.
+ */
+
+#include "AppResourceId.h"
+
+const wchar_t* IDC_BUTTON_CANCEL = L"IDC_BUTTON_CANCEL";
+const wchar_t* IDC_BUTTON_LAUNCH = L"IDC_BUTTON_LAUNCH";
+const wchar_t* IDC_BUTTON_REINSTALL = L"IDC_BUTTON_REINSTALL";
+const wchar_t* IDC_LABEL = L"IDC_LABEL";
+const wchar_t* IDC_LABEL_EX = L"IDC_LABEL_EX";
+const wchar_t* IDC_LABEL_MAIN_TEXT = L"IDC_LABEL_MAIN_TEXT";
+const wchar_t* IDC_LABEL_MESSAGE = L"IDC_LABEL_MESSAGE";
+const wchar_t* IDC_LABEL_SUB_TEXT = L"IDC_LABEL_SUB_TEXT";
+const wchar_t* IDC_LABEL_VERSION = L"IDC_LABEL_VERSION";
+const wchar_t* IDC_PANEL = L"IDC_PANEL";
+const wchar_t* IDC_SECTIONTABLEVIEW = L"IDC_SECTIONTABLEVIEW";
+const wchar_t* IDF_PROGRESS = L"IDF_PROGRESS";
+const wchar_t* IDL_DETAIL_FORM = L"IDL_DETAIL_FORM";
+const wchar_t* IDL_INSTALLED_POPUP = L"IDL_INSTALLED_POPUP";
+const wchar_t* IDL_PANEL_EXPANDABLE_ITEM = L"IDL_PANEL_EXPANDABLE_ITEM";
+const wchar_t* ID_SCNT_DETAIL_SCENE = L"ID_SCNT_DETAIL_SCENE";
/**
* This file contains the Tizen application entry point.
*/
+
#include "IstInstallerApp.h"
using namespace Tizen::Base;
{
#endif // __cplusplus
-
-//
-// The entry function of Tizen application called by the operating system.
-//
_EXPORT_ int
OspMain(int argc, char* pArgv[])
{
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file IstDetailForm.cpp
+ * @brief This file contains the implementation of DetailForm class, which acts as a
+ * application installer displaying a list of all the privilege description in the TPK file.
+ */
+
+#include <FApp.h>
+#include <FGraphics.h>
+#include <FSecurity.h>
+#include "AppResourceId.h"
+#include "IstDetailForm.h"
+#include "IstInstallerApp.h"
+
+using namespace Tizen::App;
+using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Security;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+DetailForm::DetailForm(void)
+ : __pPrivilegeList(null)
+ , __pExpandCloseIcon(null)
+ , __pExpandOpenIcon(null)
+ , __pExposedItemList(null)
+{
+}
+
+DetailForm::~DetailForm(void)
+{
+}
+
+result
+DetailForm::Initialize(void)
+{
+ return Construct(IDL_DETAIL_FORM);
+}
+
+result
+DetailForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ SetFormBackEventListener(this);
+ GetFooter()->AddActionEventListener(*this);
+
+ __enrichedText.Construct(FloatDimension(1, 1));
+
+ SectionTableView* pSectionTableView = static_cast<SectionTableView*>(GetControl(IDC_SECTIONTABLEVIEW));
+ pSectionTableView->SetItemProviderF(this);
+ pSectionTableView->AddSectionTableViewItemEventListener(*this);
+
+ AppResource* pAppResource = AppResource::GetInstance();
+ __pExpandCloseIcon = pAppResource->GetBitmapN(L"00_button_expand_closed.png");
+ __pExpandOpenIcon = pAppResource->GetBitmapN(L"00_button_expand_opened.png");
+
+ return r;
+}
+
+result
+DetailForm::OnTerminating(void)
+{
+ delete __pPrivilegeList;
+ delete __pExpandCloseIcon;
+ delete __pExpandOpenIcon;
+ return E_SUCCESS;
+}
+
+void
+DetailForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+ switch (actionId)
+ {
+ case IDA_BUTTON_INSTALL:
+ {
+ String filePath = static_cast<InstallerApp*>(UiApp::GetInstance())->GetPackageFilePath();
+ AppControl* pAc = AppManager::GetInstance()->FindAppControlN(AppId(L"D7eOJquGtL.InstallerService"), L"");
+ result r = pAc->Start(&filePath, null, null, null);
+ TryLog(r == E_SUCCESS, "[%s] Failed to launch service app.", GetErrorMessage(r));
+ UiApp::GetInstance()->Terminate();
+ break;
+ }
+ }
+}
+
+void
+DetailForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+ UiApp::GetInstance()->Terminate();
+}
+
+void
+DetailForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+ AppLogDebug("Enter");
+ const PackageInfo* pPackageInfo = static_cast<InstallerApp*>(UiApp::GetInstance())->GetPackageInfo();
+
+ IList* pList = pPackageInfo->GetPrivilegeListN();
+ if (pList)
+ {
+ __pPrivilegeList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ __pPrivilegeList->Construct(*pList);
+
+ if (__pPrivilegeList->GetCount() > 0)
+ {
+ __pExposedItemList = new (std::nothrow) Boolean(__pPrivilegeList->GetCount());
+ for (int i=0; i<__pPrivilegeList->GetCount(); ++i)
+ {
+ __pExposedItemList[i] = false;
+ }
+ }
+ }
+
+ PackageAppInfo* pMainAppInfo = pPackageInfo->GetPackageAppInfoN(pPackageInfo->GetMainAppId());
+ Bitmap* pAppIcon = pMainAppInfo->GetAppMenuIconN();
+
+ Header* pHeader = GetHeader();
+ pHeader->SetTitleText(pPackageInfo->GetDisplayName());
+ pHeader->SetTitleIcon(pAppIcon);
+ pHeader->Invalidate(false);
+
+ delete pMainAppInfo;
+ delete pAppIcon;
+}
+
+void
+DetailForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+ AppLogDebug("Enter");
+ delete __pPrivilegeList;
+ __pPrivilegeList = null;
+}
+
+Tizen::Ui::Controls::TableViewItem*
+DetailForm::CreateItem(int sectionIndex, int itemIndex, float itemWidth)
+{
+ RelativeLayout layout;
+ layout.Construct();
+
+ TableViewItem* pItem = new (std::nothrow) TableViewItem();
+ Control* pChildControl = null;
+
+ switch (sectionIndex)
+ {
+ case 0:
+ {
+ pItem->Construct(layout, FloatDimension(itemWidth, 140.f));
+
+ Label* pLabel = new (std::nothrow) Label();
+ pLabel->Construct(FloatRectangle(0, 0, 0, 0), L"This application can have illegal code. And it can cause serious injury to your device.");
+ pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+
+ pChildControl = pLabel;
+ break;
+ }
+ case 1:
+ {
+ int privilegeIndex = 0;
+ bool isTitle = GetPrivilegeListIndex(itemIndex, privilegeIndex);
+
+ PrivilegeInfo* pInfo = static_cast<PrivilegeInfo*>(__pPrivilegeList->GetAt(privilegeIndex));
+
+ if (isTitle)
+ {
+ pItem->Construct(layout, FloatDimension(itemWidth, 140.f));
+ pItem->GetAccessibilityContainer()->GetElement(L"TableViewItem")->SetLabel(pInfo->GetDisplayName());
+
+ Panel* pPanel = new (std::nothrow) Panel();
+ pPanel->Construct(IDL_PANEL_EXPANDABLE_ITEM);
+
+ if (__pExposedItemList[privilegeIndex] == true)
+ {
+ pItem->SetName(L"Exposed");
+ Label* pIconLabel = static_cast<Label*>(pPanel->GetControl(IDC_LABEL_EX));
+ pIconLabel->SetBackgroundBitmap(*__pExpandOpenIcon);
+
+ }
+ else
+ {
+ pItem->SetName(L"Collapsed");
+ Label* pIconLabel = static_cast<Label*>(pPanel->GetControl(IDC_LABEL_EX));
+ pIconLabel->SetBackgroundBitmap(*__pExpandCloseIcon);
+ }
+
+ Label* pMainLabel = static_cast<Label*>(pPanel->GetControl(IDC_LABEL_MAIN_TEXT));
+ pMainLabel->SetText(pInfo->GetDisplayName());
+ pMainLabel->GetAccessibilityContainer()->RemoveAllElements();
+
+ Label* pSubLabel = static_cast<Label*>(pPanel->GetControl(IDC_LABEL_SUB_TEXT));
+ pSubLabel->SetText(pInfo->GetDescription());
+ pSubLabel->GetAccessibilityContainer()->RemoveAllElements();
+
+ pChildControl = pPanel;
+ }
+ else
+ {
+ TextElement textElement;
+ textElement.Construct(pInfo->GetDescription());
+
+ Font font;
+ font.Construct(FONT_STYLE_PLAIN, 32.f);
+ textElement.SetFont(font);
+
+ __enrichedText.SetSize(FloatDimension(itemWidth - 32.f, 112.f));
+ __enrichedText.Add(textElement);
+
+ float textHeight = __enrichedText.GetTotalLineHeightF();
+ __enrichedText.RemoveAll(false);
+
+ pItem->Construct(layout, FloatDimension(itemWidth, 80+textHeight));
+ pItem->SetBackgroundColor(Color(220, 218, 211), TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL);
+ pItem->SetBackgroundColor(Color(220, 218, 211), TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED);
+ pItem->SetBackgroundColor(Color(220, 218, 211), TABLE_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED);
+ pItem->GetAccessibilityContainer()->GetElement(L"TableViewItem")->SetLabel(pInfo->GetDescription());
+
+ Label* pLabel = new (std::nothrow) Label();
+ pLabel->Construct(FloatRectangle(0, 0, itemWidth, 80+textHeight), pInfo->GetDescription());
+ pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ pLabel->SetTextConfig(32.f, LABEL_TEXT_STYLE_NORMAL);
+ pLabel->GetAccessibilityContainer()->RemoveAllElements();
+
+ pChildControl = pLabel;
+ }
+ break;
+ }
+ }
+
+ if (pChildControl)
+ {
+ pItem->AddControl(pChildControl);
+
+ layout.SetHorizontalFitPolicy(*pChildControl, FIT_POLICY_PARENT);
+ layout.SetVerticalFitPolicy(*pChildControl, FIT_POLICY_PARENT);
+ }
+
+ return pItem;
+}
+
+bool
+DetailForm::DeleteItem(int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
+{
+ delete pItem;
+ return true;
+}
+
+float
+DetailForm::GetDefaultItemHeight(void)
+{
+ return 0.f;
+}
+
+int
+DetailForm::GetItemCount(int sectionIndex)
+{
+ switch (sectionIndex)
+ {
+ case 0:
+ return 1;
+ case 1:
+ if (__pPrivilegeList)
+ {
+ return __pPrivilegeList->GetCount();
+ }
+ else
+ {
+ return 0;
+ }
+ default:
+ return 0;
+ }
+}
+
+int
+DetailForm::GetSectionCount(void)
+{
+ if (__pPrivilegeList && __pPrivilegeList->GetCount() > 0)
+ {
+ return 2;
+ }
+ else
+ {
+ return 1;
+ }
+}
+
+Tizen::Base::String
+DetailForm::GetSectionFooter(int sectionIndex)
+{
+ return L"";
+}
+
+Tizen::Base::String
+DetailForm::GetSectionHeader(int sectionIndex)
+{
+ switch (sectionIndex)
+ {
+ case 0:
+ return L"Warning";
+ case 1:
+ return L"Request for permissions";
+ default:
+ return L"";
+ }
+}
+
+bool
+DetailForm::HasSectionFooter(int sectionIndex)
+{
+ return false;
+}
+
+bool
+DetailForm::HasSectionHeader(int sectionIndex)
+{
+ return true;
+}
+
+void
+DetailForm::UpdateItem(int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
+{
+}
+
+void
+DetailForm::OnSectionTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::SectionTableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated)
+{
+}
+
+void
+DetailForm::OnSectionTableViewItemStateChanged(Tizen::Ui::Controls::SectionTableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
+{
+ String itemName = pItem->GetName();
+ AppLogDebug("item: %ls", itemName.GetPointer());
+ if (itemName == L"Collapsed")
+ {
+ Label* pLabel = static_cast<Label*>(pItem->GetControl(IDC_LABEL_EX, true));
+ pLabel->SetBackgroundBitmap(*__pExpandOpenIcon);
+ pLabel->Invalidate(false);
+ pItem->SetName(L"Exposed");
+
+ int privilegeIndex = 0;
+ GetPrivilegeListIndex(itemIndex, privilegeIndex);
+ __pExposedItemList[privilegeIndex] = true;
+ tableView.RefreshItem(sectionIndex, itemIndex+1, TABLE_VIEW_REFRESH_TYPE_ITEM_ADD);
+ }
+ else if (itemName == L"Exposed")
+ {
+ Label* pLabel = static_cast<Label*>(pItem->GetControl(IDC_LABEL_EX, true));
+ pLabel->SetBackgroundBitmap(*__pExpandCloseIcon);
+ pLabel->Invalidate(false);
+ pItem->SetName(L"Collapsed");
+
+ int privilegeIndex = 0;
+ GetPrivilegeListIndex(itemIndex, privilegeIndex);
+ __pExposedItemList[privilegeIndex] = false;
+ tableView.RefreshItem(sectionIndex, itemIndex+1, TABLE_VIEW_REFRESH_TYPE_ITEM_REMOVE);
+ }
+}
+
+bool
+DetailForm::GetPrivilegeListIndex(int actualIndex, int& privilegeIndex)
+{
+ int i = 0;
+ privilegeIndex = actualIndex;
+ for (; i<privilegeIndex && i<__pPrivilegeList->GetCount(); ++i)
+ {
+ if (__pExposedItemList[i] == true)
+ {
+ --privilegeIndex;
+ }
+ }
+
+ return i == privilegeIndex;
+}
//
/**
- *@file: IstFormFactory.cpp
- *@brief: This file contains the implementation InstallServiceFormFactory class, which manages
- *all the forms of the application.
+ *@file IstFormFactory.cpp
+ *@brief This file contains the implementation FormFactory class, which manages
+ * all the forms of the application.
*/
+#include <FUi.h>
+#include "AppResourceId.h"
#include "IstFormFactory.h"
#include "IstDetailForm.h"
-#include "IstInstallForm.h"
+using namespace Tizen::Ui::Controls;
using namespace Tizen::Ui::Scenes;
-const wchar_t* FORM_INSTALL = L"IDL_APP_INSTALL_FORM";
-
FormFactory::FormFactory(void)
{
}
Tizen::Ui::Controls::Form*
FormFactory::CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId)
{
+ AppLogDebug("SceneId: %ls", formId.GetPointer());
SceneManager* pSceneManager = SceneManager::GetInstance();
- AppAssert(pSceneManager);
- Tizen::Ui::Controls::Form* pNewForm = null;
+ Form* pNewForm = null;
- if (formId == L"IDL_DETAIL_FORM")
+ if (formId == IDL_DETAIL_FORM)
{
DetailForm* pForm = new (std::nothrow) DetailForm();
pForm->Initialize();
- pNewForm = pForm;
- }
- else if (formId == L"IDL_APP_INSTALL_FORM")
- {
- InstallForm* pForm = new (std::nothrow) InstallForm();
- pForm->Initialize();
pSceneManager->AddSceneEventListener(sceneId, *pForm);
pNewForm = pForm;
}
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file InstalledPopup.cpp
+ * @brief This is the implementation file for InstalledPopup class.
+ */
+
+#include <FBase.h>
+#include <FUi.h>
+#include "AppResourceId.h"
+#include "IstInstalledPopup.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+InstalledPopup::InstalledPopup()
+ : __pTarget(null)
+{
+}
+
+InstalledPopup::~InstalledPopup()
+{
+}
+
+result
+InstalledPopup::Initialize(Tizen::Ui::Control* pTarget)
+{
+ result r = Construct(IDL_INSTALLED_POPUP);
+ if (IsFailed(r))
+ {
+ AppLogException("[%s] Failed to construct popup.", GetErrorMessage(r));
+ return r;
+ }
+
+ __pTarget = pTarget;
+
+ return r;
+}
+
+result
+InstalledPopup::RequestPopup(const Tizen::Base::String& appName, const Tizen::Base::String& installedVersion,
+ const Tizen::Base::String& currentVersion)
+{
+ __installMessage.Format(100, L"%ls already had been installed.", appName.GetPointer());
+ __versionMessage.Format(100, L"Installed version: %ls\nPackaged version: %ls", installedVersion.GetPointer(), currentVersion.GetPointer());
+
+ SetShowState(true);
+ return Show();
+}
+
+result
+InstalledPopup::OnInitializing(void)
+{
+ AppLogDebug("Enter");
+
+ Label* pMessage = static_cast<Label*>(GetControl(IDC_LABEL_MESSAGE));
+ pMessage->SetText(__installMessage);
+
+ Label* pVersionInfo = static_cast<Label*>(GetControl(IDC_LABEL_VERSION));
+ pVersionInfo->SetText(__versionMessage);
+
+ Button* pReInstallButton = static_cast<Button*>(GetControl(IDC_BUTTON_REINSTALL, true));
+ pReInstallButton->SetActionId(IDA_BUTTON_REINSTALL);
+ pReInstallButton->AddActionEventListener(*this);
+
+ Button* pLaunchButton = static_cast<Button*>(GetControl(IDC_BUTTON_LAUNCH, true));
+ pLaunchButton->SetActionId(IDA_BUTTON_LAUNCH);
+ pLaunchButton->AddActionEventListener(*this);
+
+ Button* pCancelButton = static_cast<Button*>(GetControl(IDC_BUTTON_CANCEL, true));
+ pCancelButton->SetActionId(IDA_BUTTON_CANCEL);
+ pCancelButton->AddActionEventListener(*this);
+
+ return E_SUCCESS;
+}
+
+result
+InstalledPopup::OnTerminating(void)
+{
+ AppLogDebug("Enter");
+ return E_SUCCESS;
+}
+
+void
+InstalledPopup::OnActionPerformed(const Control& source, int actionId)
+{
+ SetShowState(false);
+
+ if (__pTarget)
+ {
+ __pTarget->SendUserEvent(actionId, null);
+ }
+}
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file IstInstallerApp.cpp
+ * @brief This file contains the declaration of InstallerApp Class,
+ * which provides basic features necessary to define an UiApp.
+ */
+
+#include "IstInstallerApp.h"
+#include "IstMainFrame.h"
+#include "AppResourceId.h"
+
+using namespace Tizen::App;
+using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Ui::Controls;
+
+InstallerApp::InstallerApp(void)
+ : __pPackageInfo(null)
+{
+}
+
+InstallerApp::~InstallerApp(void)
+{
+}
+
+Tizen::App::UiApp*
+InstallerApp::CreateInstance(void)
+{
+ return new (std::nothrow) InstallerApp();
+}
+
+const Tizen::App::Package::PackageInfo*
+InstallerApp::GetPackageInfo(void) const
+{
+ return __pPackageInfo;
+}
+
+Tizen::Base::String
+InstallerApp::GetPackageFilePath(void) const
+{
+ return __packageFilePath;
+}
+
+
+bool
+InstallerApp::OnAppInitializing(Tizen::App::AppRegistry& appRegistry)
+{
+ AppControlProviderManager::GetInstance()->SetAppControlProviderEventListener(this);
+
+ return true;
+}
+
+bool
+InstallerApp::OnAppInitialized(void)
+{
+ MainFrame* pMainFrame = new (std::nothrow) MainFrame();
+ pMainFrame->Construct();
+ result r = AddFrame(*pMainFrame);
+ if (IsFailed(r))
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+}
+
+bool
+InstallerApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
+{
+ return true;
+}
+
+void
+InstallerApp::OnBackground(void)
+{
+ AppLogDebug("Enter");
+ Terminate();
+}
+
+void
+InstallerApp::OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData)
+{
+ if (!pUriData || !pUriData->StartsWith(L"file://", 0))
+ {
+ AppLogException("Invalid URI date.");
+ return;
+ }
+
+ __packageFilePath = *pUriData;
+ __packageFilePath.Replace(L"file://", L"");
+ __pPackageInfo = PackageManager::GetInstance()->GetPackageInfoFromFileN(__packageFilePath);
+ TryLog(GetLastResult() == E_SUCCESS, "[%s] Failed to get package information - %ls", GetErrorMessage(GetLastResult()), __packageFilePath.GetPointer());
+}
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file IstMainFrame.cpp
+ * @brief This file contains implementation of MainFrame class, which is the main frame of the application.
+ */
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUi.h>
+#include "AppResourceId.h"
+#include "IstMainFrame.h"
+#include "IstInstallerApp.h"
+#include "IstFormFactory.h"
+#include "IstPanelFactory.h"
+
+using namespace Tizen::App;
+using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+MainFrame::MainFrame(void)
+ : __pInstalledPopup(null)
+{
+}
+
+MainFrame::~MainFrame(void)
+{
+}
+
+result
+MainFrame::OnInitializing(void)
+{
+ AppLogDebug("Enter");
+ result r = E_SUCCESS;
+
+ const PackageInfo* pPackageInfo = static_cast<InstallerApp*>(UiApp::GetInstance())->GetPackageInfo();
+ if (!pPackageInfo)
+ {
+ SetBackgroundColor(Color(0, 0, 0, 0));
+ MessageBox msgBox;
+ msgBox.Construct(L"Error",L"Can't install the file. Invalid format file.",MSGBOX_STYLE_OK, 5000);
+ int modal;
+ msgBox.ShowAndWait(modal);
+ return E_FAILURE;
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->RegisterFormFactory(*new (std::nothrow) FormFactory());
+ pSceneManager->RegisterPanelFactory(*new (std::nothrow) PanelFactory());
+ pSceneManager->RegisterScene("workflow");
+
+ __pInstalledPopup = new (std::nothrow) InstalledPopup();
+ __pInstalledPopup->Initialize(this);
+
+ PackageId packageId = pPackageInfo->GetId();
+ __mainAppId = pPackageInfo->GetMainAppId();
+
+ PackageManager* pPackageManager = PackageManager::GetInstance();
+ if (pPackageManager->IsPackageInstalled(packageId))
+ {
+ SetBackgroundColor(Color(0, 0, 0, 0));
+ String displayName = pPackageInfo->GetDisplayName();
+ AppLogDebug("%ls: It has been already installed.", displayName.GetPointer());
+ PackageInfo* pInstalledPackageInfo = pPackageManager->GetPackageInfoN(packageId);
+ r = __pInstalledPopup->RequestPopup(displayName, pInstalledPackageInfo->GetVersion(), pPackageInfo->GetVersion());
+ delete pInstalledPackageInfo;
+ }
+ else
+ {
+ r = pSceneManager->GoForward(SceneTransitionId(ID_SCNT_DETAIL_SCENE));
+ }
+
+ return r;
+}
+
+result
+MainFrame::OnTerminating(void)
+{
+ if (__pInstalledPopup)
+ {
+ __pInstalledPopup->Destroy();
+ }
+
+ return E_SUCCESS;
+}
+
+void
+MainFrame::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
+{
+ AppLogDebug("Enter");
+ switch (requestId)
+ {
+ case IDA_BUTTON_REINSTALL:
+ SceneManager::GetInstance()->GoForward(SceneTransitionId(ID_SCNT_DETAIL_SCENE));
+ break;
+ case IDA_BUTTON_LAUNCH:
+ {
+ AppManager::GetInstance()->LaunchApplication(__mainAppId);
+ break;
+ }
+ default:
+ UiApp::GetInstance()->Terminate();
+ break;
+ }
+}
//
/**
- * @file: IstPanelFactory.cpp
- * @brief: This file contains the implementation of InstallServicePanelFactory class, which manages
- * all the panel containers used across the application.
+ *@file IstPanelFactory.cpp
+ *@brief This file contains the implementation PanelFactory class, which manages
+ * all the panels of the application.
*/
-
#include "IstPanelFactory.h"
-using namespace Tizen::Ui::Scenes;
-
-
PanelFactory::PanelFactory(void)
{
}
Tizen::Ui::Controls::Panel*
PanelFactory::CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId)
{
- SceneManager* pSceneManager = SceneManager::GetInstance();
- AppAssert(pSceneManager);
- Tizen::Ui::Controls::Panel* pNewPanel = null;
-
- return pNewPanel;
+ return null;
}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="InstallerService" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660" name="Debug" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.1784086492" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.165304646" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/InstallerService/Debug}" enableAutoBuild="true" id="org.tizen.nativecpp.target.sbi.gnu.builder.910776161" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.707842937" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.1219153705" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.235211314" 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.275888905" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.437831432" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.2067868547" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.2.native_llvm31.armel.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1395160493" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.2042453024" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1491943414" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.399579441" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1290489636" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1444030222" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.1332097163" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.569133032" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.1038790997" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.30619937" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2093892473" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.2.native_llvm31.armel.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1795177369" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.129230233" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.2147015964" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.435620859" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.927058880" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.386884738" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.640241801" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.901135465" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.787442281" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target arm-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../arm-linux-gnueabi-gcc-4.5/ -ccc-gcc-name arm-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mtune=cortex-a8 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/LREqrkLatJ/lib""/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-image"/>
+ <listOptionValue builtIn="false" value="-losp-json"/>
+ <listOptionValue builtIn="false" value="-losp-ime"/>
+ <listOptionValue builtIn="false" value="-losp-net"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-shell"/>
+ <listOptionValue builtIn="false" value="-losp-shell-core"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-losp-vision"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1307041173" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2119600729" 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.2146766494" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2008442855" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.248419226" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.2010848909" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.release.728069853">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.release.728069853" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecpp.config.sbi.gcc45.app.release.728069853" name="Release" parent="org.tizen.nativecpp.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.release.728069853." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.release.1698569602" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.530558826" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/InstallerService/Release}" id="org.tizen.nativecpp.target.sbi.gnu.builder.975214550" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.1514849212" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.1790549045" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.316489008" 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.1500294719" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.220428565" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog"/>
+ <option id="sbi.gnu.cpp.compiler.option.900296718" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1334366520" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.528700311" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.623797688" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.1909718066" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1912377546" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.2061633942" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.2022990414" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.2037589780" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.930351060" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog"/>
+ <option id="sbi.gnu.c.compiler.option.623943791" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1091342970" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1782808167" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.499488519" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.120447946" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1431704404" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.267766539" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.1382202266" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.476062144" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/LREqrkLatJ/lib""/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-image"/>
+ <listOptionValue builtIn="false" value="-losp-json"/>
+ <listOptionValue builtIn="false" value="-losp-ime"/>
+ <listOptionValue builtIn="false" value="-losp-net"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-losp-shell"/>
+ <listOptionValue builtIn="false" value="-losp-shell-core"/>
+ <listOptionValue builtIn="false" value="-losp-vision"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.29188932" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.140241049" 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.1380224608" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.383736666" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1356965384" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1251472052" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da.754090819">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da.754090819" moduleId="org.eclipse.cdt.core.settings" name="Dynamic Analyzer">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da.754090819" name="Dynamic Analyzer" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da.754090819." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.da.1333248523" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.da">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1761265488" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/InstallerService/Dynamic Analyzer}" id="org.tizen.nativecpp.target.sbi.gnu.builder.742911700" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.20568351" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da.313583944" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da">
+ <option id="gnu.cpp.compiler.option.optimization.level.992317181" 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.999707720" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.1264847117" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.515770373" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.918559826" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.1738469971" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.179651114" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1383418692" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.137819883" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.777155754" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.1146284098" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.84463917" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.343821044" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.1266558309" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2033648291" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.2.native_llvm31.i386.cpp.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.480603923" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""/home/changyongjeon/tizen-sdk/library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1515203458" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1181708775" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1185262662" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.474325587" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.721897137" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.138714069" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da.1393991110" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1117838079" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain /home/changyongjeon/tizen-sdk/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.5/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/opt/usr/apps/LREqrkLatJ/lib""/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-image"/>
+ <listOptionValue builtIn="false" value="-losp-json"/>
+ <listOptionValue builtIn="false" value="-losp-ime"/>
+ <listOptionValue builtIn="false" value="-losp-net"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-losp-shell"/>
+ <listOptionValue builtIn="false" value="-losp-shell-core"/>
+ <listOptionValue builtIn="false" value="-losp-vision"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ <listOptionValue builtIn="false" value="-lalut"/>
+ <listOptionValue builtIn="false" value="-lopenal"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.927071695" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="daprobe"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1534311943" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library/da/x86""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2019635207" 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.1247142733" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2034396664" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1122122142" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.861882858" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="InstallerService.org.tizen.nativecpp.target.sbi.gcc45.app.893663013" name="Tizen Application" projectType="org.tizen.nativecpp.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.da.512415136">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.542757660">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.release.728069853">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="com.samsung.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>InstallerService</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>sbi-make</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/InstallerService/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecpp.apichecker.core.builder</name>
+ <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.nativecpp.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1360216703005</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>
+ </filteredResources>
+</projectDescription>
--- /dev/null
+# Target name and AppID
+SET(this_target InstallerService)
+SET(PKG_ID D7eOJquGtL)
+
+# include directory
+INCLUDE_DIRECTORIES(
+ /usr/include/osp
+ inc
+ )
+
+# Source files
+FILE(GLOB ${this_target}_SOURCE_FILES src/*.cpp)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
+
+# Create executable
+SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
+
+# Set link libraries and link options
+TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp osp-appfw osp-uifw osp-shell osp-shell-core pthread)
+TARGET_LINK_LIBRARIES(${this_target} -Xlinker --allow-shlib-undefined -pthread -pie)
+
+# Copy info, data, res, and icons directories
+INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${PKG_ID}/bin)
+
+# Copy resource
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/InstallerService/res DESTINATION ../usr/apps/${PKG_ID})
+
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AppResourceId.h
+ * @brief This is the header file for resource definition.
+ */
+
+#ifndef _APP_RESOURCE_ID_H_
+#define _APP_RESOURCE_ID_H_
+
+extern const wchar_t* IDC_LABEL_COUNT;
+extern const wchar_t* IDC_LABEL_DEGREE;
+extern const wchar_t* IDC_LABEL_ICON;
+extern const wchar_t* IDC_LABEL_NAME;
+extern const wchar_t* IDC_PROGRESS;
+extern const wchar_t* IDL_QUICK_INSTALLATION;
+
+#endif // _APP_RESOURCE_ID_H_
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file InstallerService.h
+ * @brief This file contains the declaration of InstallerService Class,
+ * which provides basic features necessary to define an ServiceApp.
+ */
+
+#ifndef _INSTALLER_SERVICE_H_
+#define _INSTALLER_SERVICE_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FLocales.h>
+#include <FUi.h>
+#include <FShell.h>
+
+class InstallerServiceApp
+ : public Tizen::App::ServiceApp
+ , public virtual Tizen::App::IAppControlProviderEventListener
+ , public virtual Tizen::App::Package::IPackageInstallationEventListener
+{
+public:
+ InstallerServiceApp(void);
+ virtual ~InstallerServiceApp(void);
+ result Install(const Tizen::Base::String& filePath);
+
+ virtual bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
+ virtual bool OnAppInitialized(void);
+ virtual bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
+ virtual void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData);
+ virtual void OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult);
+ virtual void OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress);
+ virtual void OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult);
+
+ static Tizen::App::ServiceApp* CreateInstance(void);
+private:
+ Tizen::App::PackageId __packageId;
+ Tizen::App::Package::PackageInfo* __pInfo;
+ Tizen::Ui::Controls::Label* __pDegreeLabel;
+ Tizen::Ui::Controls::Label* __pCountLabel;
+ Tizen::Ui::Controls::Progress* __pProgress;
+ Tizen::Shell::QuickPanelFrame* __pFrame;
+ Tizen::Base::Collection::ArrayList __filePathList;
+ Tizen::Locales::DateTimeFormatter* __pDateTimeFormatter;
+ int __index;
+};
+
+#endif // _INSTALLER_SERVICE_H_
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Manifest xmlns="http://schemas.tizen.org/2012/12/manifest">
+ <Id>LREqrkLatJ</Id>
+ <Version>1.0.0</Version>
+ <Type>C++App</Type>
+ <Requirements>
+ <Feature Name="http://tizen.org/feature/platform.core.cpu.arch.armv7">true</Feature>
+ <Feature Name="http://tizen.org/feature/platform.core.fpu.arch.vfpv3">true</Feature>
+ <Feature Name="http://tizen.org/feature/screen.size.normal">true</Feature>
+ </Requirements>
+ <Apps>
+ <ApiVersion>2.1</ApiVersion>
+ <Privileges>
+ <Privilege>http://tizen.org/privilege/packagemanager.info</Privilege>
+ <Privilege>http://tizen.org/privilege/package.info</Privilege>
+ <Privilege>http://tizen.org/privilege/notification</Privilege>
+ <Privilege>http://tizen.org/privilege/packagemanager.install</Privilege>
+ </Privileges>
+ <ServiceApp AutoRestart="False" LaunchOnBoot="False" LaunchingHistoryVisible="True" Main="True" Name="InstallerService" UseUi="True">
+ <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+ <UiTheme SystemTheme="White"/>
+ <DisplayNames>
+ <DisplayName Locale="eng-GB">InstallerService</DisplayName>
+ </DisplayNames>
+ <Icons>
+ <Icon Section="MainMenu">mainmenu.png</Icon>
+ </Icons>
+ <LaunchConditions/>
+ </ServiceApp>
+ </Apps>
+</Manifest>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE SceneQuickPanelFrame SYSTEM "UIForm.dtd">
+
+<SceneQuickPanelFrame Bversion="2.0.0.201306151404" Dversion="20120315">
+ <QuickPanelFrame id="IDL_QUICK_INSTALLATION">
+ <layout height="170.0" mode="Portrait" type="LAYOUT_RELATIVE"/>
+ <layout height="720.0" mode="Landscape" type="LAYOUT_RELATIVE"/>
+ </QuickPanelFrame>
+ <Label id="IDC_LABEL_ICON" parent="IDL_QUICK_INSTALLATION">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="true" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_QUICK_INSTALLATION" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="20.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="72.0" x="20.0" y="49.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="403.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200.0" x="0.0" y="306.0"/>
+ </Label>
+ <Progress id="IDC_PROGRESS" parent="IDL_QUICK_INSTALLATION">
+ <property accessibilityHint="" backgroundColor="" barBackgroundColor="" barColor="" leftText="" max="100" min="0" rightText="" showValueState="true" value="0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="true" height="36.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_LABEL_ICON" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_QUICK_INSTALLATION" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="628.0" x="92.0" y="67.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="129.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="180.0" x="20.0" y="342.0"/>
+ </Progress>
+ <Label id="IDC_LABEL_NAME" parent="IDL_QUICK_INSTALLATION">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="0" text="Label2" textColor="#FFFFFF" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_BOTTOM"/>
+ <layout bottomRelation="IDC_PROGRESS" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="false" centerVertical="false" height="39.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_PROGRESS" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="40.0" marginRight="40.0" marginTop="0.0" mode="Portrait" rightRelation="IDC_PROGRESS" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_CONTENT" width="548.0" x="132.0" y="28.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="403.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200.0" x="0.0" y="144.0"/>
+ </Label>
+ <Label id="IDC_LABEL_DEGREE" parent="IDL_QUICK_INSTALLATION">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="100%" textColor="#FFFFFF" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="39.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_PROGRESS" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="24.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDC_PROGRESS" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_CONTENT" width="300.0" x="116.0" y="103.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="403.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200.0" x="0.0" y="316.0"/>
+ </Label>
+ <Label id="IDC_LABEL_COUNT" parent="IDL_QUICK_INSTALLATION">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" leftMargin="0" text="1/1" textColor="#FFFFFF" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="39.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="24.0" marginTop="0.0" mode="Portrait" rightRelation="IDC_PROGRESS" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_PROGRESS" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_CONTENT" width="261.0" x="435.0" y="103.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="403.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200.0" x="0.0" y="316.0"/>
+ </Label>
+</SceneQuickPanelFrame>
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AppResourceId.cpp
+ * @brief This file contains resource definition.
+ */
+
+#include "AppResourceId.h"
+
+const wchar_t* IDC_LABEL_COUNT = L"IDC_LABEL_COUNT";
+const wchar_t* IDC_LABEL_DEGREE = L"IDC_LABEL_DEGREE";
+const wchar_t* IDC_LABEL_ICON = L"IDC_LABEL_ICON";
+const wchar_t* IDC_LABEL_NAME = L"IDC_LABEL_NAME";
+const wchar_t* IDC_PROGRESS = L"IDC_PROGRESS";
+const wchar_t* IDL_QUICK_INSTALLATION = L"IDL_QUICK_INSTALLATION";
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file InstallerService.cpp
+ * @brief This file contains the declaration of InstallerService Class,
+ * which provides basic features necessary to define an ServiceApp.
+ */
+
+#include <FApp.h>
+#include <FGraphics.h>
+#include <FLocales.h>
+#include <FShell.h>
+#include <FSystem.h>
+#include <FUi.h>
+#include "AppResourceId.h"
+#include "InstallerService.h"
+
+using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Shell;
+using namespace Tizen::System;
+using namespace Tizen::Ui::Controls;
+
+InstallerServiceApp::InstallerServiceApp(void)
+ : __pInfo(null)
+ , __pDegreeLabel(null)
+ , __pCountLabel(null)
+ , __pProgress(null)
+ , __pFrame(null)
+ , __filePathList(SingleObjectDeleter)
+ , __pDateTimeFormatter(null)
+ , __index(0)
+{
+}
+
+InstallerServiceApp::~InstallerServiceApp(void)
+{
+}
+
+Tizen::App::ServiceApp*
+InstallerServiceApp::CreateInstance(void)
+{
+ return new (std::nothrow) InstallerServiceApp();
+}
+
+bool
+InstallerServiceApp::OnAppInitializing(Tizen::App::AppRegistry& appRegistry)
+{
+ AppLogDebug("Enter");
+ Tizen::App::AppControlProviderManager::GetInstance()->SetAppControlProviderEventListener(this);
+
+ __filePathList.Construct();
+
+ __pFrame = new (std::nothrow) QuickPanelFrame();
+ __pFrame->Construct(IDL_QUICK_INSTALLATION);
+
+ return true;
+}
+
+bool
+InstallerServiceApp::OnAppInitialized(void)
+{
+ AppLogDebug("Enter");
+ TryReturn(__filePathList.GetCount() != 0, false, "The filePath is not exist.");
+
+ __pDateTimeFormatter = Tizen::Locales::DateTimeFormatter::CreateTimeFormatterN(Tizen::Locales::DATE_TIME_STYLE_NONE);
+ String pattern;
+ SettingInfo::GetValue(L"http://tizen.org/setting/locale.time.format", pattern);
+ if (pattern.Contains(L":ss"))
+ {
+ pattern.Replace(L":ss", L"");
+ }
+ else if (pattern.Contains(L":SS"))
+ {
+ pattern.Replace(L":SS", L"");
+ }
+ else if (pattern.Contains(L".ss"))
+ {
+ pattern.Replace(L".ss", L"");
+ }
+ else if (pattern.Contains(L".SS"))
+ {
+ pattern.Replace(L".SS", L"");
+ }
+ else if (pattern.Contains(L"-ss"))
+ {
+ pattern.Replace(L"-ss", L"");
+ }
+ else if (pattern.Contains(L"-SS"))
+ {
+ pattern.Replace(L"-SS", L"");
+ }
+ __pDateTimeFormatter->ApplyPattern(pattern);
+
+ __pCountLabel = static_cast<Label*>(__pFrame->GetControl(IDC_LABEL_COUNT));
+ __pDegreeLabel = static_cast<Label*>(__pFrame->GetControl(IDC_LABEL_DEGREE));
+ __pProgress = static_cast<Progress*>(__pFrame->GetControl(IDC_PROGRESS));
+
+ result r = Install(*static_cast<String*>(__filePathList.GetAt(__index)));
+ if (IsFailed(r))
+ {
+ return false;
+ }
+
+ return true;
+}
+
+bool
+InstallerServiceApp::OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination)
+{
+ AppLogDebug("Enter");
+ delete __pFrame;
+ delete __pInfo;
+ delete __pDateTimeFormatter;
+ return true;
+}
+
+void
+InstallerServiceApp::OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData)
+{
+ AppLogDebug("Enter");
+ Tizen::App::AppId clientAppId = Tizen::App::AppControlProviderManager::GetInstance()->GetClientAppId(reqId);
+ TryReturnVoid(clientAppId == L"D7eOJquGtL.Installer", "[%ls] This application is not allowed.", clientAppId.GetPointer());
+ TryReturnVoid(pUriData && pUriData->StartsWith(L"file://", 0), "There isn't URI data.");
+
+ String filePath = *pUriData;
+ filePath.Replace(L"file://", L"");
+ __filePathList.Add(new (std::nothrow) String(filePath));
+
+ if (__pFrame->IsVisible())
+ {
+ String count;
+ count.Format(10, L"%d/%d", __index+1, __filePathList.GetCount());
+
+ __pCountLabel->SetText(count);
+ __pCountLabel->Invalidate(false);
+ }
+}
+
+void
+InstallerServiceApp::OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId,
+ Tizen::App::Package::PackageInstallationResult installationResult)
+{
+ AppLogDebug("Enter");
+ TryReturnVoid(packageId == __packageId, "PackageId: %ls", packageId.GetPointer());
+ PackageManager::GetInstance()->RemovePackageInstallationEventListener(*this);
+
+ Tizen::App::AppId mainAppId = __pInfo->GetMainAppId();
+ PackageAppInfo* pMainAppInfo = __pInfo->GetPackageAppInfoN(mainAppId);
+ String appName = __pInfo->GetDisplayName();
+
+ NotificationManager notificationManager;
+ notificationManager.Construct();
+
+ NotificationRequest request;
+ request.SetIconFilePath(pMainAppInfo->GetAppMenuIconPath());
+ delete pMainAppInfo;
+
+ String installTime;
+ DateTime curTime;
+ SystemTime::GetCurrentTime(TIME_MODE_WALL, curTime);
+ __pDateTimeFormatter->Format(curTime, installTime);
+ installTime.Insert(L"\n", 0);
+ installTime.Insert(appName, 0);
+
+ request.SetAlertText(installTime);
+
+ switch (installationResult)
+ {
+ case PACKAGE_INSTALLATION_RESULT_SUCCESS:
+ AppLogDebug("PACKAGE_INSTALLATION_RESULT_SUCCESS");
+ request.SetTitleText(L"Installed complete");
+ break;
+ case PACKAGE_INSTALLATION_RESULT_STORAGE_FULL:
+ AppLogDebug("PACKAGE_INSTALLATION_RESULT_STORAGE_FULL");
+ request.SetTitleText(L"Installation fail. Not enough storage");
+ break;
+ case PACKAGE_INSTALLATION_RESULT_INVALID_PACKAGE:
+ AppLogDebug("PACKAGE_INSTALLATION_RESULT_INVALID_PACKAGE");
+ request.SetTitleText(L"Installation fail");
+ break;
+ }
+
+ result r = E_SUCCESS;
+ if (installationResult == PACKAGE_INSTALLATION_RESULT_SUCCESS)
+ {
+ r = notificationManager.NotifyByAppId(mainAppId, request);
+ }
+ else
+ {
+ r = notificationManager.Notify(request);
+ }
+ TryLog(r == E_SUCCESS, "[%s] Failed to notify message.", GetErrorMessage(r));
+
+ String* pFilePath = dynamic_cast<String*>(__filePathList.GetAt(++__index));
+ if (pFilePath)
+ {
+ r = Install(*pFilePath);
+ if (r == E_SUCCESS)
+ {
+ return;
+ }
+ }
+
+ __pFrame->SetShowState(false);
+ Terminate();
+}
+
+void
+InstallerServiceApp::OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress)
+{
+ AppLogDebug("progress: %d", progress);
+ TryReturnVoid(packageId == __packageId, "PackageId: %ls", packageId.GetPointer());
+
+ if (__pProgress->GetValue() != progress)
+ {
+ __pProgress->SetValue(progress);
+ __pProgress->Invalidate(false);
+ __pDegreeLabel->SetText(Integer::ToString(progress) + L"%");
+ __pDegreeLabel->Invalidate(false);
+ }
+}
+
+void
+InstallerServiceApp::OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult)
+{
+ AppLogDebug("Enter");
+ TryReturnVoid(packageId == __packageId, "PackageId: %ls", packageId.GetPointer());
+}
+
+result
+InstallerServiceApp::Install(const Tizen::Base::String& filePath)
+{
+ AppLogDebug("Enter");
+ NotificationManager notificationManager;
+ String count;
+
+ delete __pInfo;
+ __pInfo = PackageManager::GetInstance()->GetPackageInfoFromFileN(filePath);
+ __packageId = __pInfo->GetId();
+
+ PackageAppInfo* pMainAppInfo = __pInfo->GetPackageAppInfoN(__pInfo->GetMainAppId());
+ Bitmap* pAppIcon = pMainAppInfo->GetAppMenuIconN();
+ delete pMainAppInfo;
+
+ String appName = __pInfo->GetDisplayName();
+
+ Label* pIconLabel = static_cast<Label*>(__pFrame->GetControl(IDC_LABEL_ICON));
+ pIconLabel->SetBackgroundBitmap(*pAppIcon);
+ delete pAppIcon;
+
+ Label* pNameLabel = static_cast<Label*>(__pFrame->GetControl(IDC_LABEL_NAME));
+ pNameLabel->SetText(appName);
+
+ PackageManager::GetInstance()->AddPackageInstallationEventListener(*this);
+ result r = PackageManager::GetInstance()->InstallPackage(__packageId, filePath, null);
+ TryCatch(r == E_SUCCESS, , "[%s] Failed to install package.", GetErrorMessage(r));
+
+ notificationManager.Construct();
+ notificationManager.NotifyTextMessage(appName + L" installing...");
+
+ count.Format(10, L"%d/%d", __index+1, __filePathList.GetCount());
+ __pCountLabel->SetText(count);
+ __pCountLabel->Invalidate(false);
+
+ __pProgress->SetValue(0);
+ __pDegreeLabel->SetText(L"0%");
+
+ __pFrame->SetShowState(true);
+ __pFrame->Show();
+
+ return r;
+
+CATCH:
+ delete __pInfo;
+ __pInfo = null;
+ return r;
+}
--- /dev/null
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * This file contains the Tizen C++ application entry point.
+ */
+
+#include "InstallerService.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+_EXPORT_ int
+OspMain(int argc, char* pArgv[])
+{
+ AppLog("Application started.");
+ ArrayList args(SingleObjectDeleter);
+ args.Construct();
+ for (int i = 0; i < argc; i++)
+ {
+ args.Add(new (std::nothrow) String(pArgv[i]));
+ }
+
+ result r = Tizen::App::ServiceApp::Execute(InstallerServiceApp::CreateInstance, &args);
+ TryLog(r == E_SUCCESS, "[%s] Application execution failed", GetErrorMessage(r));
+ AppLog("Application finished.");
+
+ return static_cast<int>(r);
+}
+#ifdef __cplusplus
+}
+#endif // __cplusplus
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file AppResourceId.h
- * @brief This is the declaration file for Types class.
- */
-
-#ifndef _APP_RESOURCE_ID_H_
-#define _APP_RESOURCE_ID_H_
-
-#include <FApp.h>
-#include <FUi.h>
-
-using namespace Tizen::Graphics;
-
-extern const wchar_t* IDF_FORM;
-extern const wchar_t* ID_SCNT_MAINSCENE;
-extern const wchar_t* IDC_BUTTON_OK;
-
-
-static const int INSTALL_SUCCESS_EVENT = 2000;
-static const int INSTALL_FAIL_STORAGE_FULL = 2001;
-static const int INSTALL_FAIL_INVALID_PACKAGE = 2002;
-static const int INSTALL_PROGRESS_VALUE = 2003;
-
-extern const wchar_t* HEADER_IMAGE;
-extern const wchar_t* APP_NAME;
-extern const wchar_t* FILE_URI_SCHEME;
-
-extern Tizen::Base::String __uriData;
-extern Tizen::Base::String __packagePath;
-
-extern const int GAP_BETWEEN_FORM_POPUP;
-extern const int X_POPUP_LABLE;
-extern const int Y_POPUP_LABLE;
-extern const int H_POPUP_LABLE;
-extern const int GAP_BETWEEN_POPUP_LABEL;
-extern const int GAP_BETWEEN_POPUP_BUTTON;
-extern const int UI_H_POPUP;
-extern const int UI_H_POPUP_BUTTON;
-extern const int H_POPUP_TITLE;
-extern const int H_TEXT_LINE;
-extern const int GAP_BETWEEN_BUTTON;
-extern const int X_CANCEL_BTN_ALONE;
-
-#endif // _APP_RESOURCE_ID_H_
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstDetailForm.h
- * @brief: This file contains the implementation of IstDetailForm class, which acts as a
- * application installer displaying a list of all the privilege description in the TPK file
- * and install a package that can be consist of several application.
- */
-#ifndef _IST_DETAIL_FORM_H_
-#define _IST_DETAIL_FORM_H_
-
-#include <FBase.h>
-#include <FUi.h>
-#include <FApp.h>
-
-class DetailForm
- : public Tizen::Ui::Controls::Form
- , public Tizen::Ui::IActionEventListener
- , public Tizen::Ui::Controls::IFormBackEventListener
- , public Tizen::Ui::Controls::IGroupedTableViewItemEventListener
- , public Tizen::Ui::Controls::IGroupedTableViewItemProvider
- , public Tizen::Ui::Scenes::ISceneEventListener
-{
-
-// Construction
-public:
- DetailForm(void);
- virtual ~DetailForm(void);
- result Initialize();
- void CreateTableView(void);
- void ConfirmPopupOn();
- result GetDescriptionInfo(int groupIndex, int itemIndex, Tizen::Base::String& name, Tizen::Base::String& description);
- result ParsingTPK();
- result ResizeSubText(int lineCount, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TextBox* pSubTextBox);
- void SetInfoTextBox();
- void SetListItemImage(Tizen::App::AppResource* pAppResource);
- void SetPopupControl();
-
- virtual result OnInitializing(void);
- virtual result OnTerminating(void);
- virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
- virtual void OnFormBackRequested(Form& source);
- virtual void OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status);
- virtual void OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status);
- virtual void OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated);
- virtual int GetGroupCount(void);
- virtual int GetItemCount(int groupIndex);
- virtual Tizen::Ui::Controls::TableViewGroupItem* CreateGroupItem(int groupIndex, int itemWidth);
- virtual Tizen::Ui::Controls::TableViewItem* CreateItem(int groupIndex, int itemIndex, int itemWidth);
- virtual bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem);
- virtual void UpdateGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem);
- virtual bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem);
- virtual void UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem);
- virtual int GetDefaultGroupItemHeight(void);
- virtual int GetDefaultItemHeight(void);
- virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
- const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
- virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
- const Tizen::Ui::Scenes::SceneId& nextSceneId);
-
-private:
- Tizen::Ui::Controls::Popup* __pPopup;
- Tizen::Ui::Controls::TextBox* __pTextBox;
- Tizen::Ui::Controls::ListView* __pInfoList;
- Tizen::Ui::Controls::TableView* __pTableList;
- Tizen::Ui::Controls::GroupedTableView* __pList;
- Tizen::Ui::Controls::Label* __pShowAllImageLable;
- Tizen::Ui::Controls::Label* __pPreInstallLabel;
- Tizen::Graphics::Bitmap* __pHome;
- Tizen::Graphics::Bitmap* __pHeaderImage;
- Tizen::Graphics::Bitmap* __pDropDown;
- Tizen::Graphics::Bitmap* __pDropDown2;
- Tizen::Graphics::Bitmap* __pRollUp;
- Tizen::Graphics::Bitmap* __pCheckImage;
-
- Tizen::App::Package::PackageInfo* __pTargetPackageInfo;
- Tizen::App::Package::PackageAppInfo* __pPackageAppInfo;
- Tizen::Base::Collection::IList* __pPrivilegeList;
- Tizen::Base::String __targetFilePath;
- Tizen::Ui::Controls::Header* __pHeader;
-
- int __itemCount;
- bool __isInstalled;
- bool __isValidPackage;
- bool __isUntrustedSource;
- bool __isUpdatable;
-};
-
-#endif
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstAppInstall.h
- * @brief: This file contains the implementation of IstAppInstall class, which acts as a
- * application installer processing a installation of application. This form also notify
- * completion of installation to IstAppInstallForm.
- */
-
-#ifndef _IST_INSTALL_EVENT_LISTENER_H_
-#define _IST_INSTALL_EVENT_LISTENER_H_
-
-#include <FApp.h>
-
-class InstallEventListener
- : public Tizen::App::Package::IPackageInstallationResponseListener
-{
-public:
- InstallEventListener();
- virtual ~InstallEventListener();
-
- // package install Response Listener
- virtual void OnPackageInstallationResponseReceived(const Tizen::Base::String& packageId,
- Tizen::App::Package::PackageInstallationResult installationResult);
- virtual void OnPackageInstallationInProgressResponseReceived(const Tizen::Base::String& packageId, int progress);
-};
-
-#endif /* _IST_INSTALL_EVENT_LISTENER_H_ */
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstAppInstallForm.h
- * @brief: This file contains the implementation of IstAppInstallForm class, which acts as a
- * application installer displaying a progress of installation of application. This form also open
- * target application or close installer itself.
- */
-#ifndef _IST_INSTALL_FORM_H_
-#define _IST_INSTALL_FORM_H_
-
-#include <FBase.h>
-#include <FUi.h>
-#include "IstInstallEventListener.h"
-
-using namespace Tizen::Base::Runtime;
-
-class InstallForm
- : public Tizen::Base::Runtime::ITimerEventListener
- , public Tizen::Ui::IActionEventListener
- , public Tizen::Ui::Controls::Form
- , public Tizen::Ui::Controls::IFormBackEventListener
- , public Tizen::Ui::Scenes::ISceneEventListener
-{
-
-public:
- InstallForm(void);
- virtual ~InstallForm(void);
- result Initialize();
- void AddFooterItem();
- void InstallApplication();
- void DisplayPopup();
- void SetPopupValue(Tizen::Base::String title, Tizen::Base::String content);
- void SetPopupControl();
-
- virtual result OnInitializing(void);
- virtual result OnTerminating(void);
- virtual void OnTimerExpired(Timer& timer);
- virtual void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs);
- virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
- virtual void OnFormBackRequested(Form& source);
- virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
- const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
- virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
- const Tizen::Ui::Scenes::SceneId& nextSceneId);
-private:
- int __timerCounter;
- bool __isInstalling;
- InstallEventListener* __pInstallListener;
-
- Timer* __pTimer;
- Tizen::Ui::Controls::Header* __pHeader;
- Tizen::Ui::Controls::Label* __pProgressLabel;
- Tizen::Ui::Controls::Label* __progressImageLabel;
- Tizen::Ui::Controls::Progress* __pProgress;
- Tizen::Ui::Controls::Popup* __pPopup;
- Tizen::Ui::Controls::TextBox* __pPopupTextBox;
-
- Tizen::Graphics::Bitmap* __pProgressImage;
- Tizen::Graphics::Bitmap* __pProgressEfImage;
-
- Tizen::Base::String __packageOperationId;
- Tizen::Base::String __packageName;
- Tizen::App::AppManager* __pAppManager;
- Tizen::App::Package::PackageAppInfo* __pPackageAppInfo;
-
-};
-
-#endif
<Id>D7eOJquGtL</Id>
<Version>1.0.0</Version>
<Type>C++App</Type>
- <Requirements>
- <Feature Name="http://tizen.org/feature/platform.core.cpu.arch.armv7">true</Feature>
- <Feature Name="http://tizen.org/feature/platform.core.fpu.arch.vfpv3">true</Feature>
- </Requirements>
+ <Requirements/>
<Apps>
<ApiVersion>2.1</ApiVersion>
<Privileges>
<Privilege>http://tizen.org/privilege/packagemanager.info</Privilege>
<Privilege>http://tizen.org/privilege/package.info</Privilege>
<Privilege>http://tizen.org/privilege/application.launch</Privilege>
+ <Privilege>http://tizen.org/privilege/notification</Privilege>
<Privilege>http://tizen.org/privilege/packagemanager.install</Privilege>
</Privileges>
<UiApp LaunchingHistoryVisible="False" Main="True" MenuIconVisible="False" Name="Installer">
</AppControls>
<LaunchConditions/>
</UiApp>
+ <ServiceApp AutoRestart="False" LaunchOnBoot="False" LaunchingHistoryVisible="True" Main="False" Name="InstallerService" UseUi="True">
+ <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+ <UiTheme SystemTheme="White"/>
+ <DisplayNames>
+ <DisplayName Locale="eng-GB">InstallerService</DisplayName>
+ </DisplayNames>
+ <Icons>
+ <Icon Section="MainMenu">mainmenu.png</Icon>
+ </Icons>
+ <LaunchConditions/>
+ </ServiceApp>
</Apps>
</Manifest>
Name: apps.Installer
Summary: Installer application
-Version: 1.0.0
+Version: 1.1.0
Release: 1
Group: TO_BE/FILLED_IN
-License: Flora License, Version 1.0
+License: Flora License, Version 1.1
Source0: %{name}-%{version}.tar.gz
BuildRequires: cmake
+BuildRequires: hash-signer
BuildRequires: pkgconfig(osp-appfw)
BuildRequires: pkgconfig(osp-uifw)
-BuildRequires: pkgconfig(osp-media)
-BuildRequires: pkgconfig(osp-image)
-BuildRequires: pkgconfig(osp-image-core)
-BuildRequires: hash-signer
+BuildRequires: pkgconfig(osp-shell)
%description
Verification application: Installer
%install
rm -rf %{buildroot}
%make_install
-###### for package signing step ######
+
+# Application signing
PKG_ID=D7eOJquGtL
%define tizen_sign 1
%define tizen_sign_base /usr/apps/${PKG_ID}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- This XML file was automatically generated by UiBuilder - do not modify by hand.
--->
-<!DOCTYPE Scene SYSTEM "UIForm.dtd">
-<Scene Bversion="2.0.0.201303182057" Dversion="20120315">
- <LogicalCoordinate>720</LogicalCoordinate>
- <Form id="IDL_APP_INSTALL_FORM">
- <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
- <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
- <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
- </Form>
- <Footer>
- <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="true"/>
- <itemSet/>
- </Footer>
- <Header>
- <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="AppName INSTALL" titleTextColor=""/>
- <itemSet/>
- </Header>
- <Label id="IDC_PROGRESS_LABEL" parent="IDL_APP_INSTALL_FORM">
- <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="Installing..." textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
- <layout height="46.0" mode="Portrait" width="444.0" x="46.0" y="436.0"/>
- <layout height="52.0" mode="Landscape" width="533.0" x="94.0" y="21.0"/>
- </Label>
- <Progress id="IDF_PROGRESS" parent="IDL_APP_INSTALL_FORM">
- <property accessibilityHint="" backgroundColor="" barBGColor="" barColor="" leftText="" max="100" min="0" rightText="" showValueState="true" value="0"/>
- <layout height="56.0" mode="Portrait" style="" width="575.0" x="73.0" y="498.0"/>
- <layout height="68.0" mode="Landscape" style="" width="1022.0" x="128.0" y="231.0"/>
- </Progress>
-</Scene>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- This XML file was automatically generated by UiBuilder - do not modify by hand.
--->
-<!DOCTYPE Scene SYSTEM "UIForm.dtd">
-<Scene Bversion="2.0.0.201304041646" Dversion="20120315">
- <LogicalCoordinate>720</LogicalCoordinate>
- <Form id="IDL_DETAIL_FORM">
- <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
- <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
- <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
- </Form>
- <Footer>
- <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="true"/>
- </Footer>
- <Header>
- <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="APP NAME" titleTextColor=""/>
- <itemSet/>
- </Header>
- <TextBox id="IDC_INFO_TEXTBOX" parent="IDL_DETAIL_FORM">
- <property accessibilityHint="" disabledBackgroundBitmapPath="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" highlightedBackgroundBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" lineSpacingExtra="1.0" lineSpacingMultiplier="1.0" normalBackgroundBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" text="" textAlignment="" textSize="33.0" textboxBorder="TEXT_BOX_BORDER_ROUNDED"/>
- <layout height="221.0" mode="Portrait" width="629.0" x="47.0" y="22.0"/>
- <layout height="166.0" mode="Landscape" width="1118.0" x="76.0" y="20.0"/>
- </TextBox>
- <ListView id="IDC_INFO_LIST" parent="IDL_DETAIL_FORM">
- <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" fastScroll="false" itemDivider="true" itemDividerColor="" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION" sweepEnabled="false" textOfEmptyList=""/>
- <layout height="737.0" mode="Portrait" width="625.0" x="49.0" y="265.0"/>
- <layout height="414.0" mode="Landscape" width="1111.0" x="87.0" y="70.0"/>
- </ListView>
-</Scene>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- This XML file was automatically generated by UiBuilder - do not modify by hand.
--->
-<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
-<ScenePopup Bversion="2.0.0.201304041646" Dversion="20120315">
- <Popup id="IDL_MESSAGE_POPUP">
- <property accessibilityHint="" color="" titleText="Title" titleTextColor=""/>
- <layout height="393.0" mode="Portrait" style="" type="LAYOUT_RELATIVE" width="657.0"/>
- <layout height="680.0" mode="Landscape" style="" type="LAYOUT_RELATIVE" width="390.0"/>
- </Popup>
- <Label id="IDC_MESSAGE_LABEL" parent="IDL_MESSAGE_POPUP">
- <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="Label1" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="75.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_MESSAGE_POPUP" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="20.0" marginRight="20.0" marginTop="20.0" mode="Portrait" rightRelation="IDL_MESSAGE_POPUP" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDL_MESSAGE_POPUP" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="617.0" x="20.0" y="20.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="438.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="390.0" x="0.0" y="81.0"/>
- </Label>
- <Button id="IDC_EXIT_BUTTON" parent="IDL_MESSAGE_POPUP">
- <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Exit" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
- <layout bottomRelation="IDL_MESSAGE_POPUP" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="20.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="298.0" x="179.0" y="221.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="125.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="221.0" x="169.0" y="433.0"/>
- </Button>
-</ScenePopup>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- This XML file was automatically generated by UiBuilder - do not modify by hand.
--->
-<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
-<ScenePopup Bversion="2.0.0.201304041646" Dversion="20120315">
- <Popup id="IDL_SECURITY_POPUP">
- <property accessibilityHint="" color="" titleText="" titleTextColor=""/>
- <layout height="486.0" mode="Portrait" style="" type="LAYOUT_RELATIVE" width="657.0"/>
- <layout height="680.0" mode="Landscape" style="" type="LAYOUT_RELATIVE" width="430.0"/>
- </Popup>
- <Label id="IDC_LABEL1" parent="IDL_SECURITY_POPUP">
- <property accessibilityHint="" backgroundBitmapPath="mainmenu.png" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="20.0" marginRight="0.0" marginTop="20.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="72.0" x="20.0" y="20.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="119.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="33.0" x="13.0" y="65.0"/>
- </Label>
- <Progress id="IDC_PROGRESS1" parent="IDL_SECURITY_POPUP">
- <property accessibilityHint="" backgroundColor="" barBGColor="" barColor="" leftText="" max="5" min="0" rightText="" showValueState="true" value="0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_LABEL1" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="16.0" marginRight="16.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_SECURITY_POPUP" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" style="" topRelation="IDC_LABEL1" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="533.0" x="108.0" y="20.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="131.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="276.0" x="71.0" y="63.0"/>
- </Progress>
- <Button id="IDC_BUTTON1" parent="IDL_SECURITY_POPUP">
- <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="OK" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
- <layout bottomRelation="" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="20.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="298.0" x="0.0" y="392.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="129.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="207.0" x="153.0" y="430.0"/>
- </Button>
- <Label id="IDC_LABEL2" parent="IDL_SECURITY_POPUP">
- <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#BFBFBF" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="77.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="556.0" x="3.0" y="309.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="111.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="372.0" x="15.0" y="445.0"/>
- </Label>
- <TextBox id="IDC_TEXTBOX1" parent="IDL_SECURITY_POPUP">
- <property accessibilityHint="" disabledBackgroundBitmapPath="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" highlightedBackgroundBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" lineSpacingExtra="1.0" lineSpacingMultiplier="1.0" normalBackgroundBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" text="" textAlignment="" textSize="45.0" textboxBorder="TEXT_BOX_BORDER_ROUNDED"/>
- <layout bottomRelation="IDC_BUTTON1" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_TOP" centerHorizontal="true" centerVertical="false" height="260.0" horizontalFitPolicy="FIT_POLICY_PARENT" leftRelation="" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="20.0" marginLeft="20.0" marginRight="20.0" marginTop="20.0" mode="Portrait" rightRelation="" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_PROGRESS1" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="657.0" x="0" y="112.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="241.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="372.0" x="13.0" y="148.0"/>
- </TextBox>
- <Button id="IDC_BUTTON2" parent="IDL_SECURITY_POPUP">
- <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Keep" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="10.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="298.0" x="309.0" y="392.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="90.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="171.0" x="219.0" y="509.0"/>
- </Button>
-</ScenePopup>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<Workflow>
- <Scene Form="IDL_DETAIL_FORM" Id="FORM_DETAIL"/>
- <Scene Form="IDL_APP_INSTALL_FORM" Id="FORM_APP_INSTALL"/>
- <SceneTransition AnimationType="none" DestroyOption="keep" DirectionType="forward" HistoryOption="add" Id="ID_SCNT_MAINSCENE" Method="" SourceId="" SourceResourceType="" TargetId="FORM_DETAIL"/>
-
- <!--UI Builder(Workflow Designer) only-->
- <WorkflowDesigner>
- <Position Name="FORM_DETAIL" X="129" Y="155"/>
- <Position Name="FORM_APP_INSTALL" X="557" Y="58"/>
- </WorkflowDesigner>
-</Workflow>
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file AppResourceId.cpp
- * @brief This is the implementation file for Types class.
- */
-
-#include "AppResourceId.h"
-
-const wchar_t* IDF_FORM = L"IDF_FORM";
-const wchar_t* ID_SCNT_MAINSCENE = L"ID_SCNT_MAINSCENE";
-const wchar_t* IDC_BUTTON_OK = L"IDC_BUTTON_OK";
-
-const int GAP_BETWEEN_FORM_POPUP = 28;
-const int X_POPUP_LABLE = 0;
-const int Y_POPUP_LABLE = 0;
-const int H_POPUP_LABLE = 300;
-const int GAP_BETWEEN_POPUP_LABEL = 25;
-const int GAP_BETWEEN_POPUP_BUTTON = GAP_BETWEEN_POPUP_LABEL;
-const int UI_H_POPUP = 330;
-const int UI_H_POPUP_BUTTON = 74;
-const int H_POPUP_TITLE = 50;
-const int H_TEXT_LINE = 150;
-const int GAP_BETWEEN_BUTTON = 10;
-const int X_CANCEL_BTN_ALONE = 160;
-
-
-const wchar_t* HEADER_IMAGE = L"home_type3.png";
-const wchar_t* APP_NAME = L"Installer";
-const wchar_t* FILE_URI_SCHEME = L"file://";
-
-Tizen::Base::String __uriData;
-Tizen::Base::String __packagePath;
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstDetailForm.cpp
- * @brief: This file contains the implementation of IstDetailForm class, which acts as a
- * application installer displaying a list of all the privilege description in the TPK file
- * and install a package that can be consist of several application.
- */
-#include <FApp.h>
-#include <FSecPrivilegeInfo.h>
-#include "IstDetailForm.h"
-#include "IstInstallerApp.h"
-#include "IstInstallEventListener.h"
-#include "IstInstallerApp.h"
-#include "AppResourceId.h"
-#include "IstMainFrame.h"
-
-using namespace Tizen::Base;
-using namespace Tizen::App;
-using namespace Tizen::App::Package;
-using namespace Tizen::App::Package;
-using namespace Tizen::Base::Collection;
-using namespace Tizen::Graphics;
-using namespace Tizen::Security;
-using namespace Tizen::System;
-using namespace Tizen::Ui;
-using namespace Tizen::Ui::Controls;
-using namespace Tizen::Ui::Scenes;
-
-
-static const int IDA_INSTALL_BTN = 101;
-
-static const int ID_BUTTON_CLOSE_POPUP = 503;
-static const int ID_BUTTON_INSTALL_POPUP = 502;
-static const wchar_t LIST_IMAGE_PATH1[] = L"00_button_radio_select_dim.png";
-static const wchar_t DROP_DOWN_IMAGE[] = L"00_list_expand_closed.png";
-static const wchar_t ROLL_UP_IMAGE[] = L"00_list_expand_opened.png";
-static const wchar_t ELM_CHECK_IMAGE[] = L"00_check_checking_dim.png";
-
-// Color
-static const unsigned int UI_COLOR_WHITE = Color32<248, 246, 239>::Value;
-static const unsigned int UI_COLOR_WHITE2 = Color32<255, 255, 255>::Value;
-// Font
-static const int FONT_SIZE_MAIN_TEXT = 33;
-static const int FONT_SIZE_SUB_TEXT = 30;
-// Control Position & Size
-static const int X_TABLE_VIEW_LIST = 0;
-static const int Y_TABLE_VIEW_LIST = 250;
-static const int X_MAIN_TEXT_LABEL = 80;
-static const int Y_MAIN_TEXT_LABEL = 0;
-static const int H_MAIN_TEXT_LABEL = 70;
-static const int X_SUB_TEXT_LABEL = 95;
-static const int Y_SUB_TEXT_LABEL = H_MAIN_TEXT_LABEL - 10;
-static const int H_SUB_TEXT_LABEL = 45;
-static const int X_MAIN_TEXT_IMAGE = 40;
-static const int Y_MAIN_TEXT_IMAGE = 9;
-static const int W_MAIN_TEXT_IMAGE = 50;
-static const int H_MAIN_TEXT_IMAGE = 50;
-static const int H_TABLE_VIEW_LIST_LINE = H_MAIN_TEXT_LABEL + H_SUB_TEXT_LABEL+ 20;
-
-
-DetailForm::DetailForm(void)
- : __pPopup(null)
- , __pTextBox(null)
- , __pInfoList(null)
- , __pTableList(null)
- , __pList(null)
- , __pShowAllImageLable(null)
- , __pPreInstallLabel(null)
- , __pHome(null)
- , __pHeaderImage(null)
- , __pDropDown(null)
- , __pDropDown2(null)
- , __pRollUp(null)
- , __pCheckImage(null)
- , __pTargetPackageInfo(null)
- , __pPrivilegeList(null)
- , __pHeader(null)
- , __itemCount(0)
- , __isInstalled(false)
- , __isUpdatable(false)
- , __pPackageAppInfo(null)
-{
-}
-
-DetailForm::~DetailForm(void)
-{
-}
-
-result
-DetailForm::Initialize()
-{
- result r = Form::Construct(L"IDL_DETAIL_FORM");
-
- return r;
-}
-
-void
-DetailForm::CreateTableView(void)
-{
- Rectangle rect = GetClientAreaBounds();
- __pList = new (std::nothrow) GroupedTableView();
- __pList->Construct(Rectangle(X_TABLE_VIEW_LIST, Y_TABLE_VIEW_LIST, rect.width, rect.height - (__pTextBox->GetY() + __pTextBox->GetHeight())), true, TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT);
- __pList->SetItemProvider(this);
- __pList->AddGroupedTableViewItemEventListener(*this);
-
- AddControl(__pList);
-// __pList->UpdateTableView();
-}
-
-void
-DetailForm::ConfirmPopupOn()
-{
- __pPopup->SetShowState(true);
- __pPopup->Show();
-}
-
-result
-DetailForm::GetDescriptionInfo(int groupIndex, int itemIndex, String& name, String& description)
-{
- String value;
- PrivilegeInfo* pPrivilege = null;
-
- TryReturn(groupIndex == 0, E_FAILURE, "Group Index Error");
-
- if (__pPrivilegeList != null){
- pPrivilege = dynamic_cast <PrivilegeInfo*>(__pPrivilegeList->GetAt(itemIndex));
- }
- else{
- AppLogException("__pPrivilegeList is empty");
- }
-
- if (pPrivilege != null){
- pPrivilege->GetDisplayName().IsEmpty() == false ? name = pPrivilege->GetDisplayName() : name = "";
- pPrivilege->GetDescription().IsEmpty() == false ? description = pPrivilege->GetDescription() : description = "";
- AppLog("name : %ls", name.GetPointer());
- AppLog("description : %ls", description.GetPointer());
- }
-
- return E_SUCCESS;
-}
-
-result
-DetailForm::ParsingTPK()
-{
- PackageManager* pMgr = PackageManager::GetInstance();
- String packageId;
- String localVersion;
-
- __targetFilePath = static_cast<InstallerApp*>(UiApp::GetInstance())->GetPackagePath();
- // 2. parsing tpk file with file-path
- __pTargetPackageInfo = pMgr->GetPackageInfoFromFileN(__targetFilePath);
- TryReturn(__pTargetPackageInfo != null, GetLastResult(), "[%s] Package Path is not delivered", GetErrorMessage(GetLastResult()))
-
- String UNTRUSTED_SOURCE = L"UnknownSrc";
- if (__pTargetPackageInfo->GetStoreClientId() != null || __pTargetPackageInfo->GetStoreClientId().IsEmpty()){
- AppLogException("Store Client id is Empty");
- }
- else if (__pTargetPackageInfo->GetStoreClientId().CompareTo(UNTRUSTED_SOURCE) == 0){
- __isUntrustedSource = true;
- }
- else{
- AppLog("Store resource id : %ls", __pTargetPackageInfo->GetStoreClientId().GetPointer());
- }
-
- __pHeader->SetTitleText(__pTargetPackageInfo->GetDisplayName());
- packageId = __pTargetPackageInfo->GetId().GetPointer();
- TryReturn(packageId.IsEmpty() == false, E_FAILURE, "pakcageId is Empty!!!");
-
- // Get Main Menu Icon of Application
- if (__pTargetPackageInfo->GetId().IsEmpty())
- {
- AppLogException("AppId Is Empty");
- }
- else
- {
- __pPackageAppInfo = __pTargetPackageInfo->GetPackageAppInfoN(__pTargetPackageInfo->GetMainAppId());
- AppLog("[%s], GetPackageAppInfo", GetErrorMessage(GetLastResult()));
- if (__pPackageAppInfo == null){
- AppLogException("package app info is empty");
- }
- else if (__pPackageAppInfo->GetAppMenuIconN() == null){
- AppLogException("[%s]App Main Icon is empty", GetErrorMessage(GetLastResult()));
- }
- else{
- AppLog("main icon set success");
- __pHeader->SetTitleIcon(__pPackageAppInfo->GetAppMenuIconN());
- }
- }
-
- // is the package already installed on local
- __isInstalled = false;
-
- __pPrivilegeList = __pTargetPackageInfo->GetPrivilegeListN();
- result res = GetLastResult();
- TryReturn(res == E_SUCCESS, res, "[%s] GetPrivilegeListN() error occurred", GetErrorMessage(res));
-
- if (__pPrivilegeList)
- {
- __itemCount = __pPrivilegeList->GetCount();
- AppLog("item count : %d ", __itemCount);
- }
- else{
- AppLog("No Privilege List");
- }
-
- return E_SUCCESS;
-}
-
-
-result
-DetailForm::ResizeSubText(int lineCount, TableViewItem* pItem, TextBox* pSubTextBox)
-{
- result res = E_SUCCESS;
- TryReturn(lineCount > 1, E_SUCCESS, "");
-
- pItem->SetSize(pItem->GetWidth(), pItem->GetHeight() + H_SUB_TEXT_LABEL * (lineCount - 1));
- pSubTextBox->SetSize(pSubTextBox->GetWidth(), H_SUB_TEXT_LABEL * lineCount);
-
- return res;
-}
-
-void
-DetailForm::SetInfoTextBox()
-{
- String installMsg = L"Do you want to install this application?\n\nAllow this application to:";
- if (__isUntrustedSource){
- installMsg.Append(L"\n\n(Unknown sources)");
- }
- __pTextBox = static_cast<TextBox *>(GetControl(L"IDC_INFO_TEXTBOX"));
- __pTextBox->SetText(installMsg);
- __pTextBox->SetColor(TEXT_BOX_STATUS_NORMAL, UI_COLOR_WHITE);
- __pTextBox->Invalidate(false);
-}
-
-void
-DetailForm::SetListItemImage(AppResource* pAppResource)
-{
- __pHome = pAppResource->GetBitmapN(LIST_IMAGE_PATH1);
- __pDropDown = pAppResource->GetBitmapN(DROP_DOWN_IMAGE);
- __pHeaderImage = pAppResource->GetBitmapN(HEADER_IMAGE);
- __pCheckImage = pAppResource->GetBitmapN(ELM_CHECK_IMAGE);
- __pRollUp = pAppResource->GetBitmapN(ROLL_UP_IMAGE);
-}
-
-
-void
-DetailForm::SetPopupControl()
-{
- RelativeLayout popupLayout;
- popupLayout.Construct();
-
- int popupWidth = GetClientAreaBounds().width - GAP_BETWEEN_FORM_POPUP * 2;
- __pPopup = new (std::nothrow) Popup();
- __pPopup->Construct(popupLayout, true, Dimension(popupWidth, UI_H_POPUP));
- __pPopup->SetTitleText(L"Install Application");
- __pPopup->SetTitleTextColor(Color::GetColor(COLOR_ID_BLACK));
-
- Label* popUpLabel = new (std::nothrow) Label();
- popUpLabel->Construct(Rectangle(X_POPUP_LABLE, Y_POPUP_LABLE, __pPopup->GetBounds().width - GAP_BETWEEN_POPUP_LABEL*2, H_POPUP_LABLE), L"Application installation will be start.");
- popUpLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
- popUpLabel->SetTextVerticalAlignment(ALIGNMENT_TOP);
-
- TextBox* pTextBox = new (std::nothrow) TextBox();
- pTextBox->Construct(Rectangle(X_POPUP_LABLE, Y_POPUP_LABLE, __pPopup->GetBounds().width - GAP_BETWEEN_POPUP_LABEL*2, UI_H_POPUP - H_POPUP_TITLE), TEXT_BOX_BORDER_NONE);
- pTextBox->SetText(L"Application is already installed\n\nInstallation will be closed.");
- pTextBox->SetTextSize(33);
-
- Button* pButtonInstall = new (std::nothrow) Button();
- int buttonWidth = __pPopup->GetBounds().width/2 - GAP_BETWEEN_POPUP_BUTTON;
- pButtonInstall->Construct(Rectangle(GetClientAreaBounds().x, pTextBox->GetBounds().y + H_TEXT_LINE, buttonWidth , UI_H_POPUP_BUTTON), L"Install");
- pButtonInstall->SetActionId(ID_BUTTON_INSTALL_POPUP);
- pButtonInstall->AddActionEventListener(*this);
-
- Button* pButtonClose = new (std::nothrow) Button();
- pButtonClose->Construct(Rectangle(GetClientAreaBounds().x + buttonWidth + GAP_BETWEEN_BUTTON , pTextBox->GetBounds().y + H_TEXT_LINE, __pPopup->GetBounds().width/2 - 30, UI_H_POPUP_BUTTON), L"Close");
- pButtonClose->SetActionId(ID_BUTTON_CLOSE_POPUP);
- pButtonClose->AddActionEventListener(*this);
-
- InstallerApp* pUiApp = static_cast<InstallerApp*>(UiApp::GetInstance());
- if (__targetFilePath.IsEmpty() || pUiApp->IsValidAccess() == false || !__isValidPackage)
- {
- if (!__isValidPackage){
- pTextBox->SetText(L"Invalid Package.");
- }
- else{
- pTextBox->SetText(L"Wrong Execution.");
- }
- __pPopup->AddControl(pTextBox);
- pButtonClose->SetPosition(X_CANCEL_BTN_ALONE, pButtonClose->GetY());
- __pPopup->AddControl(pButtonClose);
-
- popupLayout.SetRelation(*pTextBox, __pPopup, RECT_EDGE_RELATION_LEFT_TO_LEFT);
- popupLayout.SetRelation(*pTextBox, __pPopup, RECT_EDGE_RELATION_TOP_TO_TOP);
- popupLayout.SetMargin(*pTextBox, 30, 0, 10, 0);
-
- popupLayout.SetRelation(*pButtonClose, __pPopup, RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM);
- popupLayout.SetCenterAligned(*pButtonClose, CENTER_ALIGN_HORIZONTAL);
- popupLayout.SetMargin(*pButtonClose, 0, 16, 0, 20);
- }
- else if (__isInstalled && !__isUpdatable)
- {
- __pPopup->AddControl(pTextBox);
- pButtonClose->SetPosition(X_CANCEL_BTN_ALONE, pButtonClose->GetY());
- __pPopup->AddControl(pButtonClose);
-
- popupLayout.SetRelation(*pTextBox, __pPopup, RECT_EDGE_RELATION_LEFT_TO_LEFT);
- popupLayout.SetRelation(*pTextBox, __pPopup, RECT_EDGE_RELATION_TOP_TO_TOP);
- popupLayout.SetMargin(*pTextBox, 30, 0, 10, 0);
-
- popupLayout.SetRelation(*pButtonClose, __pPopup, RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM);
- popupLayout.SetCenterAligned(*pButtonClose, CENTER_ALIGN_HORIZONTAL);
- popupLayout.SetMargin(*pButtonClose, 0, 16, 0, 20);
- }
- else
- {
- __pPopup->AddControl(popUpLabel);
- __pPopup->AddControl(pButtonInstall);
- __pPopup->AddControl(pButtonClose);
-
- popupLayout.SetRelation(*popUpLabel, __pPopup, RECT_EDGE_RELATION_LEFT_TO_LEFT);
- popupLayout.SetRelation(*popUpLabel, __pPopup, RECT_EDGE_RELATION_TOP_TO_TOP);
- popupLayout.SetMargin(*popUpLabel, 30, 0, 10, 0);
-
- popupLayout.SetRelation(*pButtonInstall, __pPopup, RECT_EDGE_RELATION_LEFT_TO_LEFT);
- popupLayout.SetRelation(*pButtonInstall, __pPopup, RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM);
- popupLayout.SetMargin(*pButtonInstall, 16, 0, 0, 20);
-
- popupLayout.SetRelation(*pButtonClose, __pPopup, RECT_EDGE_RELATION_RIGHT_TO_RIGHT);
- popupLayout.SetRelation(*pButtonClose, __pPopup, RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM);
- popupLayout.SetMargin(*pButtonClose, 0, 16, 0, 20);
- }
- popupLayout.Update();
-
-}
-
-result
-DetailForm::OnInitializing(void)
-{
- // 1. get initial variable
- result r = E_SUCCESS;
- AppResource* pAppResource = Application::GetInstance()->GetAppResource();
-
- // 2. Set Image Control
- SetListItemImage(pAppResource);
-
- // 3. Header Item set
- __pHeader = GetHeader();
- __pHeader->SetTitleIcon(__pHeaderImage);
-
- // 4. Footer Item Set
- FooterItem footerItem1;
- footerItem1.Construct(IDA_INSTALL_BTN);
- footerItem1.SetText(L"Install");
- Footer* pFooter = GetFooter();
- SetFormBackEventListener(this);
- pFooter->AddActionEventListener(*this);
- pFooter->AddItem(footerItem1);
-
- // 5. initialize variable
- __itemCount = 0;
- __isUpdatable = false;
- __isInstalled = false;
- __isValidPackage = true;
-
- // 6. parsing tpk and set validation value
- r = ParsingTPK();
- if (r != E_SUCCESS)
- {
- __isValidPackage = false;
- }
- // 7. set confirmation Popup for installation
- SetPopupControl();
-
- // 8. draw other body control contents
- SetInfoTextBox();
- CreateTableView();
-
- // 9. draw confirmation Popup for installation
- ConfirmPopupOn();
- // 10. show controls
- __pTextBox->SetShowState(false);
- __pList->SetShowState(false);
-
- Invalidate(true);
- return r;
-}
-
-result
-DetailForm::OnTerminating(void)
-{
- result r = E_SUCCESS;
- delete __pTargetPackageInfo;
- delete __pPrivilegeList;
- delete __pPackageAppInfo;
-
- return r;
-}
-
-void
-DetailForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
-{
- SceneManager* pSceneManager = SceneManager::GetInstance();
- switch (actionId)
- {
- case IDA_INSTALL_BTN:
- {
- TryReturnVoid(__pTargetPackageInfo, "target package info is empty");
-
- IList* pArgs = null;
- pArgs = new (std::nothrow) ArrayList();
- pArgs->Add(*(new (std::nothrow) String(__pTargetPackageInfo->GetDisplayName())));
- pArgs->Add(__targetFilePath);
- pSceneManager->GoForward(ForwardSceneTransition(SCENE_INSTALL_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
- }
- break;
- case ID_BUTTON_CLOSE_POPUP:
- {
- __pPopup->SetShowState(false);
- Invalidate(true);
- App::GetInstance()->Terminate();
- }
- break;
- case ID_BUTTON_INSTALL_POPUP:
- {
- __pPopup->SetShowState(false);
- __pTextBox->SetShowState(true);
- __pList->SetShowState(true);
- Invalidate(true);
- }
- break;
- }
-}
-void
-DetailForm::OnFormBackRequested(Form& source)
-{
- UiApp* pApp = UiApp::GetInstance();
- AppAssert(pApp);
- pApp->Terminate();
-}
-
-
-void
-DetailForm::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
-{
-}
-
-void
-DetailForm::OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
-{
-}
-
-void
-DetailForm::OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::GroupedTableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewContextItem* pContextItem, bool activated)
-{
-}
-int
-DetailForm::GetGroupCount(void)
-{
- AppLog(" ========== group count ===========");
- return 1;
-}
-
-int
-DetailForm::GetItemCount(int groupIndex)
-{
- AppLog(" ========== item count ===========");
- return __itemCount;
-}
-
-Tizen::Ui::Controls::TableViewGroupItem*
-DetailForm::CreateGroupItem(int groupIndex, int itemWidth)
-{
- AppLog(" ========== create group ===========");
- TableViewGroupItem* pItem;
- pItem = new (std::nothrow) TableViewGroupItem();
- pItem->Construct(Dimension(itemWidth, 10));
- return pItem;
-}
-
-Tizen::Ui::Controls::TableViewItem*
-DetailForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
-{
- AppLog(" ========== create group ===========");
- String name;
- String description;
- TableViewItem* pItem = new (std::nothrow) TableViewItem();
- Rectangle rect = GetClientAreaBounds();
-
- // Get Title and Description
- GetDescriptionInfo(groupIndex, itemIndex, name, description);
-
- pItem->Construct(Tizen::Graphics::Dimension(rect.width, H_TABLE_VIEW_LIST_LINE), TABLE_VIEW_ANNEX_STYLE_NORMAL);
- TryReturn(groupIndex == 0, null, "");
-
- if (itemIndex < GetItemCount(groupIndex))
- {
- Label* pMainTextLable = null;
- pMainTextLable = new (std::nothrow) Label();
-
- pMainTextLable->Construct(Rectangle(X_MAIN_TEXT_LABEL, Y_MAIN_TEXT_LABEL, pItem->GetWidth() - X_MAIN_TEXT_LABEL, H_MAIN_TEXT_LABEL), name);
-
- Label* pImageLable = null;
- TextBox* pSubTextBox = new (std::nothrow) TextBox();
-
- pImageLable = new (std::nothrow) Label();
-
- pMainTextLable->SetTextConfig(FONT_SIZE_MAIN_TEXT, LABEL_TEXT_STYLE_BOLD);
- pMainTextLable->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
- pMainTextLable->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
-
- pImageLable->Construct(Rectangle(X_MAIN_TEXT_IMAGE, Y_MAIN_TEXT_IMAGE, W_MAIN_TEXT_IMAGE, H_MAIN_TEXT_IMAGE), L"");
- pImageLable->SetBackgroundBitmap(*__pCheckImage);
-
- pSubTextBox->Construct(Rectangle(X_SUB_TEXT_LABEL, Y_SUB_TEXT_LABEL, pItem->GetWidth() - X_SUB_TEXT_LABEL, H_SUB_TEXT_LABEL), TEXT_BOX_BORDER_NONE);
- pSubTextBox->SetText(description);
- pSubTextBox->SetTextSize(FONT_SIZE_SUB_TEXT);
- pSubTextBox->SetColor(TEXT_BOX_STATUS_NORMAL, UI_COLOR_WHITE2);
- pSubTextBox->SetColor(TEXT_BOX_STATUS_HIGHLIGHTED, UI_COLOR_WHITE2);
- pSubTextBox->SetColor(TEXT_BOX_STATUS_DISABLED, UI_COLOR_WHITE2);
- ResizeSubText(pSubTextBox->GetLineCount(), pItem, pSubTextBox);
-
- pItem->AddControl(pMainTextLable);
- pItem->AddControl(pImageLable);
- pItem->AddControl(pSubTextBox);
-
- return pItem;
- }
- else{
- return null;
- }
-}
-
-bool
-DetailForm::DeleteGroupItem(int groupIndex, TableViewGroupItem* pItem)
-{
- delete pItem;
-
- return true;
-}
-
-void
-DetailForm::UpdateGroupItem(int groupIndex, Tizen::Ui::Controls::TableViewGroupItem* pItem)
-{
-
-}
-
-bool
-DetailForm::DeleteItem(int groupIndex, int itemIndex, TableViewItem* pItem)
-{
- delete pItem;
-
- return true;
-}
-
-void
-DetailForm::UpdateItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewItem* pItem)
-{
-
-}
-
-int
-DetailForm::GetDefaultGroupItemHeight(void)
-{
- return 60;
-}
-
-int
-DetailForm::GetDefaultItemHeight(void)
-{
- return 150;
-}
-
-void
-DetailForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
- const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
-{
-}
-
-void
-DetailForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
- const Tizen::Ui::Scenes::SceneId& nextSceneId)
-{
-}
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstAppInstall.cpp
- * @brief: This file contains the implementation of IstAppInstall class, which acts as a
- * application installer processing a installation of application. This form also notify
- * completion of installation to IstAppInstallForm.
- */
-
-#include <FApp.h>
-#include <FUi.h>
-
-#include "IstInstallEventListener.h"
-#include "AppResourceId.h"
-
-using namespace Tizen::App;
-using namespace Tizen::App::Package;
-using namespace Tizen::Base::Collection;
-using namespace Tizen::Base;
-
-InstallEventListener::InstallEventListener() {
-
-}
-
-InstallEventListener::~InstallEventListener() {
-}
-
-void
-InstallEventListener::OnPackageInstallationResponseReceived(const PackageId& packageId, PackageInstallationResult installationResult)
-{
- IList* pArgs = null;
- Tizen::Ui::Controls::Form* pForm = null;
- if (UiApp::GetInstance() != null && UiApp::GetInstance()->GetFrame(APP_NAME) != null && UiApp::GetInstance()->GetFrame(APP_NAME)->GetCurrentForm() != null )
- {
- pForm = UiApp::GetInstance()->GetFrame(APP_NAME)->GetCurrentForm();
- }
- else
- {
- AppLogException("Get Form Instance Error");
- return;
- }
-
- switch(installationResult)
- {
- case PACKAGE_INSTALLATION_RESULT_SUCCESS:
- {
- String data = packageId;
-
- pArgs = new (std::nothrow) ArrayList();
- pArgs->Add(*(new (std::nothrow) String(data)));
- pForm->SendUserEvent(INSTALL_SUCCESS_EVENT, pArgs);
-
- }
- break;
- case PACKAGE_INSTALLATION_RESULT_INVALID_PACKAGE:
- {
- AppLogException("== PACKAGE_INSTALLATION_RESULT_INVALID_PACKAGE == package id : %ls", packageId.GetPointer());
- pForm->SendUserEvent(INSTALL_FAIL_INVALID_PACKAGE, pArgs);
- }
- break;
- case PACKAGE_INSTALLATION_RESULT_STORAGE_FULL:
- {
- AppLogException("== PACKAGE_INSTALLATION_RESULT_STORAGE_FULL == ");
- pForm->SendUserEvent(INSTALL_FAIL_STORAGE_FULL, pArgs);
- }
- break;
- default:
- {
- AppLogException("Installation result value is not proper");
- }
- break;
- }
-}
-
-void
-InstallEventListener::OnPackageInstallationInProgressResponseReceived(const PackageId& packageId, int progress)
-{
- IList* pArgs = null;
- String data = Integer::ToString(progress);
-
- pArgs = new (std::nothrow) ArrayList();
- pArgs->Add(*(new (std::nothrow) String(data)));
- if (UiApp::GetInstance() != null && UiApp::GetInstance()->GetFrame(APP_NAME) != null && UiApp::GetInstance()->GetFrame(APP_NAME)->GetCurrentForm() != null )
- {
- UiApp::GetInstance()->GetFrame(APP_NAME)->GetCurrentForm()->SendUserEvent(INSTALL_PROGRESS_VALUE, pArgs);
- }
-
-}
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstAppInstallForm.cpp
- * @brief: This file contains the implementation of IstAppInstallForm class, which acts as a
- * application installer displaying a progress of installation of application. This form also open
- * target application or close installer itself.
- */
-#include <FApp.h>
-#include "IstInstallForm.h"
-#include "IstInstallEventListener.h"
-#include "IstInstallerApp.h"
-#include "AppResourceId.h"
-
-using namespace Tizen::Base;
-using namespace Tizen::App;
-using namespace Tizen::App::Package;
-using namespace Tizen::Base::Collection;
-using namespace Tizen::Graphics;
-using namespace Tizen::Ui;
-using namespace Tizen::Ui::Controls;
-using namespace Tizen::Ui::Scenes;
-
-static const int ID_FOOTER_OPEN = 101;
-static const int ID_BUTTON_CLOSE_POPUP = 103;
-static const wchar_t* POPUP_MSESSAGE_SUCCESS = L"Installation success";
-static const wchar_t* POPUP_MSESSAGE_FAIL = L"Installation fail";
-
-InstallForm::InstallForm(void)
- : __pTimer(null)
- , __pHeader(null)
- , __pProgressLabel(null)
- , __progressImageLabel(null)
- , __pProgress(null)
- , __pPopup(null)
- , __pPopupTextBox(null)
- , __pProgressImage(null)
- , __pProgressEfImage(null)
- , __pAppManager(null)
- , __timerCounter(0)
- , __isInstalling(false)
-{
-}
-
-InstallForm::~InstallForm(void)
-{
-}
-
-result
-InstallForm::Initialize()
-{
- result r = Form::Construct(L"IDL_APP_INSTALL_FORM");
-
- return r;
-}
-
-void
-InstallForm::AddFooterItem()
-{
- Footer* pFooter = GetFooter();
-
- FooterItem footerItem1;
- footerItem1.Construct(ID_FOOTER_OPEN);
- footerItem1.SetText(L"Open");
-
- pFooter->AddItem(footerItem1);
- pFooter->AddActionEventListener(*this);
-}
-
-void
-InstallForm::InstallApplication()
-{
- PackageManager* packManager = PackageManager::GetInstance();
- String packagePath = static_cast<InstallerApp*>(UiApp::GetInstance())->GetPackagePath();
- PackageInfo* pTargetPackageInfo;
- pTargetPackageInfo = packManager->GetPackageInfoFromFileN(packagePath);
- String packageId = pTargetPackageInfo->GetId();
-
-
- result res;
-
- if (packagePath.IsEmpty()){
- AppLogException("No Tpk File Path");
- SetPopupValue(L"Installation Fail", L"No Tpk File Path");
- DisplayPopup();
- return;
- }
-
- res = packManager->InstallPackage(packageId, packagePath, __pInstallListener);
- if (res != E_SUCCESS)
- {
- TryLog(res != E_INVALID_ARG, "E_INVALID_ARG");
- TryLog(res != E_SYSTEM, "E_SYSTEM");
- TryLog(res != E_PRIVILEGE_DENIED, "E_PRIVILEGE_DENIED");
- }
- else{
- AppLog("INSTALLTAION CALL SUCCESS");
- }
-}
-
-
-void
-InstallForm::SetPopupValue(String title, String content)
-{
- __pPopup->SetTitleText(title);
- __pPopupTextBox->SetText(content);
-}
-
-void
-InstallForm::DisplayPopup()
-{
- __pPopup->SetShowState(true);
- __pPopup->Show();
-}
-void
-InstallForm::SetPopupControl()
-{
- int popupWidth = GetClientAreaBounds().width - GAP_BETWEEN_FORM_POPUP * 2;
- __pPopup = new (std::nothrow) Popup();
- __pPopup->Construct(true, Dimension(popupWidth, UI_H_POPUP));
- __pPopup->SetTitleTextColor(Color::GetColor(COLOR_ID_BLACK));
-
- __pPopupTextBox = new (std::nothrow) TextBox();
- __pPopupTextBox->Construct(Rectangle(X_POPUP_LABLE, Y_POPUP_LABLE, __pPopup->GetBounds().width - GAP_BETWEEN_POPUP_LABEL*2, UI_H_POPUP - H_POPUP_TITLE), TEXT_BOX_BORDER_NONE);
- __pPopupTextBox->SetTextSize(33);
-
- Button* pButtonClose = new (std::nothrow) Button();
- pButtonClose->Construct(Rectangle(GetClientAreaBounds().x, __pPopupTextBox->GetBounds().y + H_TEXT_LINE, __pPopup->GetBounds().width/2 - 30, UI_H_POPUP_BUTTON), L"Close");
- pButtonClose->SetActionId(ID_BUTTON_CLOSE_POPUP);
- pButtonClose->AddActionEventListener(*this);
-
- __pPopup->AddControl(__pPopupTextBox);
- pButtonClose->SetPosition(X_CANCEL_BTN_ALONE, pButtonClose->GetY());
- __pPopup->AddControl(pButtonClose);
-}
-
-result
-InstallForm::OnInitializing(void)
-{
- result r = E_SUCCESS;
-
- __pAppManager = AppManager::GetInstance();
- __pInstallListener = new (std::nothrow) InstallEventListener();
-
- SetFormBackEventListener(this);
-
- // init variable
- __timerCounter = 0;
- __isInstalling = true;
-
- // Timer
- __pTimer = new (std::nothrow) Timer();
- __pTimer->Construct(*this);
-
- __pProgress = static_cast<Progress*>(GetControl(L"IDF_PROGRESS", true));
- __pProgressLabel = static_cast<Label*>(GetControl(L"IDC_PROGRESS_LABEL", true));
-
-
- // Install Confirmation Popup
- SetPopupControl();
-
- InstallApplication();
-
- return r;
-}
-
-result
-InstallForm::OnTerminating(void)
-{
- result r = E_SUCCESS;
-
- delete __pTimer;
- delete __pPackageAppInfo;
-
- return r;
-}
-
-
-void
-InstallForm::OnTimerExpired(Timer& timer)
-{
- __timerCounter++;
- // wait closing install app until new app is running for smooth view change
- if (!__isInstalling)
- {
- if (__pAppManager->IsRunning(__packageOperationId))
- {
- __pTimer->Cancel();
- App::GetInstance()->Terminate();
- }
- return;
- }
-}
-
-void
-InstallForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
-{
- if (requestId == INSTALL_SUCCESS_EVENT)
- {
- __isInstalling = false;
- String *packageId = (String*)pArgs->GetAt(0);
- TryReturnVoid(!(packageId->IsEmpty()), "package id not delivered from listener");
-
- PackageInfo* pLocalPackageInfo;
- PackageManager* pMgr = PackageManager::GetInstance();
- TryReturnVoid(pMgr != null, "[PackageManager::GetInstance() return null] package manager instance get error")
-
- pLocalPackageInfo = pMgr->GetPackageInfoN(*packageId);
- TryReturnVoid(pLocalPackageInfo != null, "[PackageManager::GetPackageInfoN() return null] get package info error")
-
- __packageOperationId = pLocalPackageInfo->GetMainAppId();
- AppLog("__packageOperationId ; %ls", __packageOperationId.GetPointer());
-
- AddFooterItem();
- __pProgressLabel->SetText(POPUP_MSESSAGE_SUCCESS);
-
- }
- else if (requestId == INSTALL_PROGRESS_VALUE)
- {
- String *str_progress_value = (String*)pArgs->GetAt(0);
- TryReturnVoid(!(str_progress_value->IsEmpty()), "Progress Value Receiving Error" );
-
- int percentValue = 0;
- TryReturnVoid(Integer::Parse(*str_progress_value, percentValue) == E_SUCCESS, "Progress Value Parsing Error");
-
- __pProgress->SetValue(percentValue);
- }
- else
- {
- __isInstalling = false;
- if (requestId == INSTALL_FAIL_INVALID_PACKAGE)
- {
- SetPopupValue(POPUP_MSESSAGE_FAIL, L"Invalid Package Install Error");
- }
- else if (requestId == INSTALL_FAIL_STORAGE_FULL)
- {
- SetPopupValue(POPUP_MSESSAGE_FAIL, L"Storage Full Install Error");
- }
- else
- {
- AppLogException("error event request ID sent by EndpointThread");
- SetPopupValue(POPUP_MSESSAGE_FAIL, L"Return Value is Error");
- }
- DisplayPopup();
- }
- Invalidate(true);
-}
-
-
-void
-InstallForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
-{
- switch(actionId)
- {
- case ID_FOOTER_OPEN:
- {
- AppManager* pAppManager = AppManager::GetInstance();
-
- result res = pAppManager->LaunchApplication(__packageOperationId);
- AppLog("launch result : %s", GetErrorMessage(res));
- // set timer for smooth view change
- __pTimer->StartAsRepeatable(500);
- }
- break;
- case ID_BUTTON_CLOSE_POPUP:
- {
- __pPopup->SetShowState(false);
- Invalidate(true);
- App::GetInstance()->Terminate();
- }
- break;
- }
-}
-
-void
-InstallForm::OnFormBackRequested(Form& source)
-{
- TryReturnVoid(!__isInstalling, null);
-
- App::GetInstance()->Terminate();
-}
-
-
-void
-InstallForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
- const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
-{
- AppResource* pAppResource = Application::GetInstance()->GetAppResource();
- Bitmap* pHeaderImage = pAppResource->GetBitmapN(HEADER_IMAGE);
-
- String *packageName = (String*)pArgs->GetAt(0);
- String *filePath = (String*)pArgs->GetAt(1);
-
- __pHeader = GetHeader();
- __pHeader->SetTitleText(*packageName);
- __pHeader->SetTitleIcon(pHeaderImage);
-
- // Get Main Menu Icon of Application
- AppLog("filePath : %ls", filePath->GetPointer());
- PackageInfo* pTargetPackageInfo;
- PackageManager* pMgr = PackageManager::GetInstance();
- pTargetPackageInfo = pMgr->GetPackageInfoFromFileN(*filePath);
- if (pTargetPackageInfo->GetId().IsEmpty())
- {
- AppLogException("AppId Is Empty");
- }
- else
- {
- __pPackageAppInfo = pTargetPackageInfo->GetPackageAppInfoN(pTargetPackageInfo->GetMainAppId());
- AppLog("[%s], GetPackageAppInfo", GetErrorMessage(GetLastResult()));
- if (__pPackageAppInfo == null){
- AppLogException("package app info is empty");
- }
- else if (__pPackageAppInfo->GetAppMenuIconN() == null){
- AppLogException("[%s]App Main Icon is empty", GetErrorMessage(GetLastResult()));
- }
- else{
- AppLog("main icon set!!");
- __pHeader->SetTitleIcon(__pPackageAppInfo->GetAppMenuIconN());
- }
- }
-}
-
-void
-InstallForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
- const Tizen::Ui::Scenes::SceneId& nextSceneId)
-{
-}
-
-
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstInstallerApp.cpp
- * @brief: This file contains the declaration of InstallerApp Class,
- * which provides basic features necessary to define an UiApp.
- */
-
-#include "IstInstallerApp.h"
-#include "IstMainFrame.h"
-#include "AppResourceId.h"
-
-using namespace Tizen::App;
-using namespace Tizen::Base;
-using namespace Tizen::System;
-using namespace Tizen::Ui;
-using namespace Tizen::Ui::Controls;
-using namespace Tizen::Ui::Scenes;
-
-
-InstallerApp::InstallerApp(void)
- : __isValidAccess(false)
-{
-}
-
-InstallerApp::~InstallerApp(void)
-{
-}
-
-UiApp*
-InstallerApp::CreateInstance(void)
-{
- // Create the instance through the constructor.
- return new (std::nothrow) InstallerApp();
-}
-
-String
-InstallerApp::GetPackagePath()
-{
- return __packagePath;
-}
-
-bool
-InstallerApp::IsValidAccess()
-{
- return __isValidAccess;
-}
-
-void
-InstallerApp::SetUri(String uriData)
-{
- __uriData.Clear();
- __uriData.Append(uriData);
-}
-
-void
-InstallerApp::SetPackagePath(String packagePath)
-{
- __packagePath.Clear();
- __packagePath.Append(packagePath);
-}
-
-bool
-InstallerApp::OnAppInitializing(AppRegistry& appRegistry)
-{
- AppControlProviderManager* pProviderMgr = AppControlProviderManager::GetInstance();
- pProviderMgr->SetAppControlProviderEventListener(this);
-
- __isValidAccess = false;
-
- return true;
-}
-
-bool
-InstallerApp::OnAppInitialized(void)
-{
- // Create a Frame
- MainFrame* pMainFrame = new (std::nothrow) MainFrame();
- pMainFrame->Construct();
- pMainFrame->SetName(APP_NAME);
- AddFrame(*pMainFrame);
-
- return true;
-}
-
-bool
-InstallerApp::OnAppWillTerminate(void)
-{
- return true;
-}
-
-bool
-InstallerApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
-{
- return true;
-}
-
-void
-InstallerApp::OnForeground(void)
-{
-}
-
-void
-InstallerApp::OnBackground(void)
-{
-}
-
-void
-InstallerApp::OnLowMemory(void)
-{
-}
-
-void
-InstallerApp::OnBatteryLevelChanged(BatteryLevel batteryLevel)
-{
-}
-
-void
-InstallerApp::OnScreenOn(void)
-{
-}
-
-void
-InstallerApp::OnScreenOff(void)
-{
-}
-void
-InstallerApp::OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
- const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType,
- const Tizen::Base::Collection::IMap* pExtraData)
-{
- String uriData;
-
- if (pUriData != NULL && !pUriData->IsEmpty())
- {
- if (!(*pUriData).StartsWith(FILE_URI_SCHEME, 0)){
- uriData = FILE_URI_SCHEME + (*pUriData);
- }
- else{
- uriData = (*pUriData);
- }
- AppLog("uri data : %ls", uriData.GetPointer());
-
- String filePath;
- // 1. parsing file uri data
- if (uriData.StartsWith(FILE_URI_SCHEME, 0)){
- __isValidAccess = true;
- uriData.SubString(String(FILE_URI_SCHEME).GetLength(), filePath);
- SetPackagePath(filePath);
- }
- else{
- __isValidAccess = false;
- }
- SetUri(uriData);
- }
- else{
- __isValidAccess = false;
- }
-}
-
-
+++ /dev/null
-//
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// 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.
-//
-
-/**
- * @file: IstMainFrame.cpp
- * @brief: This file contains implementation of IstMainFrame class, which is the main frame of the application.
- */
-
-#include "IstMainFrame.h"
-#include "IstFormFactory.h"
-#include "IstPanelFactory.h"
-
-using namespace Tizen::Base;
-using namespace Tizen::Ui;
-using namespace Tizen::Ui::Controls;
-using namespace Tizen::Ui::Scenes;
-
-const wchar_t* SCENE_INSTALL_FORM = L"Scene_InstallForm";
-
-MainFrame::MainFrame(void)
-{
-}
-
-MainFrame::~MainFrame(void)
-{
-}
-
-result
-MainFrame::OnInitializing(void)
-{
- // Prepare Scene management.
- SceneManager* pSceneManager = SceneManager::GetInstance();
- static FormFactory formFactory;
- static PanelFactory panelFactory;
- pSceneManager->RegisterFormFactory(formFactory);
- pSceneManager->RegisterPanelFactory(panelFactory);
- pSceneManager->RegisterScene(L"workflow");
-
- pSceneManager->RegisterScene(SCENE_INSTALL_FORM, FORM_INSTALL, L"");
-
- // Goto the scene.
- result r = pSceneManager->GoForward(SceneTransitionId(L"ID_SCNT_MAINSCENE"));
-
- return r;
-}
-
-result
-MainFrame::OnTerminating(void)
-{
- result r = E_SUCCESS;
-
- return r;
-}