added Tizen Smart Card Emulator
as companion for Android Smart Card Emulator to allow using the Accessories' HCE mode instead of the phone's hardware.
This commit is contained in:
455
TCardEmulator/.cproject
Normal file
455
TCardEmulator/.cproject
Normal file
@@ -0,0 +1,455 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||||
|
<cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1329109068">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1329109068" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||||
|
<externalSettings/>
|
||||||
|
<extensions>
|
||||||
|
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
</extensions>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<configuration artifactName="com.vsmartcard.tcardemulator" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1329109068" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
|
||||||
|
<folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1329109068." name="/" resourcePath="">
|
||||||
|
<toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1756955423" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
|
||||||
|
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1425984353" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
|
||||||
|
<builder autoBuildTarget="all" buildPath="${workspace_loc:/TCardEmulator}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1787680921" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1781797598" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
|
||||||
|
<tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.992648229" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
|
||||||
|
<option id="gnu.cpp.compiler.option.optimization.level.1129520531" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||||
|
<option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.2010611735" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1018206821" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.1405252491" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="wearable-2.3.1-device.core_llvm34.armel.core.app"/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.946474805" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-manager""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ewebkit2-0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/../wearable-2.3.1-device.core/usr/include/sap_client""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.342405019" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value=" -fPIE"/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
<listOptionValue builtIn="false" value="-mthumb"/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.cpp.compiler.option.include.paths.1591385432" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks.core.1872608313" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="Native_API"/>
|
||||||
|
<listOptionValue builtIn="false" value="samsung-sap"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.975801712" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.136102720" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
|
||||||
|
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.88517044" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
|
||||||
|
<option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.1660527581" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.785296696" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.560394667" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="wearable-2.3.1-device.core_llvm34.armel.core.app"/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1539152499" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-manager""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ewebkit2-0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/../wearable-2.3.1-device.core/usr/include/sap_client""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.658636378" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value=" -fPIE"/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
<listOptionValue builtIn="false" value="-mthumb"/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.c.compiler.option.include.paths.1290677103" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks.core.559620149" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="Native_API"/>
|
||||||
|
<listOptionValue builtIn="false" value="samsung-sap"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1649884941" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.631588111" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
|
||||||
|
<tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.274416099" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.26915008" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1831689991" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1614788795" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="-pie -lpthread "/>
|
||||||
|
<listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
<listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
|
||||||
|
<listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
|
||||||
|
<listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/../wearable-2.3.1-device.core/usr/lib""/>
|
||||||
|
<listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.cpp.link.option.paths.936736444" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1272058736" 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.548583527" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1033719303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="org.tizen.nativecore.tool.fnmapgen.1575192993" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1839833566" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.ast.1190183162" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.ast.cpp.1999988221" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1461814311" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.po.compiler.531213072" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1113764296" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
|
||||||
|
</toolChain>
|
||||||
|
</folderInfo>
|
||||||
|
<sourceEntries>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
||||||
|
</sourceEntries>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
</cconfiguration>
|
||||||
|
<cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1757677484">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1757677484" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||||
|
<externalSettings/>
|
||||||
|
<extensions>
|
||||||
|
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
</extensions>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<configuration artifactName="com.vsmartcard.tcardemulator" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1757677484" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
|
||||||
|
<folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.1757677484." name="/" resourcePath="">
|
||||||
|
<toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.589413647" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
|
||||||
|
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.251744671" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
|
||||||
|
<builder buildPath="${workspace_loc:/TCardEmulator}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1951900405" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.2072693820" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
|
||||||
|
<tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1078127376" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
|
||||||
|
<option id="gnu.cpp.compiler.option.optimization.level.508218667" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
||||||
|
<option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1054111679" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.178297827" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.898708869" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="wearable-2.3.1-emulator.core_llvm34.i386.core.app"/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.758147050" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-manager""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ewebkit2-0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1770251882" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value=" -fPIE"/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.cpp.compiler.option.include.paths.1632378439" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.cpp.compiler.option.frameworks.core.739969600" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="Native_API"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1974288354" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1627185536" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
|
||||||
|
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.839760477" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
|
||||||
|
<option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1452382994" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.1405555431" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.1453291800" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="wearable-2.3.1-emulator.core_llvm34.i386.core.app"/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1757524318" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-watch""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-manager""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ewebkit2-0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.306921511" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value=" -fPIE"/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.c.compiler.option.include.paths.2076085071" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
|
||||||
|
</option>
|
||||||
|
<option id="sbi.gnu.c.compiler.option.frameworks.core.733344345" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
|
||||||
|
<listOptionValue builtIn="false" value="Native_API"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2137682856" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1895617564" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
|
||||||
|
<tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.417969963" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.45803718" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
|
||||||
|
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1705005837" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
|
||||||
|
<option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1487027321" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
|
||||||
|
<listOptionValue builtIn="false" value="-pie -lpthread "/>
|
||||||
|
<listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
|
||||||
|
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
|
||||||
|
<listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
|
||||||
|
<listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
|
||||||
|
<listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
|
||||||
|
</option>
|
||||||
|
<option id="gnu.cpp.link.option.paths.1763248614" 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.441140653" 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.267643016" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1669348827" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="org.tizen.nativecore.tool.fnmapgen.1204270433" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1190612639" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.ast.332380071" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.ast.cpp.145826372" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.548341821" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.po.compiler.331671546" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
|
||||||
|
<tool id="org.tizen.nativecore.tool.sbi.edc.compiler.608912392" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
|
||||||
|
</toolChain>
|
||||||
|
</folderInfo>
|
||||||
|
<sourceEntries>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
|
||||||
|
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
||||||
|
</sourceEntries>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
</cconfiguration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<project id="TCardEmulator.org.tizen.nativecore.target.sbi.gcc45.app.1121012633" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="scannerConfiguration">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
<scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1329109068">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
<scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.1757677484">
|
||||||
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
</scannerConfigBuildInfo>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
<configuration configurationName="Release">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/TCardEmulator"/>
|
||||||
|
</configuration>
|
||||||
|
<configuration configurationName="Debug">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/TCardEmulator"/>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
</cproject>
|
||||||
4
TCardEmulator/.exportMap
Normal file
4
TCardEmulator/.exportMap
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
global: main;
|
||||||
|
local: *;
|
||||||
|
};
|
||||||
2
TCardEmulator/.gitignore
vendored
Normal file
2
TCardEmulator/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/Debug
|
||||||
|
/SA_Report
|
||||||
52
TCardEmulator/.project
Normal file
52
TCardEmulator/.project
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>TCardEmulator</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.tizen.nativecore.apichecker.apicheckerbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||||
|
<triggers>full,incremental,</triggers>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||||
|
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||||
|
<nature>org.tizen.nativecore.apichecker.apicheckernature</nature>
|
||||||
|
</natures>
|
||||||
|
<filteredResources>
|
||||||
|
<filter>
|
||||||
|
<id>1464204018079</id>
|
||||||
|
<name></name>
|
||||||
|
<type>26</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
<filter>
|
||||||
|
<id>1464204018094</id>
|
||||||
|
<name></name>
|
||||||
|
<type>6</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-name-matches-false-false-project_def.prop</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
</filteredResources>
|
||||||
|
</projectDescription>
|
||||||
12
TCardEmulator/.tproject
Normal file
12
TCardEmulator/.tproject
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<tproject xmlns="http://www.tizen.org/tproject">
|
||||||
|
<platforms>
|
||||||
|
<platform>
|
||||||
|
<name>wearable-2.3.1</name>
|
||||||
|
</platform>
|
||||||
|
</platforms>
|
||||||
|
<package>
|
||||||
|
<blacklist/>
|
||||||
|
<resFallback autoGen="true"/>
|
||||||
|
</package>
|
||||||
|
</tproject>
|
||||||
26
TCardEmulator/inc/tcardemulator.h
Normal file
26
TCardEmulator/inc/tcardemulator.h
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#ifndef __tcardemulator_H__
|
||||||
|
#define __tcardemulator_H__
|
||||||
|
|
||||||
|
#define LOG_TAG "tcardemulator"
|
||||||
|
|
||||||
|
#if !defined(PACKAGE)
|
||||||
|
#define PACKAGE "com.vsmartcard.tcardemulator"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
extern unsigned char *rapdu;
|
||||||
|
extern size_t rapdu_length;
|
||||||
|
extern gboolean rapdu_received;
|
||||||
|
|
||||||
|
#define HELLO_ACC_ASPID "/sample/hello"
|
||||||
|
#define HELLO_ACC_CHANNELID 104
|
||||||
|
|
||||||
|
void initialize_sap();
|
||||||
|
gboolean find_peers();
|
||||||
|
gboolean request_service_connection(void);
|
||||||
|
gboolean terminate_service_connection(void);
|
||||||
|
gboolean send_data(void *message, unsigned int message_len);
|
||||||
|
|
||||||
|
#endif /* __tcardemulator_H__ */
|
||||||
15
TCardEmulator/res/accessoryservices.xml
Normal file
15
TCardEmulator/res/accessoryservices.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<resources>
|
||||||
|
<application name="com.vsmartcard.tcardemulator">
|
||||||
|
<serviceProfile id="/sample/hello" name="HelloAccessoryConsumer"
|
||||||
|
role="consumer" version="1.0">
|
||||||
|
<supportedTransports>
|
||||||
|
<transport type="TRANSPORT_BT" />
|
||||||
|
<transport type="TRANSPORT_WIFI" />
|
||||||
|
</supportedTransports>
|
||||||
|
<serviceChannel id="104" dataRate="low" priority="low"
|
||||||
|
reliability="enable">
|
||||||
|
</serviceChannel>
|
||||||
|
</serviceProfile>
|
||||||
|
</application>
|
||||||
|
</resources>
|
||||||
BIN
TCardEmulator/shared/res/ic_launcher.png
Normal file
BIN
TCardEmulator/shared/res/ic_launcher.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
BIN
TCardEmulator/shared/res/tcardemulator.png
Normal file
BIN
TCardEmulator/shared/res/tcardemulator.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
23
TCardEmulator/shared/res/wallet.xml
Normal file
23
TCardEmulator/shared/res/wallet.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<application name="com.vsmartcard.tcardemulator">
|
||||||
|
<wallet>
|
||||||
|
<aid-group category="other">
|
||||||
|
<aid aid="A000000397425446590201" se_type="hce" unlock="false"
|
||||||
|
power="sleep" />
|
||||||
|
<aid aid="A0000003974254465902" se_type="hce" unlock="false"
|
||||||
|
power="sleep" />
|
||||||
|
<aid aid="A00000039742544659" se_type="hce" unlock="false" power="sleep" />
|
||||||
|
</aid-group>
|
||||||
|
<aid-group category="other">
|
||||||
|
<aid aid="F000000001" se_type="hce" unlock="false" power="sleep" />
|
||||||
|
</aid-group>
|
||||||
|
<aid-group category="other">
|
||||||
|
<aid aid="D27600012401" se_type="hce" unlock="false" power="sleep" />
|
||||||
|
<aid aid="D2760001240102000000000000010000" se_type="hce" unlock="false"
|
||||||
|
power="sleep" />
|
||||||
|
</aid-group>
|
||||||
|
<aid-group category="other">
|
||||||
|
<aid aid="A000000527210101" se_type="hce" unlock="false" power="sleep" />
|
||||||
|
</aid-group>
|
||||||
|
</wallet>
|
||||||
|
</application>
|
||||||
370
TCardEmulator/src/sap.c
Normal file
370
TCardEmulator/src/sap.c
Normal file
@@ -0,0 +1,370 @@
|
|||||||
|
#include "tcardemulator.h"
|
||||||
|
#include <sap.h>
|
||||||
|
#include <dlog.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#define HELLO_ACCESSORY_PROFILE_ID "/sample/hello"
|
||||||
|
#define HELLO_ACCESSORY_CHANNELID 104
|
||||||
|
|
||||||
|
struct priv {
|
||||||
|
sap_agent_h agent;
|
||||||
|
sap_socket_h socket;
|
||||||
|
sap_peer_agent_h peer_agent;
|
||||||
|
};
|
||||||
|
|
||||||
|
static gboolean agent_created = FALSE;
|
||||||
|
|
||||||
|
static struct priv priv_data = { 0 };
|
||||||
|
|
||||||
|
void on_peer_agent_updated(sap_peer_agent_h peer_agent,
|
||||||
|
sap_peer_agent_status_e peer_status,
|
||||||
|
sap_peer_agent_found_result_e result,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
switch (result) {
|
||||||
|
case SAP_PEER_AGENT_FOUND_RESULT_DEVICE_NOT_CONNECTED:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "device is not connected");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_PEER_AGENT_FOUND_RESULT_FOUND:
|
||||||
|
if (peer_status == SAP_PEER_AGENT_STATUS_AVAILABLE) {
|
||||||
|
priv_data.peer_agent = peer_agent;
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "Find Peer Success!!");
|
||||||
|
request_service_connection();
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent removed");
|
||||||
|
sap_peer_agent_destroy(peer_agent);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_PEER_AGENT_FOUND_RESULT_SERVICE_NOT_FOUND:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "service not found");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_PEER_AGENT_FOUND_RESULT_TIMEDOUT:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent find timed out");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_PEER_AGENT_FOUND_RESULT_INTERNAL_ERROR:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent find search failed");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void on_service_connection_terminated(sap_peer_agent_h peer_agent,
|
||||||
|
sap_socket_h socket,
|
||||||
|
sap_service_connection_result_e result,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
switch (result) {
|
||||||
|
case SAP_CONNECTION_TERMINATED_REASON_PEER_DISCONNECTED:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "disconnected because peer lost");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_TERMINATED_REASON_DEVICE_DETACHED:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "disconnected because device is detached");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// fall through
|
||||||
|
case SAP_CONNECTION_TERMINATED_REASON_UNKNOWN:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "disconnected because of unknown reason");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
sap_socket_destroy(priv_data.socket);
|
||||||
|
priv_data.socket = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void on_data_recieved(sap_socket_h socket,
|
||||||
|
unsigned short int channel_id,
|
||||||
|
unsigned int payload_length,
|
||||||
|
void *buffer,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "received data: %p, len:%d", buffer, payload_length);
|
||||||
|
unsigned char *p = realloc(rapdu, payload_length);
|
||||||
|
if (p) {
|
||||||
|
rapdu = p;
|
||||||
|
rapdu_length = payload_length;
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "not enough for storing data");
|
||||||
|
if (rapdu && rapdu_length >= 2) {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG,
|
||||||
|
"not enough memory, returning 0x6D00 as R-APDU");
|
||||||
|
rapdu[0] = 0x6D;
|
||||||
|
rapdu[1] = 0x00;
|
||||||
|
rapdu_length = 2;
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG,
|
||||||
|
"not enough memory, setting R-APDU to nothing");
|
||||||
|
rapdu_length = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rapdu_received = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void on_service_connection_created(sap_peer_agent_h peer_agent,
|
||||||
|
sap_socket_h socket,
|
||||||
|
sap_service_connection_result_e result,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
switch (result) {
|
||||||
|
case SAP_CONNECTION_SUCCESS:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent connection is successful, pa :%u", peer_agent);
|
||||||
|
sap_peer_agent_set_service_connection_terminated_cb(priv_data.peer_agent,
|
||||||
|
on_service_connection_terminated,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
sap_socket_set_data_received_cb(socket, on_data_recieved, peer_agent);
|
||||||
|
priv_data.socket = socket;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_ALREADY_EXIST:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connection is already exist");
|
||||||
|
priv_data.socket = socket;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_DEVICE_UNREACHABLE:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "device is not unreachable");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_INVALID_PEERAGENT:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "invalid peer agent");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_NETWORK:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "network failure");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_PEERAGENT_NO_RESPONSE:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent is no response");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_PEERAGENT_REJECTED:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "peer agent is rejected");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_CONNECTION_FAILURE_UNKNOWN:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "unknown error");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean _create_service_connection(gpointer user_data)
|
||||||
|
{
|
||||||
|
struct priv *priv = NULL;
|
||||||
|
sap_result_e result = SAP_RESULT_FAILURE;
|
||||||
|
|
||||||
|
priv = (struct priv *)user_data;
|
||||||
|
result = sap_agent_request_service_connection(priv->agent,
|
||||||
|
priv->peer_agent,
|
||||||
|
on_service_connection_created,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (result == SAP_RESULT_SUCCESS) {
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "req service conn call succeeded");
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "req service conn call is failed (%d)", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean request_service_connection(void)
|
||||||
|
{
|
||||||
|
g_idle_add(_create_service_connection, &priv_data);
|
||||||
|
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "request_service_connection call over");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean _terminate_service_connection(gpointer user_data)
|
||||||
|
{
|
||||||
|
struct priv *priv = NULL;
|
||||||
|
sap_result_e result = SAP_RESULT_FAILURE;
|
||||||
|
|
||||||
|
priv = (struct priv *)user_data;
|
||||||
|
|
||||||
|
if (priv->socket)
|
||||||
|
result = sap_peer_agent_terminate_service_connection(priv->peer_agent);
|
||||||
|
else {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == SAP_RESULT_SUCCESS) {
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "req service conn call succeeded");
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "req service conn call is failed (%d)", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean terminate_service_connection(void)
|
||||||
|
{
|
||||||
|
g_idle_add(_terminate_service_connection, &priv_data);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean _find_peer_agent(gpointer user_data)
|
||||||
|
{
|
||||||
|
struct priv *priv = NULL;
|
||||||
|
sap_result_e result = SAP_RESULT_FAILURE;
|
||||||
|
|
||||||
|
priv = (struct priv *)user_data;
|
||||||
|
|
||||||
|
result = sap_agent_find_peer_agent(priv->agent, on_peer_agent_updated, NULL);
|
||||||
|
|
||||||
|
if (result == SAP_RESULT_SUCCESS) {
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "find peer call succeeded");
|
||||||
|
} else {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "find peer call failed (%d)", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean find_peers()
|
||||||
|
{
|
||||||
|
g_idle_add(_find_peer_agent, &priv_data);
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "find peer called");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean send_data(void *message, unsigned int message_len)
|
||||||
|
{
|
||||||
|
int result;
|
||||||
|
if (priv_data.socket) {
|
||||||
|
result = sap_socket_send_data(priv_data.socket,
|
||||||
|
HELLO_ACCESSORY_CHANNELID, message_len, message);
|
||||||
|
} else {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void on_agent_initialized(sap_agent_h agent,
|
||||||
|
sap_agent_initialized_result_e result,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
switch (result) {
|
||||||
|
case SAP_AGENT_INITIALIZED_RESULT_SUCCESS:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "agent is initialized");
|
||||||
|
|
||||||
|
priv_data.agent = agent;
|
||||||
|
agent_created = TRUE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_AGENT_INITIALIZED_RESULT_DUPLICATED:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "duplicate registration");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_AGENT_INITIALIZED_RESULT_INVALID_ARGUMENTS:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "invalid arguments");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_AGENT_INITIALIZED_RESULT_INTERNAL_ERROR:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "internal sap error");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "unknown status (%d)", result);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void on_device_status_changed(sap_device_status_e status, sap_transport_type_e transport_type,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
switch (transport_type) {
|
||||||
|
case SAP_TRANSPORT_TYPE_BT:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connectivity type(%d): bt", transport_type);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_TRANSPORT_TYPE_BLE:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connectivity type(%d): ble", transport_type);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_TRANSPORT_TYPE_TCP:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connectivity type(%d): tcp/ip", transport_type);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_TRANSPORT_TYPE_USB:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connectivity type(%d): usb", transport_type);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_TRANSPORT_TYPE_MOBILE:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "connectivity type(%d): mobile", transport_type);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "unknown connectivity type (%d)", transport_type);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (status) {
|
||||||
|
case SAP_DEVICE_STATUS_DETACHED:
|
||||||
|
|
||||||
|
if (priv_data.peer_agent) {
|
||||||
|
sap_socket_destroy(priv_data.socket);
|
||||||
|
priv_data.socket = NULL;
|
||||||
|
sap_peer_agent_destroy(priv_data.peer_agent);
|
||||||
|
priv_data.peer_agent = NULL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SAP_DEVICE_STATUS_ATTACHED:
|
||||||
|
if (agent_created) {
|
||||||
|
g_idle_add(_find_peer_agent, &priv_data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "unknown status (%d)", status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean agent_initialize()
|
||||||
|
{
|
||||||
|
int result = 0, i = 1;
|
||||||
|
gboolean agent_initialized = TRUE;
|
||||||
|
|
||||||
|
do {
|
||||||
|
if (i > 100) {
|
||||||
|
agent_initialized = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
result = sap_agent_initialize(priv_data.agent,
|
||||||
|
HELLO_ACCESSORY_PROFILE_ID, SAP_AGENT_ROLE_CONSUMER,
|
||||||
|
on_agent_initialized, NULL);
|
||||||
|
dlog_print(DLOG_DEBUG, LOG_TAG, "sap_agent_initialize >>> %d", result);
|
||||||
|
i++;
|
||||||
|
} while (result != SAP_RESULT_SUCCESS);
|
||||||
|
|
||||||
|
return agent_initialized;
|
||||||
|
}
|
||||||
|
|
||||||
|
void initialize_sap()
|
||||||
|
{
|
||||||
|
sap_agent_h agent = NULL;
|
||||||
|
|
||||||
|
sap_agent_create(&agent);
|
||||||
|
|
||||||
|
if (agent == NULL)
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "ERROR in creating agent");
|
||||||
|
else
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "SUCCESSFULLY create sap agent");
|
||||||
|
|
||||||
|
priv_data.agent = agent;
|
||||||
|
|
||||||
|
sap_set_device_status_changed_cb(on_device_status_changed, NULL);
|
||||||
|
|
||||||
|
agent_initialize();
|
||||||
|
}
|
||||||
166
TCardEmulator/src/tcardemulator.c
Normal file
166
TCardEmulator/src/tcardemulator.c
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
#include "tcardemulator.h"
|
||||||
|
#include <service_app.h>
|
||||||
|
#include <nfc.h>
|
||||||
|
#include <dlog.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
unsigned char *rapdu = NULL;
|
||||||
|
size_t rapdu_length = 0;
|
||||||
|
gboolean rapdu_received = FALSE;
|
||||||
|
|
||||||
|
static void
|
||||||
|
hce_event_cb(nfc_se_h handle, nfc_hce_event_type_e event,
|
||||||
|
unsigned char *apdu, unsigned int apdu_len, void *user_data)
|
||||||
|
{
|
||||||
|
switch (event) {
|
||||||
|
case NFC_HCE_EVENT_DEACTIVATED:
|
||||||
|
// Do something when NFC_HCE_EVENT_DEACTIVATED event arrives
|
||||||
|
// When the event arrives, apdu and apdu len is NULL and 0
|
||||||
|
terminate_service_connection();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NFC_HCE_EVENT_ACTIVATED:
|
||||||
|
// Do something when NFC_HCE_EVENT_ACTIVATED event arrives
|
||||||
|
// When the event arrives, apdu and apdu len is NULL and 0
|
||||||
|
find_peers();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NFC_HCE_EVENT_APDU_RECEIVED:
|
||||||
|
rapdu_received = FALSE;
|
||||||
|
send_data(apdu, apdu_len);
|
||||||
|
size_t count = 0;
|
||||||
|
while (!rapdu_received && count < 10) {
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "waiting for response");
|
||||||
|
usleep(100);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
nfc_hce_send_apdu_response(handle, rapdu, rapdu_length);
|
||||||
|
rapdu_received = FALSE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Error handling
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
service_app_create(void *data)
|
||||||
|
{
|
||||||
|
int ret = NFC_ERROR_NONE;
|
||||||
|
bool r = false;
|
||||||
|
nfc_se_card_emulation_mode_type_e ce_type;
|
||||||
|
|
||||||
|
ret = nfc_manager_initialize();
|
||||||
|
if (ret != NFC_ERROR_NONE) {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "nfc_manager_initialize failed : %d", ret);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = nfc_se_get_card_emulation_mode(&ce_type);
|
||||||
|
if (ret != NFC_ERROR_NONE) {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "nfc_se_get_card_emulation_mode failed : %d", ret);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ce_type == NFC_SE_CARD_EMULATION_MODE_OFF) {
|
||||||
|
nfc_se_enable_card_emulation();
|
||||||
|
if (ret != NFC_ERROR_NONE) {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "nfc_se_enable_card_emulation failed : %d", ret);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = nfc_manager_set_hce_event_cb(hce_event_cb, NULL);
|
||||||
|
if (ret != NFC_ERROR_NONE) {
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "nfc_manager_set_hce_event_cb failed : %d", ret);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
initialize_sap();
|
||||||
|
|
||||||
|
r = true;
|
||||||
|
|
||||||
|
err:
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
service_app_terminate(void *data)
|
||||||
|
{
|
||||||
|
int ret = NFC_ERROR_NONE;
|
||||||
|
|
||||||
|
nfc_manager_unset_hce_event_cb();
|
||||||
|
|
||||||
|
ret = nfc_manager_deinitialize();
|
||||||
|
if (ret != NFC_ERROR_NONE)
|
||||||
|
{
|
||||||
|
dlog_print(DLOG_ERROR, LOG_TAG, "nfc_manager_deinitialize failed : %d", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
terminate_service_connection();
|
||||||
|
|
||||||
|
free(rapdu);
|
||||||
|
rapdu = NULL;
|
||||||
|
rapdu_length = 0;
|
||||||
|
rapdu_received = FALSE;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
service_app_control(app_control_h app_control, void *data)
|
||||||
|
{
|
||||||
|
// Todo: add your code here
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
service_app_low_memory_callback(void *data)
|
||||||
|
{
|
||||||
|
// Todo: add your code here
|
||||||
|
service_app_exit();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
service_app_low_battery_callback(void *data)
|
||||||
|
{
|
||||||
|
// Todo: add your code here
|
||||||
|
service_app_exit();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
char ad[50] = {0,};
|
||||||
|
|
||||||
|
service_app_event_callback_s event_callback;
|
||||||
|
|
||||||
|
event_callback.create = service_app_create;
|
||||||
|
event_callback.terminate = service_app_terminate;
|
||||||
|
event_callback.app_control = service_app_control;
|
||||||
|
event_callback.low_memory = service_app_low_memory_callback;
|
||||||
|
event_callback.low_battery = service_app_low_battery_callback;
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
initialize_sap();
|
||||||
|
find_peers();
|
||||||
|
rapdu_received = FALSE;
|
||||||
|
unsigned char apdu[] = {0x00, 0xa4, 0x00, 0x00};
|
||||||
|
send_data(apdu, sizeof apdu);
|
||||||
|
size_t count = 0;
|
||||||
|
while (!rapdu_received && count < 10) {
|
||||||
|
dlog_print(DLOG_INFO, LOG_TAG, "waiting for response");
|
||||||
|
usleep(100);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return svc_app_main(argc, argv, &event_callback, ad);
|
||||||
|
}
|
||||||
15
TCardEmulator/tizen-manifest.xml
Normal file
15
TCardEmulator/tizen-manifest.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3.1" package="com.vsmartcard.tcardemulator" version="1.0.0">
|
||||||
|
<profile name="wearable"/>
|
||||||
|
<service-application appid="com.vsmartcard.tcardemulator" exec="com.vsmartcard.tcardemulator" multiple="false" nodisplay="false" taskmanage="false" type="capp">
|
||||||
|
<label>Smart Card Emulator</label>
|
||||||
|
<icon>ic_launcher.png</icon>
|
||||||
|
<metadata key="http://tizen.org/metadata/nfc_cardemulation" value="/shared/res/wallet.xml"/>
|
||||||
|
<metadata key="accessory-services-location" value="/res/accessoryservices.xml"/>
|
||||||
|
</service-application>
|
||||||
|
<privileges>
|
||||||
|
<privilege>http://developer.samsung.com/tizen/privilege/accessoryprotocol</privilege>
|
||||||
|
<privilege>http://tizen.org/privilege/nfc.cardemulation</privilege>
|
||||||
|
</privileges>
|
||||||
|
<feature name="http://tizen.org/feature/network.nfc.card_emulation.hce">true</feature>
|
||||||
|
</manifest>
|
||||||
Reference in New Issue
Block a user