Răsfoiți Sursa

#IQRV #comment: 合并ST2分支

陈纪林80310970 8 luni în urmă
părinte
comite
7f17437516
81 a modificat fișierele cu 3025 adăugiri și 5639 ștergeri
  1. 5 12
      CMakeLists.txt
  2. 29 110
      DevAdapter/CMakeLists.txt
  3. 3 0
      DevAdapter/Note.md
  4. 2 0
      Framework/Common/SpBase.h
  5. 7 5
      Framework/spbase/SpEntity.cpp
  6. 1 0
      Framework/spbase/SpEntity.h
  7. 3 4
      Module/include/DevFSMCommBase.hpp
  8. 2 1
      Module/include/EventCode.h
  9. 2 2
      Module/mod_CardIssuerStand/CardIssuerFSM.cpp
  10. 1 1
      Module/mod_ContactlessCard/ContactlessFSM.cpp
  11. 15 0
      Module/mod_ResourceWatcher/ResourceWatcher.xml
  12. 77 68
      Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp
  13. 13 1
      Module/mod_ResourceWatcher/ResourceWatcherFSM.h
  14. 4 0
      Module/mod_ResourceWatcher/ResourceWatcher_UserCode.h
  15. 49 0
      Module/mod_ResourceWatcher/ResourceWatcher_client_g.h
  16. 26 0
      Module/mod_ResourceWatcher/ResourceWatcher_def_g.h
  17. 27 0
      Module/mod_ResourceWatcher/ResourceWatcher_server_g.h
  18. 88 0
      Module/mod_ResourceWatcher/mod_ResourceWatcher.cpp
  19. 12 22
      Module/mod_ResourceWatcher/mod_ResourceWatcher.h
  20. 5 1
      Module/mod_cardissuerstore/CardIssuerFSM.cpp
  21. 4 0
      Module/mod_counterconnector/ConnectorFSM.cpp
  22. 5 5
      Module/mod_evtconverter/CMakeLists.txt
  23. 867 0
      Module/mod_evtconverter/CustomerApproachEvent.hpp
  24. 842 0
      Module/mod_evtconverter/CustomerApproachEventCardStore.hpp
  25. 349 0
      Module/mod_evtconverter/SipphoneEvent.hpp
  26. 348 266
      Module/mod_evtconverter/evtengine.cpp
  27. 12 1
      Module/mod_evtconverter/evtengine.h
  28. 47 30
      Module/mod_evtconverter/mod_evtconverter.cpp
  29. 41 0
      Module/mod_evtconverter/slot.h
  30. 36 0
      Module/mod_evtconverter/trigger.h
  31. 0 2
      Module/mod_gpio/Gpio_UserErrorCode.h
  32. 5 42
      Module/mod_gpio/mod_gpio.cpp
  33. 1 1
      Module/mod_gpio/mod_gpio.h
  34. 21 26
      Module/mod_healthmanager/HealthManagerFSM.cpp
  35. 2 0
      Module/mod_healthmanager/HealthManagerFSM.h
  36. 66 35
      Module/mod_healthmanager/mod_healthmanager.cpp
  37. 0 13
      Module/mod_healthmanager/mod_healthmanager.h
  38. 1 3
      Module/mod_mediacontroller/Event.h
  39. 5 2
      Module/mod_mediacontroller/capture.cpp
  40. 2 2
      Module/mod_vtmloader/VtmLoaderFSM.cpp
  41. 0 242
      addin/cfg/CustomerApproachEvent.xml
  42. 0 233
      addin/cfg/CustomerApproachEventCardStore.xml
  43. 0 157
      addin/cfg/SipphoneEvent.xml
  44. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-CW-CASH35AG-1201.ini
  45. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-GRG-DT-7000I64A-048.ini
  46. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-GWI-VTM700-A03.ini
  47. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-KEBA-E1090.ini
  48. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-NANTIAN-VTM-6200B15G.ini
  49. 0 108
      addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-SZZT-ZT2619.ini
  50. 0 154
      addin/hardwarecfg/UOS/root-RVC.Stand2S-CW-CASH35AG-JR10(G).ini
  51. 0 153
      addin/hardwarecfg/UOS/root-RVC.Stand2S-GRG-DT-7000I64A.ini
  52. 0 154
      addin/hardwarecfg/UOS/root-RVC.Stand2S-KEBA-E1080-L.ini
  53. 0 129
      addin/hardwarecfg/WIN/root-中钞科堡.ini
  54. 0 124
      addin/hardwarecfg/WIN/root-凯欣达.ini
  55. 0 106
      addin/hardwarecfg/WIN/root-制卡机-金邦达.ini
  56. 0 106
      addin/hardwarecfg/WIN/root-制卡机-长城.ini
  57. 0 91
      addin/hardwarecfg/WIN/root-卡库-东信新版卡库.ini
  58. 0 73
      addin/hardwarecfg/WIN/root-卡库-东信旧版KK1000I-3.ini
  59. 0 85
      addin/hardwarecfg/WIN/root-卡库-广电.ini
  60. 0 86
      addin/hardwarecfg/WIN/root-卡库-恒银.ini
  61. 0 85
      addin/hardwarecfg/WIN/root-卡库-证通.ini
  62. 0 91
      addin/hardwarecfg/WIN/root-卡库-长城新版卡库.ini
  63. 0 73
      addin/hardwarecfg/WIN/root-卡库-长城旧卡库-GWI BST260L-AQ1.ini
  64. 0 120
      addin/hardwarecfg/WIN/root-大机-中世顺ZSS9100.ini
  65. 0 137
      addin/hardwarecfg/WIN/root-大机-中钞科堡E1000.ini
  66. 0 136
      addin/hardwarecfg/WIN/root-大机-中钞科堡E1080.ini
  67. 0 135
      addin/hardwarecfg/WIN/root-大机-凯欣达295.ini
  68. 0 132
      addin/hardwarecfg/WIN/root-大机-凯欣达KL286.ini
  69. 0 134
      addin/hardwarecfg/WIN/root-大机-凯欣达KL286D.ini
  70. 0 113
      addin/hardwarecfg/WIN/root-大机-凯欣达KS218.ini
  71. 0 108
      addin/hardwarecfg/WIN/root-大机-恒银.ini
  72. 0 142
      addin/hardwarecfg/WIN/root-大机-晓星BS9000.ini
  73. 0 124
      addin/hardwarecfg/WIN/root-大机-晓星MX9200CM.ini
  74. 0 137
      addin/hardwarecfg/WIN/root-大机-科堡E1000.ini
  75. 0 148
      addin/hardwarecfg/WIN/root-大机-科堡E1080.ini
  76. 0 137
      addin/hardwarecfg/WIN/root-大机-长城.ini
  77. 0 127
      addin/hardwarecfg/WIN/root-晓星一代.ini
  78. 0 130
      addin/hardwarecfg/WIN/root-晓星二代.ini
  79. 0 72
      addin/hardwarecfg/WIN/root.RVC.CardStore.ini
  80. 0 159
      addin/hardwarecfg/WIN/root.RVC.Stand2S.ini
  81. 0 3
      addin/hardwarecfg/root-input.ini

+ 5 - 12
CMakeLists.txt

@@ -644,9 +644,11 @@ else()
 endif(BUILD_TOOLS)
 
 if(BUILD_DEVADAPTER)
+	set(ONLY_PURE_ADAPTER_RELY FALSE)
 	add_subdirectory(DevAdapter)
 else()
-	message(WARNING "skipping DevAdapter directory.")
+	set(ONLY_PURE_ADAPTER_RELY TRUE)
+	add_subdirectory(DevAdapter)
 endif(BUILD_DEVADAPTER)
 
 set(CMAKE_INSTALL_LOCAL_ONLY ON)
@@ -778,8 +780,6 @@ if(NOT ONLY_BUILD_DEVADAPTER)
 			install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/WIN/kill.bat" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
 			install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/WIN/test.vbs" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
 		endif(NOT DEVOPS_ON_CMAKE_PRD)
-		file(GLOB VENDOR_ROOT_CONFIG_FILES "${CMAKE_SOURCE_DIR}/addin/hardwarecfg/WIN/root*.ini")
-		install(FILES ${VENDOR_ROOT_CONFIG_FILES} DESTINATION "${PACK_INSTALL_RUN_DIR}/hardwarecfg" COMPONENT scripts)
 	else(MSVC)
 		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/startup_scripts/spexplorer.sh" DESTINATION "${RVC_BASE_PATH}" COMPONENT scripts)
 		if(NOT DEVOPS_ON_CMAKE_PRD)
@@ -791,22 +791,15 @@ if(NOT ONLY_BUILD_DEVADAPTER)
 
 		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/UOS/install.sh" DESTINATION "${PACK_INSTALL_RUN_DIR}/./.." COMPONENT scripts)
 		install(FILES "${CMAKE_SOURCE_DIR}/addin/packaging/UOS/Readme.txt" DESTINATION "${PACK_INSTALL_RUN_DIR}/./.." COMPONENT scripts)
-		file(GLOB VENDOR_ROOT_CONFIG_FILES "${CMAKE_SOURCE_DIR}/addin/hardwarecfg/UOS/root-*.ini")
-		install(FILES ${VENDOR_ROOT_CONFIG_FILES} DESTINATION "${PACK_INSTALL_RUN_DIR}/hardwarecfg" COMPONENT scripts)
 		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/startup_scripts/spshellstart.sh" DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT scripts)
 	endif(MSVC)
 
-	if(DEVOPS_ON)
-		file(GLOB VENDOR_ROOT_CONFIG_FILES "${CMAKE_SOURCE_DIR}/addin/hardwarecfg/root-*.ini")
-		install(FILES ${VENDOR_ROOT_CONFIG_FILES}
-			DESTINATION "${PACK_INSTALL_RUN_DIR}/hardwarecfg" 
-			COMPONENT scripts)
-	else()
+	if(NOT DEVOPS_ON)
 		install(FILES "${CMAKE_SOURCE_DIR}/addin/hardwarecfg/${ROOT_INI_NAME}" 
 			DESTINATION "${PACK_INSTALL_RUN_DIR}/hardwarecfg" 
 			RENAME "root.ini"
 			COMPONENT scripts)
-	endif(DEVOPS_ON)
+	endif(NOT DEVOPS_ON)
 
 	install(DIRECTORY "${CMAKE_SOURCE_DIR}/addin/cfg" DESTINATION "${PACK_INSTALL_PREFIX_CUR_VER}" 
 		COMPONENT scripts FILES_MATCHING PATTERN "*.ini")

+ 29 - 110
DevAdapter/CMakeLists.txt

@@ -1,88 +1,11 @@
 # 非招行开发人员不允许改动本文件!!
 
-if(RVC_VERSION)
-    set(RVC_INTEGRATE_BUILD TRUE)
-    set(RVC_INTEGRATE_BUILDV2 TRUE)
-    set(DEVADAPTER_USING_CONAN TRUE)
-    if(WITH_LOCAL_DEVLIB)
-        set(DEVADAPTER_USING_CONAN FALSE)
-    endif(WITH_LOCAL_DEVLIB)
-else()
-    cmake_minimum_required (VERSION 3.8)
-    project(DevAdapter)
-    set(DEVADAPTER_VENDOR "demo")
-    set(DEVADAPTER_VERSION "1.2.3.4")
-    set(DEVADAPTER_PROJECT_NAME ${CMAKE_PROJECT_NAME})
-    set(DEVADAPTER_DESCRIPTION "describe what this version conatains")
-    set(RVC_INTEGRATE_BUILD FALSE)
+set(RVC_INTEGRATE_BUILD TRUE)
+set(RVC_INTEGRATE_BUILDV2 TRUE)
+set(DEVADAPTER_USING_CONAN TRUE)
+if(WITH_LOCAL_DEVLIB)
     set(DEVADAPTER_USING_CONAN FALSE)
-    set(RVC_VENDOR_CONFIGV2 TRUE)
-
-    if(RVC_VENDOR_CONFIGV2)
-        set(JENKINS_ON FALSE)
-        if(DEFINED ENV{JENKINS_HOME})
-            set(JENKINS_ON TRUE)
-        endif(DEFINED ENV{JENKINS_HOME})
-
-        if(JENKINS_ON)
-            set(DEVADAPTER_VENDOR $ENV{JOB_BASE_NAME})
-            set(DEVADAPTER_PROJECT_NAME $ENV{BUILD_TAG_ID})
-            string(TIMESTAMP tmVar "%Y%m%d")
-            set(DEVADAPTER_VERSION "${tmVar}_$ENV{BUILD_NUMBER}")
-        endif(JENKINS_ON)
-
-    
-        set(CMAKE_CXX_STANDARD 11)
-        # Turn on solution folders (2.8.4+) for Visual Studio.
-        set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-        if(NOT DEFINED CMAKE_CONFIGURATION_TYPES AND NOT DEFINED CMAKE_BUILD_TYPE)
-	        message(FATAL_ERROR "User should define CMAKE_CONFIGURATION_TYPES or CMAKE_BUILD_TYPE")
-        elseif(DEFINED CMAKE_CONFIGURATION_TYPES AND NOT DEFINED CMAKE_BUILD_TYPE)
-	        set(CMAKE_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
-        elseif(DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
-	        set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
-        endif()
-
-        # Enable 64bit file support on linux and FreeBSD.
-        if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR FREEBSD)
-	        add_definitions("-D_FILE_OFFSET_BITS=64")
-        endif()
-
-        if(CMAKE_COMPILER_IS_GNUCC)
-	        if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
-		        CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64)
-		        if(IS_X86_64)
-			        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-			        message(STATUS "set -fPIC")
-		        else()
-			        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
-			        message(STATUS "set -march=i686")
-		        endif()
-	        else()
-		        if(CMAKE_POSITION_INDEPENDENT_CODE)
-			        if(${CMAKE_VERSION} VERSION_LESS 2.8.9)
-				        message(STATUS "set -fPIC 2")
-				        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-			        endif()
-		        endif()
-	        endif()
-	        # active warning or gun c compiler would not burn warning if not necessary.
-	        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
-        endif()
-
-        set(PACK_INSTALL_RUN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/release")
-        set(RVC_VENDOR_PATH "dep")
-        set(CMAKE_INSTALL_PREFIX ${PACK_INSTALL_RUN_DIR})
-
-        #clean the built dir which create from last compiling job.
-        file(GLOB RVC_OLD_DEP_BIN_FILES "${PACK_INSTALL_RUN_DIR}/*")
-        string(LENGTH "${RVC_OLD_DEP_BIN_FILES}" RVC_OLD_DEP_BIN_FILES_length)
-        if(${RVC_OLD_DEP_BIN_FILES_length})
-            file(REMOVE_RECURSE ${RVC_OLD_DEP_BIN_FILES})
-        endif(${RVC_OLD_DEP_BIN_FILES_length})
-    endif(RVC_VENDOR_CONFIGV2)
-endif(RVC_VERSION)
+endif(WITH_LOCAL_DEVLIB)
 
 if(MSVC AND (CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|AMD64") )
     set(DIFF_PLATFORM_SUB_DIR "msvc_x86")
@@ -93,11 +16,7 @@ elseif((NOT MSVC) AND (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64"))
 endif()
 
 message(STATUS "lib rely on directory: ${DIFF_PLATFORM_SUB_DIR}")
-
-if(RVC_INTEGRATE_BUILD)
-    #include ErrorCode.h
-    include_directories(${RVC_COMMON_INCLUDE_DIR})
-endif(RVC_INTEGRATE_BUILD)
+include_directories(${RVC_COMMON_INCLUDE_DIR})
 
 macro(rvc_traverse_sub_cmake_dirs)
      file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
@@ -240,41 +159,35 @@ if(NOT MSVC)
 endif(NOT MSVC)
 
 set(VENDOR_LOG_LIBRARY_NAME "cmblog4vendor")
-if(NOT RVC_INTEGRATE_BUILD)
-    # 单独的库名称
-    set(VENDOR_LOG_LIB_NAME ${VENDOR_LOG_LIBRARY_NAME})
-else()
-    # 使用工程源码编译
-    set(VENDOR_LOG_LIB_NAME log4vendor)
-    add_subdirectory(liblog4vendor)
-endif(NOT RVC_INTEGRATE_BUILD)
+# 使用工程源码编译
+set(VENDOR_LOG_LIB_NAME log4vendor)
+add_subdirectory(liblog4vendor)
 message(STATUS "vendor log library: ${VENDOR_LOG_LIB_NAME}")
 
-
 # 通过conan的方式管理厂商库
 if(DEVADAPTER_USING_CONAN)
     if(MSVC) #Windows 厂商适配器
-        if(RVC_INTEGRATE_BUILDV2)
+        if(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
             #厂商适配器兼容WIN的提交,需要将以前的ZIP链接转化为Conan依赖包,处理完之后这里填写内容进行拉取:Demo
             #set(CMB_CONAN_ALL_LIB_NAME cmb/2024.0315.20@LR04.02_VendorLib/msvc)
             #长城读卡接口优化
             set(GWI_CONAN_ALL_LIB_NAME gwi/2024.0722.6@LR04.02_VendorLib/msvc)
             set(KEBA_CONAN_ALL_LIB_NAME keba/2024.0326.23@LR04.02_VendorLib/msvc)
-            #恒银智能卡库非接上线
-            set(CW_CONAN_ALL_LIB_NAME cw/2024.0822.53@LR04.02_VendorLib/msvc)
+            #【阅知】关于适配器解耦完成测试事宜
+            set(CW_CONAN_ALL_LIB_NAME cw/2024.1125.57@LR04.02_VendorLib/msvc)
             #rvc_aggerate_vendor_libs(cmb)
             rvc_aggerate_vendor_libs(gwi)
             rvc_aggerate_vendor_libs(keba)
             rvc_aggerate_vendor_libs(cw)
-        endif(RVC_INTEGRATE_BUILDV2)
+        endif(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
     else() #UOS厂商适配器
-        if(RVC_INTEGRATE_BUILDV2)
+        if(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
             #邮件 试运行设备的密码键盘与读卡器的提示灯物理地址与测试样机的物理地址不一致
             set(KEBA_CONAN_ALL_LIB_NAME keba/2024.0814.32@LR04.02_VendorLib/stable)
-            #2024年8月14日 招乎群(深圳机具沟通)单屏试点前收集
-            set(CW_CONAN_ALL_LIB_NAME cw/2024.0801.44@LR04.02_VendorLib/stable)
-            #2024年8月14日 招乎群(深圳机具沟通)单屏试点前收集
-            set(SZZT_CONAN_ALL_LIB_NAME szzt/2024.0814.37@LR04.02_VendorLib/stable)
+            #【阅知】关于适配器解耦完成测试事宜
+            set(CW_CONAN_ALL_LIB_NAME cw/2024.1220.47@LR04.02_VendorLib/stable)
+            #【阅知】关于适配器解耦完成测试事宜
+            set(SZZT_CONAN_ALL_LIB_NAME szzt/2024.1209.40@LR04.02_VendorLib/stable)
             #长城信创单屏设备root.ini配置需要更新为(根据行方规范,将信创单屏设备版本号修改为2.x)
             set(GWI_CONAN_ALL_LIB_NAME gwi/2024.0723.20@LR04.02_VendorLib/stable)
             #Fw: 回复:回复: Fw: 回复:回复: Fw: 南天-缺陷案例解决方案及适配器整合
@@ -290,20 +203,26 @@ if(DEVADAPTER_USING_CONAN)
             rvc_aggerate_vendor_libs(nantian)
             rvc_aggerate_vendor_libs(grg)
             rvc_aggerate_vendor_libs(cbpm)
-        endif(RVC_INTEGRATE_BUILDV2)
+        endif(RVC_INTEGRATE_BUILDV2 AND NOT ONLY_PURE_ADAPTER_RELY)
     endif(MSVC)
 
     if(MSVC)
         #CardLibDB_CMB.db3
-        conan_cmake_run(REQUIRES VendorDLL/2024.11.1401@LR04.02_VendorLib/testing
-            BASIC_SETUP CMAKE_TARGETS)
+        if(NOT ONLY_PURE_ADAPTER_RELY)
+            conan_cmake_run(REQUIRES VendorDLL/2024.11.1401@LR04.02_VendorLib/testing
+                BASIC_SETUP CMAKE_TARGETS)
+        endif(NOT ONLY_PURE_ADAPTER_RELY)
+
         set(SELF_CONAN_LIB_NAME self/2024.1217.01@LR04.02_VendorLib/testing)
         add_subdirectory(self)
     endif(MSVC)
 
 endif(DEVADAPTER_USING_CONAN)
- 
-file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
+
+if(NOT ONLY_PURE_ADAPTER_RELY)
+    file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
+endif(NOT ONLY_PURE_ADAPTER_RELY)
+
 foreach(dir ${all_valid_subdirs})
 	if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt")
 		string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir})

+ 3 - 0
DevAdapter/Note.md

@@ -3,6 +3,9 @@
 `conan export-pkg . LR04.02_VendorLib/testing -s arch=armv8 -s os=Linux -s compiler=gcc -s compiler.libcxx=libstdc++11 -s compiler.version=8 -s build_type=Debug`
 `conan upload self/2024.1025.01@LR04.02_VendorLib/testing --all -r=conan-cmb`
 
+`conan export-pkg . LR04.02_VendorLib/stable -s arch=armv8 -s os=Linux -s compiler=gcc -s compiler.libcxx=libstdc++11 -s compiler.version=8 -s build_type=Debug`
+`conan upload self/2024.1025.01@LR04.02_VendorLib/stable --all -r=conan-cmb`
+
 `conan export-pkg . LR04.02_MediaRes/testing -s arch=armv8 -s os=Linux -s compiler=gcc -s compiler.libcxx=libstdc++11 -s compiler.version=8 -s build_type=Debug`
 `conan upload Audio/2023.0509.01@LR04.02_MediaRes/testing --all -r=conan-cmb`
 `conan upload  sogouime/2.6.4.593@LR04.02_MediaRes/testing --all -r=conan-cmb`

+ 2 - 0
Framework/Common/SpBase.h

@@ -1039,6 +1039,8 @@ struct IEntityFunction
 	virtual ErrorCodeEnum GetRunningDepVersion(CSimpleString& ver) = 0;
 
 	virtual ErrorCodeEnum GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescription, CSimpleStringA& strVTMCode) = 0;
+	/* return "" if failed to convert(can't find the mapped code) */
+	virtual CSimpleStringA UserCodeToRTACode(DWORD dwUserCode) = 0;
 };
 
 class VTMInitParam{

+ 7 - 5
Framework/spbase/SpEntity.cpp

@@ -2075,7 +2075,6 @@ ErrorCodeEnum SpEntity::GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescri
 	{
 		strVTMCode = "RTA42F0";
 		strDescription = "微服务异常";
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(strVTMCode)("GetVTMErrMsg vtm_err_msg_config is null, may have not sync from server or sync failed");
 		return ErrorCodeEnum::Error_NotConfig;
 	}
 
@@ -2134,7 +2133,6 @@ ErrorCodeEnum SpEntity::GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescri
 		{
 			strVTMCode = "RTA42F2";
 			strDescription = "实体Id异常";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(strVTMCode)("GetVTMErrMsg get error entity id %d, convert to %s", id, idHexStr.c_str());
 			return ErrorCodeEnum::Error_Unregisted;
 		}
 
@@ -2147,7 +2145,6 @@ ErrorCodeEnum SpEntity::GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescri
 		if (num < 0 || num >= 36) {
 			strVTMCode = "RTA42F2";
 			strDescription = "无法转换实体Id";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(strVTMCode)("GetVTMErrMsg cannot convert entity id %d ", id);
 			return ErrorCodeEnum::Error_DataCheck;
 		}
 
@@ -2176,14 +2173,19 @@ ErrorCodeEnum SpEntity::GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescri
 	{
 		strVTMCode = "RTA42F1";
 		strDescription = "错误映射异常";
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode(strVTMCode)("GetVTMErrMsg entity did not contain the usercode %s ", userCodeStr.c_str());
 		return ErrorCodeEnum::Error_NotExist;
 	}
 
 
 
 }
-
+CSimpleStringA SpEntity::UserCodeToRTACode(DWORD dwUserCode)
+{
+	CSimpleStringA tmpDesc, tmpVtmCode("");
+	//transmit the return of GetVTMErrMsg directly
+	GetVTMErrMsg(dwUserCode, tmpDesc, tmpVtmCode);
+	return CSimpleStringA(tmpVtmCode);
+}
 ErrorCodeEnum SpEntity::SetSelfPriority(EntityPriorityEnum nPriority)
 {
 	ErrorCodeEnum result(Error_Succeed);

+ 1 - 0
Framework/spbase/SpEntity.h

@@ -155,6 +155,7 @@ public:
 	virtual ErrorCodeEnum GetRunningVersion(CSimpleString& ver);
 	virtual ErrorCodeEnum GetRunningDepVersion(CSimpleString& ver);
 	virtual ErrorCodeEnum GetVTMErrMsg(DWORD dwUserCode, CSimpleStringA& strDescription, CSimpleStringA& strVTMCode);
+	virtual CSimpleStringA UserCodeToRTACode(DWORD dwUserCode);
     virtual ErrorCodeEnum SetSelfPriority(EntityPriorityEnum nPriority);
     virtual ErrorCodeEnum GetSelfPriority(EntityPriorityEnum& nPriority);
 

+ 3 - 4
Module/include/DevFSMCommBase.hpp

@@ -719,7 +719,7 @@ public:
 		m_errPkg.apiErrCode = apiCode;
 	}
 
-	void SetErrorAndLog(ErrorCodeEnum errCode, DWORD userCode, CSimpleStringA devApi, CSimpleStringA funPath, bool bInBusiness = false, int costTime = 0, CSimpleStringA logCode = "", CSimpleStringA context = "")
+	DWORD SetErrorAndLog(ErrorCodeEnum errCode, DWORD userCode, CSimpleStringA devApi, CSimpleStringA funPath, bool bInBusiness = false, int costTime = 0, CSimpleStringA logCode = "", CSimpleStringA context = "")
 	{
 		//set error info
 		m_errPkgEx.errCode = errCode;
@@ -759,8 +759,7 @@ public:
 
 		
 		CSimpleStringA tmpRTA(true), tmpDesc(true);
-		if (this->GetEntityBase()->GetFunction()->GetVTMErrMsg(dwCode, tmpDesc, tmpRTA) != Error_Succeed)
-			tmpRTA = CSimpleStringA::Format("0x%X", dwCode);//if map failed, use dwCode instead
+		this->GetEntityBase()->GetFunction()->GetVTMErrMsg(dwCode, tmpDesc, tmpRTA);
 
 
 		if (bInBusiness) {
@@ -771,7 +770,7 @@ public:
 			LogWarn(Severity_High, m_errPkgEx.errCode, dwCode, alarmMsg.GetData());
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode(logCode).setAPI(devApi).setResultCode(tmpRTA.GetData()).setCostTime(costTime)(csErrMsgWithReturnCode.GetData());
 		}
-		return;
+		return dwCode;
 	}
 
 	//在旧dep路径下找到文件时告警

+ 2 - 1
Module/include/EventCode.h

@@ -396,7 +396,8 @@ ERROR_ACCESSAUTH_CONNECT_ACS_x}
 #define LOG_EVT_CARDISSUER_STORE_GREEN_ON 					(CardIssuerStore_Public_Start + 1)
 #define LOG_EVT_CARDISSUER_STORE_GREEN_OFF 					(CardIssuerStore_Public_Start + 2)
 #define	LOG_EVT_CARDISSUER_STORE_OP 						(CardIssuerStore_Public_Start + 5)
-
+#define	LOG_EVT_CARDISSUER_STORE_BATCH_READ_CARDINFO 		(CardIssuerStore_Public_Start + 6)
+#define	LOG_EVT_CARDISSUER_STORE_ADD_CARD 					(CardIssuerStore_Public_Start + 7)
 
 
 //FINGERPRINT

+ 2 - 2
Module/mod_CardIssuerStand/CardIssuerFSM.cpp

@@ -3053,7 +3053,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 			//	, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 			//CSimpleStringA csErrMsgWithReturnCode = CSimpleStringA::Format("{\"ReturnCode\":\"%s\", \"ErrMsg\":\"%s\", \"Context\":\"%s\"}", SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 			
-			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":%s, \"Context\":%s}"
+			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
 				, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 
 			std::map<std::string, std::string> msgInfo;
@@ -3445,7 +3445,7 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
 			//CSimpleStringA csErrMsgWithReturnCode = CSimpleStringA::Format("{\"ReturnCode\":\"%s\", \"ErrMsg\":\"%s\", \"Context\":\"%s\"}", SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 
 
-			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":%s, \"Context\":%s}"
+			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
 				, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 
 			std::map<std::string, std::string> msgInfo;

+ 1 - 1
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -1505,7 +1505,7 @@ void CContactlessCardFSM::GetCardProcessLastErr(ErrorCodeEnum& eErrCode, CSimple
 	CSimpleStringA lastApiName = "";
 	m_pCardProcess->getCardAssistLastErr(lastErrCode, lastErrMsg, lastApiName);
 
-	const CSimpleStringA alarmMsgStr = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":%s, \"Context\":%s}"
+	const CSimpleStringA alarmMsgStr = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
 		, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 
 	std::map<std::string, std::string> msgInfo;

+ 15 - 0
Module/mod_ResourceWatcher/ResourceWatcher.xml

@@ -286,6 +286,21 @@
 			<param name="terminalVer" type="string" />
 	      </res>
 	    </twoway>
+		
+		<!--检查文件是否存在-->
+	    <twoway  name="CheckIsFileExists" overlap="true" method_id="21">
+	      <req>
+					<!-- 0: 文件名参数为全路径 -->
+					<!-- 1: 在当前默认音频文件路径(Win: D:/rvc/adData/Audio/; UOS: /opt/rvc/adData/Audio/) 下查找mp3格式文件 -->
+					<!-- 2: 在当前默认视频文件路径(Win: D:/rvc/adData/Video/; UOS: /opt/rvc/adData/Video/) 下查找视频文件 -->
+          <param name="filetype" type="int" />
+					<param name="filename" type="wstring" />
+	      </req>
+        <res>
+          <!-- result	0:成功,其他:windows(GetLastError()),信创:errno -->
+          <param name="result" type="int" />
+        </res>
+	    </twoway>
 	</class>
 
 	<!--缓存清理-->

+ 77 - 68
Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

@@ -371,20 +371,7 @@ ErrorCodeEnum ResourceWatcherFSM::OnInit()
     }
 #if defined(RVC_OS_WIN)
     if (m_bFirstRunAfterBoot) {
-		//GetSystemMetrics (SM_CMONITORS) 计数仅显示可见的显示器
-		const int screenNums = GetSystemMetrics(SM_CMONITORS);
-		const int aimScreenNums4Stand2S = 2;
-		const int aimScreenNums4Other = 1;
-		if (0 == m_RvcSysinfo.strMachineType.Compare("RVC.Stand2S", true) && screenNums != aimScreenNums4Stand2S) {
-			LogWarn(Severity_Low, Error_Unexpect, LOG_RESOURCEWATCHER_LACK_OF_MONITOR
-				, CSimpleStringA::Format("{\"subject\":\"screen_count\",\"machine_type\":\"%s\",\"expect\":%d,\"actual\":%d}"
-                    , m_RvcSysinfo.strMachineType.GetData(), aimScreenNums4Stand2S, screenNums));
-        }
-        else if (0 != m_RvcSysinfo.strMachineType.Compare("RVC.Stand2S", true) && screenNums != aimScreenNums4Other) {
-			LogWarn(Severity_Low, Error_Unexpect, LOG_RESOURCEWATCHER_LACK_OF_MONITOR
-				, CSimpleStringA::Format("{\"subject\":\"screen_count\",\"machine_type\":\"%s\",\"expect\":%d,\"actual\":%d}"
-					, m_RvcSysinfo.strMachineType.GetData(), aimScreenNums4Other, screenNums));
-        }
+
     }
     
 #endif //RVC_OS_WIN
@@ -469,60 +456,11 @@ void ResourceWatcherFSM::AfterInit()
 		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
     }
 	DetectVersionHasChangedAndWarnCover();
-
 #else
-    if (m_bFirstRunAfterBoot) {
-        //获取系统激活状态
-        CSimpleStringA value(true);
-        CSimpleStringA warnMsg(true);
-        bool res = GetSysActiveStatus(value);
-        if (!value.IsNullOrEmpty()) {
-            auto elems = value.Split('|');
-            std::map<std::string, std::string> info;
-            info["subject"] = "system_activation";
-            if (elems.GetCount() > 0) {
-                for (int i = 0; i < elems.GetCount(); ++i) {
-                    auto sub_elems = elems[i].Split(':');
-                    if (sub_elems.GetCount() == 2) {
-                        CSimpleStringA val = sub_elems[1].GetData();
-                        CSimpleStringA key(true);
-                        //因为UOS内容用了中文的冒号,而Split函数无法拆分中文冒号(拆出来前面的内容有乱码),只能这样去操作
-                        if (sub_elems[0].IndexOf("服务器") != -1) {
-                            key = "server_addr";
-                        } else if (sub_elems[0].IndexOf("激活状") != -1) {
-                            key = "activation_status";
-                        }
-                        else if(sub_elems[0].IndexOf("授权状") != -1) {
-                            key = "authorization_status";
-                        }
-                        else if(sub_elems[0].IndexOf("到期时") != -1) {
-                            key = "deadline_status";
-                        }
-                        else if (sub_elems[0].IndexOf("序列") != -1) {
-                            key = "serial_number";
-                            if (val.GetLength() >= 23) {
-                                //NNAAA-7AAAY-*****-*****-MT6SK
-                                val[12] = val[13] = val[14] = val[15] = val[16] = '*';
-                                val[18] = val[19] = val[20] = val[21] = val[22] = '*';
-                            }
-                        }
-                        else {
-                            key = CSimpleStringA::Format("other%02d", i);
-                        }
-                        info[key.GetData()] = val.GetData();
-                    }
-                }
-            }
-            info["fetch_status"] = "succ";
-            std::pair<bool, std::string> strResult;
-            strResult = generateJsonStr(info);
-            value = strResult.second.c_str();
-        }
-        else {
-            warnMsg = CSimpleStringA::Format("{\"subject\":\"system_activation\", \"fetch_status\":\"failed\"}");
-        }
-        LogWarn(Severity_Low, Error_Debug, LOG_INFO_SYSTEM_ACTIVATION_INFO, value);
-    }
+	if (m_bFirstRunAfterBoot) {
+		AggerateAutoStatTask* task = new AggerateAutoStatTask(this);
+		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
+	}
 #endif //RVC_OS_WIN
 }
 
@@ -1863,6 +1801,24 @@ int ResourceWatcherFSM::InitialAutoStartupSetType()
     return ret;
 }
 
+void ResourceWatcherFSM::UploadScreenInfo()
+{
+	//GetSystemMetrics (SM_CMONITORS) 计数仅显示可见的显示器
+	const int screenNums = GetSystemMetrics(SM_CMONITORS);
+	const int aimScreenNums4Stand2S = 2;
+	const int aimScreenNums4Other = 1;
+	if (0 == m_RvcSysinfo.strMachineType.Compare("RVC.Stand2S", true) && screenNums != aimScreenNums4Stand2S) {
+		LogWarn(Severity_Low, Error_Unexpect, LOG_RESOURCEWATCHER_LACK_OF_MONITOR
+			, CSimpleStringA::Format("{\"subject\":\"screen_count\",\"machine_type\":\"%s\",\"expect\":%d,\"actual\":%d}"
+				, m_RvcSysinfo.strMachineType.GetData(), aimScreenNums4Stand2S, screenNums));
+	}
+	else if (0 != m_RvcSysinfo.strMachineType.Compare("RVC.Stand2S", true) && screenNums != aimScreenNums4Other) {
+		LogWarn(Severity_Low, Error_Unexpect, LOG_RESOURCEWATCHER_LACK_OF_MONITOR
+			, CSimpleStringA::Format("{\"subject\":\"screen_count\",\"machine_type\":\"%s\",\"expect\":%d,\"actual\":%d}"
+				, m_RvcSysinfo.strMachineType.GetData(), aimScreenNums4Other, screenNums));
+	}
+}
+
 void ResourceWatcherFSM::DeleteDuplicateAutoStartFile(bool toDeleteLastLegity)
 {
 	std::vector<std::string> userlist;
@@ -3094,7 +3050,6 @@ void ResourceWatcherFSM::CheckDiskFileSpace()
         {
             if (lastDiskUsed != 0 && ((int)(GetDiskUsedByte() / (1024 * 1024 * 1024)) - lastDiskUsed) < spaceIncrease) //增长值判定
             {
-                //DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("硬盘空间增长未超过阈值,无需扫描。");
                 if (spaceLock)
                 {
                     spaceLock = false; //释放锁
@@ -4624,6 +4579,60 @@ void ResourceWatcherFSM::UploadSysVersionInfo(UINT& ver)
     LogWarn(Severity_Low, Error_Hardware, LOG_RESOURCEWATCHER_SYSTEMINFO, ret.second.c_str());
 }
 
+void ResourceWatcherFSM::UploadSysActivationStatus()
+{
+	//获取系统激活状态
+	CSimpleStringA value(true);
+	CSimpleStringA warnMsg(true);
+	bool res = GetSysActiveStatus(value);
+	if (!value.IsNullOrEmpty()) {
+		auto elems = value.Split('|');
+		std::map<std::string, std::string> info;
+		info["subject"] = "system_activation";
+		if (elems.GetCount() > 0) {
+			for (int i = 0; i < elems.GetCount(); ++i) {
+				auto sub_elems = elems[i].Split(':');
+				if (sub_elems.GetCount() == 2) {
+					CSimpleStringA val = sub_elems[1].GetData();
+					CSimpleStringA key(true);
+					//因为UOS内容用了中文的冒号,而Split函数无法拆分中文冒号(拆出来前面的内容有乱码),只能这样去操作
+					if (sub_elems[0].IndexOf("服务器") != -1) {
+						key = "server_addr";
+					}
+					else if (sub_elems[0].IndexOf("激活状") != -1) {
+						key = "activation_status";
+					}
+					else if (sub_elems[0].IndexOf("授权状") != -1) {
+						key = "authorization_status";
+					}
+					else if (sub_elems[0].IndexOf("到期时") != -1) {
+						key = "deadline_status";
+					}
+					else if (sub_elems[0].IndexOf("序列") != -1) {
+						key = "serial_number";
+						if (val.GetLength() >= 23) {
+							//NNAAA-7AAAY-*****-*****-MT6SK
+							val[12] = val[13] = val[14] = val[15] = val[16] = '*';
+							val[18] = val[19] = val[20] = val[21] = val[22] = '*';
+						}
+					}
+					else {
+						key = CSimpleStringA::Format("other%02d", i);
+					}
+					info[key.GetData()] = val.GetData();
+				}
+			}
+		}
+		info["fetch_status"] = "succ";
+		std::pair<bool, std::string> strResult;
+		strResult = generateJsonStr(info);
+		value = strResult.second.c_str();
+	}
+	else {
+		warnMsg = CSimpleStringA::Format("{\"subject\":\"system_activation\", \"fetch_status\":\"failed\"}");
+	}
+	LogWarn(Severity_Low, Error_Debug, LOG_INFO_SYSTEM_ACTIVATION_INFO, value);
+}
 
 string ResourceWatcherFSM::MemoryProcessStatus()
 {

+ 13 - 1
Module/mod_ResourceWatcher/ResourceWatcherFSM.h

@@ -325,7 +325,7 @@ public:
 	/** 返回操作系统当前的版本,比如1032,1010,1031*/
 	UINT GetSystemDisplayVersion(CSimpleStringA& strVersion);
 	void UploadSysVersionInfo(UINT& ver);
-
+	void UploadSysActivationStatus();
 	string MemoryProcessStatus();
 	long GetCPURunTime(CPUInfo* cpu);
 	long ReadProcCPURunTime(DWORD pid, ProcCPUInfo* pInfo);
@@ -359,6 +359,7 @@ public:
 	bool GetRegValue(HKEY hKey, LPCTSTR lpcszParam, CSimpleStringA& strValue);
 
 	void DetectAutoStartupCover();
+	void UploadScreenInfo();
 	//0:explorer.exe
 	//1:vbs
 	//2:vtm.exe
@@ -434,6 +435,16 @@ struct DetectSoftwareInstallStatusTask : public ITaskSp
     }
 };
 
+struct AggerateAutoStatTask : public ITaskSp
+{
+	ResourceWatcherFSM* m_pFSM;
+	AggerateAutoStatTask(ResourceWatcherFSM* pFSM) : m_pFSM(pFSM) {}
+	void Process()
+	{
+		m_pFSM->UploadSysActivationStatus();
+	}
+};
+
 #else
 struct CreateLinkTask :public ITaskSp
 {
@@ -461,6 +472,7 @@ struct AggerateAutoStatTask : public ITaskSp
 	AggerateAutoStatTask(ResourceWatcherFSM* pFSM) : m_pFSM(pFSM) {}
 	void Process()
 	{
+		m_pFSM->UploadScreenInfo();
 		m_pFSM->DetectWallpaperAndWarn();
 		m_pFSM->DetectAutoStartupCover();
 		m_pFSM->RegOperation4LnkFile();

+ 4 - 0
Module/mod_ResourceWatcher/ResourceWatcher_UserCode.h

@@ -106,4 +106,8 @@
 #define LOG_WARN_SUEPROCCHECK_LIANRUAN 0x50A35902 //联软进程检测
 #define LOG_WARN_SUEPROCCHECK_RUIYAN 0x50A35903 //锐眼进程检测
 
+
+#define LOG_WARN_FILECHECK_NOTSUPPORT_TYPE 0x50A35A01	//文件检查类型不支持
+#define LOG_WARN_FILECHECK_ERRORPARAM 0x50A35A02		//文件检查参数错误
+
 #endif //MOD_RESOUCEWATCHER_USERCODE_HEADER

+ 49 - 0
Module/mod_ResourceWatcher/ResourceWatcher_client_g.h

@@ -646,6 +646,55 @@ public:
 		return Error;
 	}
 
+	ErrorCodeEnum CheckIsFileExists(ResourceWatcherService_CheckIsFileExists_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
+	{
+		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
+		CAutoBuffer Buf = SpObject2Buffer(Req);
+		if (m_context.checkEmpty())
+		{
+			m_context.AutoGenerate();
+			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
+			m_context = m_context.upgradeLink();
+		}
+		auto ret = pFunc->AsyncRequest(ResourceWatcherService_Method_CheckIsFileExists, ResourceWatcherService_MethodSignature_CheckIsFileExists, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum CheckIsFileExists(ResourceWatcherService_CheckIsFileExists_Req &Req, ResourceWatcherService_CheckIsFileExists_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckIsFileExists(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum CheckIsFileExists(ResourceWatcherService_CheckIsFileExists_Req &Req, ResourceWatcherService_CheckIsFileExists_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckIsFileExists(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum CheckIsFileExists(ResourceWatcherService_CheckIsFileExists_Req &Req, ResourceWatcherService_CheckIsFileExists_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckIsFileExists(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			CSimpleString str;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+
 
 	bool SafeDelete()
 	{

+ 26 - 0
Module/mod_ResourceWatcher/ResourceWatcher_def_g.h

@@ -24,6 +24,7 @@ namespace ResourceWatcher {
 #define ResourceWatcherService_Method_ProcessDetectThirdPartyProgram 16
 #define ResourceWatcherService_Method_FilesClean 17
 #define ResourceWatcherService_Method_FetchSystemSnapshot 20
+#define ResourceWatcherService_Method_CheckIsFileExists 21
 
 #define ResourceWatcherService_MethodSignature_GetDevInfo 296205965
 #define ResourceWatcherService_MethodSignature_OperateFile 935567963
@@ -37,6 +38,7 @@ namespace ResourceWatcher {
 #define ResourceWatcherService_MethodSignature_ProcessDetectThirdPartyProgram -1692430185
 #define ResourceWatcherService_MethodSignature_FilesClean 624348486
 #define ResourceWatcherService_MethodSignature_FetchSystemSnapshot -1005346345
+#define ResourceWatcherService_MethodSignature_CheckIsFileExists -339255831
 
 #define ResourceWatcherService_LogCode_GetDevInfo "QLR040250A99"
 #define ResourceWatcherService_LogCode_OperateFile "QLR040250A03"
@@ -50,6 +52,7 @@ namespace ResourceWatcher {
 #define ResourceWatcherService_LogCode_ProcessDetectThirdPartyProgram "QLR040250A16"
 #define ResourceWatcherService_LogCode_FilesClean "QLR040250A17"
 #define ResourceWatcherService_LogCode_FetchSystemSnapshot "QLR040250A20"
+#define ResourceWatcherService_LogCode_CheckIsFileExists "QLR040250A21"
 
 struct ResourceWatcherService_GetDevInfo_Req
 {
@@ -411,6 +414,29 @@ struct ResourceWatcherService_FetchSystemSnapshot_Ans
 
 };
 
+struct ResourceWatcherService_CheckIsFileExists_Req
+{
+	int filetype;
+	CSimpleStringW filename;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & filetype & filename;
+	}
+
+};
+
+struct ResourceWatcherService_CheckIsFileExists_Ans
+{
+	int result;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result;
+	}
+
+};
+
 
 ///////////////////////////
 

+ 27 - 0
Module/mod_ResourceWatcher/ResourceWatcher_server_g.h

@@ -114,6 +114,13 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
+		case ResourceWatcherService_Method_CheckIsFileExists:
+			if (dwSignature == ResourceWatcherService_MethodSignature_CheckIsFileExists) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -185,6 +192,11 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
+		case ResourceWatcherService_Method_CheckIsFileExists:
+			if (dwSignature != ResourceWatcherService_MethodSignature_CheckIsFileExists) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -252,6 +264,11 @@ public:
 	/// override by user
 	}
 
+	virtual void Handle_CheckIsFileExists(SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req, ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
 	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		CAutoBuffer Buf;
@@ -388,6 +405,16 @@ public:
 						Handle_FetchSystemSnapshot(ctx);
 					}
 					break;
+				case ResourceWatcherService_Method_CheckIsFileExists:
+					{
+						SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req,ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req,ResourceWatcherService_CheckIsFileExists_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_CheckIsFileExists(ctx);
+					}
+					break;
 				default:
 					assert(0);
 					break;

+ 88 - 0
Module/mod_ResourceWatcher/mod_ResourceWatcher.cpp

@@ -115,6 +115,12 @@ void ResourceWatcherServiceSession::Handle_FetchSystemSnapshot(SpReqAnsContext<R
     m_pEntity->FetchSystemSnapshot(ctx);
 }
 
+void ResourceWatcherServiceSession::Handle_CheckIsFileExists(SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req, ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx)
+{
+    DbgToBeidou(ctx->link, __FUNCTION__)();
+    m_pEntity->CheckIsFileExists(ctx);
+}
+
 void ResourceWatcherServiceSession::Handle_OperateFile
 (SpReqAnsContext<ResourceWatcherService_OperateFile_Req,
     ResourceWatcherService_OperateFile_Ans>::Pointer ctx)
@@ -453,6 +459,30 @@ ErrorCodeEnum SetFileExecutePriviledge(LPCTSTR lpcszDirOrFilePath)
     return result;
 }
 
+static int IsFileExists(const char* pfilename)
+{
+    int iRet = -1;
+#ifdef RVC_OS_WIN
+    if (ExistsFileA(pfilename)) {
+        iRet = 0;
+    }
+    else {
+        iRet = GetLastError(); 
+        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("find file(%s) last error code is %d.", pfilename, iRet);
+    }
+#else
+    struct stat statbuf;
+    if (0 == stat(pfilename, &statbuf)) {
+        iRet = 0;
+    }
+    else {
+        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("find file(%s) errno info is %s.", pfilename, strerror(errno));
+        iRet = errno;
+    }
+#endif // RVC_OS_WIN
+    return iRet;
+}
+
 void ResourceWatcherEntity::InstallThirdPartyProgram(SpReqAnsContext<ResourceWatcherService_InstallThirdPartyProgram_Req, ResourceWatcherService_InstallThirdPartyProgram_Ans>::Pointer ctx)
 {
     ErrorCodeEnum result(Error_Succeed);
@@ -2636,6 +2666,64 @@ void ResourceWatcherEntity::FetchSystemSnapshot(
     }
 }
 
+int ResourceWatcherEntity::CheckMediaResource(int iFileType, const char* pFileName)
+{
+    int iRet = -1;
+    CSimpleStringA strRootPath("");
+    CSimpleStringA strFileFolder("");
+    CSimpleStringA strFilePath("");
+    ErrorCodeEnum Error = GetFunction()->GetPath("ADData", strRootPath);
+    if (AudioDefaultPath == iFileType) {
+        strFileFolder = strRootPath + SPLIT_SLASH_STR + "Audio" + SPLIT_SLASH_STR;
+    }
+    else {
+        strFileFolder = strRootPath + SPLIT_SLASH_STR + "Video" + SPLIT_SLASH_STR;
+    }
+    strFilePath = strFileFolder + pFileName;
+
+    iRet = IsFileExists(strFilePath.GetData());
+
+    return iRet;
+}
+
+void ResourceWatcherEntity::CheckIsFileExists(SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req, ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx)
+{
+    int iResult = -1;
+    ErrorCodeEnum Error = Error_Succeed;
+    DWORD warnCode = 0; 
+    if (ctx->Req.filename.GetLength() > 0) {
+        CSimpleStringA strFileName = CSimpleStringW2A(ctx->Req.filename);
+        switch (ctx->Req.filetype) {
+        case AbsolutePath:
+            iResult = IsFileExists(strFileName.GetData());
+            break;
+        case AudioDefaultPath:
+        case VideoDefaultPath:
+            iResult = CheckMediaResource(ctx->Req.filetype, strFileName.GetData());
+            break;
+        default:
+            Error = Error_NotSupport;
+            warnCode = LOG_WARN_FILECHECK_NOTSUPPORT_TYPE;
+            DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("filetype = %d.", ctx->Req.filetype);
+            DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA5A10").setAPI(__FUNCTION__)("目前不支持该类型文件检查");
+            break;
+        }
+    }
+    else {
+        Error = Error_Param;
+        warnCode = LOG_WARN_FILECHECK_ERRORPARAM;
+        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA5A11").setAPI(__FUNCTION__)("要检查的文件名为空");
+    }
+
+    ctx->Ans.result = iResult;
+    if (Error_Succeed == Error) {
+        ctx->Answer(Error);
+    }
+    else {
+        ctx->Answer(Error, warnCode);
+    }
+}
+
 #if defined(RVC_OS_WIN)
 
 SP_BEGIN_ENTITY_MAP()

+ 12 - 22
Module/mod_ResourceWatcher/mod_ResourceWatcher.h

@@ -19,6 +19,10 @@ class ResourceWatcherEntity;
 
 #define ENCODING (X509_ASN_ENCODING | PKCS_7_ASN_ENCODING)  
 
+const int AbsolutePath = 0;
+const int AudioDefaultPath = 1; 
+const int VideoDefaultPath = 2; 
+
 class ResourceWatcherServiceSession : public ResourceWatcherService_ServerSessionBase
 {
 public:
@@ -51,6 +55,9 @@ public:
 	virtual void Handle_FilesClean(SpReqAnsContext<ResourceWatcherService_FilesClean_Req, ResourceWatcherService_FilesClean_Ans>::Pointer ctx);
 
 	virtual void Handle_FetchSystemSnapshot(SpReqAnsContext<ResourceWatcherService_FetchSystemSnapshot_Req, ResourceWatcherService_FetchSystemSnapshot_Ans>::Pointer ctx);
+
+	virtual void Handle_CheckIsFileExists(SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req, ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx);
+
 private:
 	ResourceWatcherEntity* m_pEntity;
 };
@@ -261,6 +268,11 @@ public:
 	void UninstallSogou(SpReqAnsContext<ResourceWatcherService_UninstallThirdPartyProgram_Req,
 		ResourceWatcherService_UninstallThirdPartyProgram_Ans>::Pointer ctx);
 
+	void CheckIsFileExists(SpReqAnsContext<ResourceWatcherService_CheckIsFileExists_Req, 
+		ResourceWatcherService_CheckIsFileExists_Ans>::Pointer ctx);
+
+	int CheckMediaResource(int iFileType, const char* pFileName);
+
 #if defined(_MSC_VER)
 	SP_BEGIN_MSG_DISPATCH_MAP(ResourceWatcherEntity)
 		SP_BEGIN_ENTITY_MSG("UpgradeManager")
@@ -322,28 +334,6 @@ private:
 					GetFunction()->KillTimer(ENT_TIMERID_CHECK_SOGOU_INPUT_INSTALLED_STATE);
 					GetFunction()->SetTimer(ENT_TIMERID_CHECK_SOGOU_INPUT_PROCESS_STATUS_CHANGE,
 						this, ENT_TIMERINTERVAL_CHECK_SOGOU_INPUT_PROCESS_STATUS_CHANGE);
-
-					///**TODO(Gifur@10/9/2023): 等普通调用版本的输入法全行推广后,这块很多功能逻辑可以下线了 */
-#if defined(_MSC_VER)
-					//进入主页面后,检测安装状态,安装成功则执行一次启动脚本
-					///**TODO(Gifur@10/9/2023): 这段逻辑有点奇怪,上面的接口并不是安装输入法的功能,只是检测输入法的状态,这里每次都运行一次启动逻辑??*/
-					//答:这段定时器在检测到安装了输入法之后就只会执行一次,定时器被KILL掉了,之后只会检测搜狗进程的变化
-					CSimpleStringA csBinPath;
-					ErrorCodeEnum eErrPath = GetFunction()->GetPath("Bin", csBinPath);
-					if (eErrPath != Error_Succeed) {
-						DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("GetBasePath failed.");
-					}
-					else {
-						CSimpleStringA startPath = csBinPath + SPLIT_SLASH_STR + "spScript" + SPLIT_SLASH_STR + "SogouServStarter.bat";
-						int startFlag = WinExec(startPath.GetData(), SW_HIDE);
-						if (startFlag > 31) {
-							DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("检测到已安装搜狗输入法,执行搜狗启动脚本!路径:%s。", startPath.GetData());
-						}
-						else {
-							DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("执行启动脚本异常!路径:%s。", startPath.GetData());
-						}
-					}
-#endif //_MSC_VER
 				}
 			}
 			else {

+ 5 - 1
Module/mod_cardissuerstore/CardIssuerFSM.cpp

@@ -6104,6 +6104,7 @@ int CCardIssuerFSM::IssueCardFromStore(SpReqAnsContext<CardIssuerStoreService_Is
 int CCardIssuerFSM::AddCardToStoreStepFirst(SpReqAnsContext<CardIssuerStoreService_IssueEx_Req, CardIssuerStoreService_IssueEx_Ans>::Pointer ctx)
 {
 	LOG_FUNCTION();
+	LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_STORE_ADD_CARD, "AddCardToStoreStepFirst on");
 	m_addCardNo = "";
 	m_addCardSerial = "";
 	ErrorCodeEnum eErr = Error_Unexpect;
@@ -6496,6 +6497,7 @@ void CCardIssuerFSM::AfterPreOnlineOnStore(ErrorCodeEnum err, const int slot)
 bool CCardIssuerFSM::OperateCardStore(CSmartPointer<IConfigInfo>& spConfigRun, int slot, int& status)
 {
 	ErrorCodeEnum eErr = Error_Unexpect;
+	LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_STORE_BATCH_READ_CARDINFO, "OperateCardStore on");
 	CSimpleStringA errMsg(true);
 	long l_beginTime, l_endTime;
 	l_beginTime = GetTickCountRVC();
@@ -7283,7 +7285,7 @@ void CCardIssuerFSM::GetCardProcessLastErr(ErrorCodeEnum& eErrCode, CSimpleStrin
 	CSimpleStringA lastApiName = "";
 	m_pCardProcess->getCardAssistLastErr(lastErrCode, lastErrMsg, lastApiName);
 	
-	const CSimpleStringA alarmMsgStr = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":%s, \"Context\":%s}"
+	const CSimpleStringA alarmMsgStr = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
 		, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
 
 	std::map<std::string, std::string> msgInfo;
@@ -7631,6 +7633,7 @@ int CCardIssuerFSM::AddAndReadCardFromBoxJS(SpReqAnsContext<CardIssuerStoreServi
 {
 	LOG_FUNCTION();
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("加卡箱加卡开始");
+	LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_STORE_ADD_CARD, "AddAndReadCardFromBoxJS on");
 	m_mapJsonErr.clear();
 	FSMSetIssueFlag(1);
 
@@ -7939,6 +7942,7 @@ int CCardIssuerFSM::MoveBacktoSlotJS(SpReqAnsContext<CardIssuerStoreService_Move
 
 bool CCardIssuerFSM::OperateNewCardStore(int slot, CSimpleStringA& addCardNo, CSimpleStringA& addCardSerial, int& status)
 {
+	LogEvent(Severity_Middle, LOG_EVT_CARDISSUER_STORE_BATCH_READ_CARDINFO, "OperateNewCardStore on");
 	ErrorCodeEnum eErr = Error_Unexpect;
 	CSimpleStringA errMsg(true);
 	long l_beginTime, l_endTime;

+ 4 - 0
Module/mod_counterconnector/ConnectorFSM.cpp

@@ -1469,12 +1469,14 @@ unsigned int ACMCallFSM::s3_on_event(FSMEvent* event)
 		if (ReConnectionAssistchan()) {
 			m_bConAssist = true;
 		}
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402304C4").setResultCode("RTA3461")("handfree mode disconnect the video connection for assist channel entity error");
 	}
 	else if (event->iEvt == USER_EVT_SIPPHONE_IDEL)
 	{
 		if (ReConnectionSipphone()) {
 			m_bConSipphone = true;
 		}
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402304C4").setResultCode("RTA3462")("handfree mode disconnect the video connection for sipphone entity error");
 	}
 	return 0;
 }
@@ -1515,12 +1517,14 @@ unsigned int ACMCallFSM::s4_on_event(FSMEvent* event)
 		if (ReConnectionAssistchan()) {
 			m_bConAssist = true;
 		}
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402304C4").setResultCode("RTA3463")("pickup mode disconnect the video connection for assist channel entity error");
 	}
 	else if (event->iEvt == USER_EVT_SIPPHONE_IDEL)
 	{
 		if (ReConnectionSipphone()) {
 			m_bConSipphone = true;
 		}
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402304C4").setResultCode("RTA3464")("pickup mode disconnect the video connection for sipphone entity error");
 	}
 	return 0;
 }

+ 5 - 5
Module/mod_evtconverter/CMakeLists.txt

@@ -4,25 +4,25 @@ set(${MODULE_PREFIX}_SRCS
 	evtengine.cpp
 	evtengine.h
 	mod_evtconverter.cpp
+	slot.h
+	trigger.h
+	SipphoneEvent.hpp
 	)
 
 set(MOD_VERSION_STRING "0.0.2-dev1")
 add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
 
 target_include_directories(${MODULE_NAME} PRIVATE
-	${CONAN_INCLUDE_DIRS_SCEW}
-	${CONAN_INCLUDE_DIRS_EXPAT}
+
 )
 
 target_link_directories(${MODULE_NAME} PRIVATE
 	${ThirdPartyLib}
-	${CONAN_LIB_DIRS_SCEW}
-	${CONAN_LIB_DIRS_EXPAT}
 )
 
 
 # 添加实体需要依赖的其他共享库(包括系统库)
-set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_ALL_LIBS} ${CONAN_LIBS_SCEW} ${CONAN_LIBS_EXPAT})
+set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_ALL_LIBS})
 target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
 
 deploy_module(${MODULE_PREFIX} ${MODULE_NAME})

+ 867 - 0
Module/mod_evtconverter/CustomerApproachEvent.hpp

@@ -0,0 +1,867 @@
+#ifndef _CUSTOMER_APPROACH_EVENT_HPP
+#define _CUSTOMER_APPROACH_EVENT_HPP
+
+#pragma once
+
+#include "slot.h"
+#include "trigger.h"
+
+//typedef struct rvc_slotvar_s {
+//	char* strName;
+//	char* strValue;
+//}rvc_slotvar_t;
+
+//typedef struct rvc_slotfilter_s {
+//	char* strLogType;
+//	char* strEntity;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strContentToVar
+//}rvc_slotfilter_t;
+
+
+//typedef struct rvc_slot_s {
+//	char* strCode;
+//	char* strTimeout;
+//	char* strOneTrigger;
+//	rvc_slotvar_t Vars[RVC_MAX_SLOT_FIELD_LEN];
+//	rvc_slotfilter_t Filters[RVC_MAX_SLOT_FIELD_LEN];
+//	char* strResetSource
+//}rvc_slot_t;
+
+
+//<SlotList>
+//	<Slot Code = "ApproachSlot" Timeout = "8s">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100001" / ><!--customer approach, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20800010" / ><!--high energy audio, by media controller-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200001" / ><!--customer approach, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200003" / ><!--customer operate, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200006" / ><!--customer appear, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900009" / ><!--customer approach, by move detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200011" / ><!-- catch face, by face detection-->
+//	</Slot>
+// 
+//	<Slot Code = "LeaveSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100002" / ><!--customer leave, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200002" / ><!--customer leave, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200012" / ><!--no face, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00002" / ><!--customer leave, by gesture detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x2090000a" / ><!--move detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x21500002" / ><!--stop printseal-->
+//	</Slot>
+//
+//	<Slot Code = "ConfirmLeaveSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30903081" / ><!--customer leave via agent, by mod_bizchannel-->
+//	</Slot>
+//
+//	<Slot Code = "EnterFrontSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100003" / ><!--enter front, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200003" / ><!--enter front distance, by face tracing-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00003" / ><!--by gesture detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20800001" / ><!--by media controller-->
+//	</Slot>
+//
+//	<Slot Code = "OperateSlot" Timeout = "60s">
+//		<Filter LogType = "Log_Event" UserCode = "0x20190001" / ><!--IDCertificate Card Reader-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20290001" / ><!--BankCard Reader-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20690001" / ><!--Keypad user enter key-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005" / ><!--phone pick up-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900006" / ><!--phone pick off-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900001" / ><!--shock-->
+//		<Filter LogType = "Log_Event" UserCode = "0x40100001" / ><!--issue from mod_browser, mouse hook proc-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20400001" / ><!--scanner not used now-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20700001" / ><!--ukey inserted event-->
+//		<Filter LogType = "Log_Event" UserCode = "0x21500001" / ><!--start printseal-->
+//		<Filter LogType = "Log_Event" UserCode = "0x21400003" / ><!--netbank ukey insert-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30B00009" / ><!--ui send operate state-->
+//		<Filter LogType = "Log_Event" UserCode = "0x10313088" / ><!--hangup call-->
+//		<Reset Source = "ApproachSlot" / >
+//	</Slot>
+//	
+//	<Slot Code = "LeaveToApproachSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100004" / ><!--back to approach, issue by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200004" / ><!--face detection and tracing-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00004" / ><!--gesture detection-->
+//	</Slot>
+//
+//	<Slot Code = "LockFaceSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200011" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "LostLockFaceSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200012" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "EnterFocusSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200001" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "EmergencyExitSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200005" / ><!--change person by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30E10001" / ><!--audio wave info has change-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30903082" / ><!--via agent by mod_bizchannel-->
+//	</Slot>
+//
+//	<Slot Code = "NUICommandSlot" Timeout = "5s">
+//		<Filter LogType = "Log_Event" UserCode = "0xffff0000" / ><!--natual interface-->
+//	</Slot>
+//
+//	<Slot Code = "AgentHelpOperationSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x48000004" / ><!--operation help by mod_browser-->
+//	</Slot>
+//</SlotList>
+
+
+rvc_slot_t ApproachSlot =
+{
+	"ApproachSlot",
+	"8s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20800010", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900009", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200011", NULL}
+	},
+	{}
+};
+
+rvc_slot_t LeaveSlot =
+{
+	"LeaveSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200012", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x2090000a", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x21500002", NULL}
+	},
+	{}
+};
+
+rvc_slot_t ConfirmLeaveSlot =
+{
+	"ConfirmLeaveSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30903081", NULL}
+	},
+	{}
+};
+
+rvc_slot_t EnterFrontSlot =
+{
+	"EnterFrontSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20800001", NULL}
+	},
+	{}
+};
+
+rvc_slot_t OperateSlot =
+{
+	"OperateSlot",
+	"60s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20190001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20290001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20690001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x40100001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20400001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20700001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x21500001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x21400003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30B00009", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x10313088", NULL}
+	},
+	{
+		"ApproachSlot"
+	}
+};
+
+rvc_slot_t LeaveToApproachSlot =
+{
+	"LeaveToApproachSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100004", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200004", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00004", NULL}
+	},
+	{}
+};
+
+rvc_slot_t LockFaceSlot =
+{
+	"LockFaceSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200011", NULL}
+	},
+	{}
+};
+
+rvc_slot_t LostLockFaceSlot =
+{
+	"LostLockFaceSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200012", NULL}
+	},
+	{}
+};
+
+rvc_slot_t EnterFocusSlot =
+{
+	"EnterFocusSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200001", NULL}
+	},
+	{}
+};
+
+rvc_slot_t EmergencyExitSlot =
+{
+	"EmergencyExitSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30E10001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30903082", NULL}
+	},
+	{}
+};
+
+rvc_slot_t NUICommandSlot =
+{
+	"NUICommandSlot",
+	"5s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0xffff0000", NULL}
+	},
+	{}
+};
+
+rvc_slot_t AgentHelpOperationSlot =
+{
+	"AgentHelpOperationSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x48000004", NULL}
+	},
+	{}
+};
+
+
+//<TriggerList>
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303080" SeverityLevel = "2" Message = "CustomerApproachEvent">
+//		<Slot Code = "ApproachSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent1">
+//		<Slot Code = "LeaveSlot"/>
+//		<Slot Code = "ApproachSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent2">
+//		<Slot Code = "LeaveSlot"/>
+//		<Slot Code = "ApproachSlot" Positive = "false"/>
+//		<Slot Code = "OperateSlot" Positive = "false"/>
+//		<Slot Code = "NUICommandSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent3">
+//		<Slot Code = "ConfirmLeaveSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303082" SeverityLevel = "2" Message = "FrontEvent1">
+//		<Slot Code = "EnterFrontSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303082" SeverityLevel = "2" Message = "FrontEvent2">
+//		<Slot Code = "OperateSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//	
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303083" SeverityLevel = "2" Message = "LeaveToApproachEvent">
+//		<Slot Code = "LeaveToApproachSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303084" SeverityLevel = "2" Message = "LockFaceEvent">
+//		<Slot Code = "LockFaceSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303085" SeverityLevel = "2" Message = "LostLockFaceEvent">
+//		<Slot Code = "LostLockFaceSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent1">
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent2">
+//		<Slot Code = "EnterFocusSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent3">
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313081" SeverityLevel = "2" Message = "NoCustomerEvent">
+//		<SysVar Code = "CustomerBeing">
+//			<state>N</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>A</state>
+//			<state>C</state>
+//		</SysVar>
+//		<Delayer>3s</Delayer>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313082" SeverityLevel = "2" Message = "EmergencyExitEvent">
+//		<Slot Code = "EmergencyExitSlot"/>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//			<state>T</state>
+//			<state>G</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313083" SeverityLevel = "2" Message = "ControlEvent1">
+//		<Slot Code = "OperateSlot"/>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313083" SeverityLevel = "2" Message = "ControlEvent2">
+//		<Slot Code = "NUICommandSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313084" SeverityLevel = "2" Message = "LeaveToAttentionEvent">
+//		<Slot Code = "OperateSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313085" SeverityLevel = "2" Message = "AssistEvent">
+//		<SysVar Code = "CallState">
+//			<state>H</state>
+//			<state>P</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313086" SeverityLevel = "2" Message = "AgentEvent">
+//		<Slot Code = "AgentHelpOperationSlot"/>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313087" SeverityLevel = "2" Message = "LeaveToControlEvent">
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>T</state>
+//			<state>G</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313088" SeverityLevel = "2" Message = "CallHangupEvent">
+//		<SysVar Code = "CallState">
+//			<state>B</state>
+//		</SysVar>
+//	</Trigger>
+//</TriggerList>
+
+
+
+rvc_trigger_t trigCustomerApproachEvent = {
+	"Log_Event",
+	"0x10303080",
+	"2",
+	"CustomerApproachEvent",
+	NULL,
+	{
+		{"ApproachSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCustomerLeaveEvent1 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent1",
+	NULL,
+	{
+		{"LeaveSlot", NULL, NULL},
+		{"ApproachSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCustomerLeaveEvent2 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent2",
+	NULL,
+	{
+		{"LeaveSlot", NULL, NULL},
+		{"ApproachSlot", "false", NULL},
+		{"OperateSlot", "false", NULL},
+		{"NUICommandSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F","L"}},
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCustomerLeaveEvent3 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent3",
+	NULL,
+	{
+		{"ConfirmLeaveSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A","F","L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigFrontEvent1 = {
+	"Log_Event",
+	"0x10303082",
+	"2",
+	"FrontEvent1",
+	NULL,
+	{
+		{"EnterFrontSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigFrontEvent2 = {
+	"Log_Event",
+	"0x10303082",
+	"2",
+	"FrontEvent2",
+	NULL,
+	{
+		{"OperateSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigLeaveToApproachEvent = {
+	"Log_Event",
+	"0x10303083",
+	"2",
+	"LeaveToApproachEvent",
+	NULL,
+	{
+		{"LeaveToApproachSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F","L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigLockFaceEvent = {
+	"Log_Event",
+	"0x10303084",
+	"2",
+	"LockFaceEvent",
+	NULL,
+	{
+		{"LockFaceSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigLostLockFaceEvent = {
+	"Log_Event",
+	"0x10303085",
+	"2",
+	"LostLockFaceEvent",
+	NULL,
+	{
+		{"LostLockFaceSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigAttentionEvent1 = {
+	"Log_Event",
+	"0x10313080",
+	"2",
+	"AttentionEvent1",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigAttentionEvent2 = {
+	"Log_Event",
+	"0x10313080",
+	"2",
+	"AttentionEvent2",
+	NULL,
+	{
+		{"EnterFocusSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigAttentionEvent3 = {
+	"Log_Event",
+	"0x10313080",
+	"2",
+	"AttentionEvent3",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"F"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigNoCustomerEvent = {
+	"Log_Event",
+	"0x10313081",
+	"2",
+	"NoCustomerEvent",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"N"}},
+		{"CustomerHandle", NULL, {"A","C"}}
+	},
+	"3s"
+};
+
+rvc_trigger_t trigEmergencyExitEvent = {
+	"Log_Event",
+	"0x10313082",
+	"2",
+	"EmergencyExitEvent",
+	NULL,
+	{
+		{"EmergencyExitSlot", NULL, NULL}
+	},
+	{
+		{"CustomerHandle", NULL, {"C","T","G"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigControlEvent1 = {
+	"Log_Event",
+	"0x10313083",
+	"2",
+	"ControlEvent1",
+	NULL,
+	{
+		{"OperateSlot", NULL, NULL}
+	},
+	{
+		{"CustomerHandle", NULL, {"N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigControlEvent2 = {
+	"Log_Event",
+	"0x10313083",
+	"2",
+	"ControlEvent2",
+	NULL,
+	{
+		{"NUICommandSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F"}},
+		{"CustomerHandle", NULL, {"N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigLeaveToAttentionEvent = {
+	"Log_Event",
+	"0x10313084",
+	"2",
+	"LeaveToAttentionEvent",
+	NULL,
+	{
+		{"OperateSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"C"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigAssistEvent = {
+	"Log_Event",
+	"0x10313085",
+	"2",
+	"AssistEvent",
+	NULL,
+	{},
+	{
+		{"CallState", NULL, {"H","P"}},
+		{"CustomerHandle", NULL, {"C"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigAgentEvent = {
+	"Log_Event",
+	"0x10313086",
+	"2",
+	"AgentEvent",
+	NULL,
+	{
+		{"AgentHelpOperationSlot", NULL, NULL}
+	},
+	{},
+	NULL
+};
+
+
+rvc_trigger_t trigLeaveToControlEvent = {
+	"Log_Event",
+	"0x10313087",
+	"2",
+	"LeaveToControlEvent",
+	NULL,
+	{},
+	{
+		{"CallState", NULL, {"O"}},
+		{"CustomerHandle", NULL, {"T","G"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCallHangupEvent = {
+	"Log_Event",
+	"0x10313088",
+	"2",
+	"CallHangupEvent",
+	NULL,
+	{},
+	{
+		{"CallState", NULL, {"B"}}
+	},
+	NULL
+};
+
+
+rvc_slot_t CustomerApproachSlotList[] = {
+	ApproachSlot,
+	LeaveSlot,
+	ConfirmLeaveSlot,
+	EnterFrontSlot,
+	OperateSlot,
+	LeaveToApproachSlot,
+	LockFaceSlot,
+	LostLockFaceSlot,
+	EnterFocusSlot,
+	EmergencyExitSlot,
+	NUICommandSlot,
+	AgentHelpOperationSlot
+};
+
+rvc_trigger_t CustomerApproachTriggerList[] = {
+	trigCustomerApproachEvent,
+	trigCustomerLeaveEvent1,
+	trigCustomerLeaveEvent2,
+	trigCustomerLeaveEvent3,
+	trigFrontEvent1,
+	trigFrontEvent2,
+	trigLeaveToApproachEvent,
+	trigLockFaceEvent,
+	trigLostLockFaceEvent,
+	trigAttentionEvent1,
+	trigAttentionEvent2,
+	trigAttentionEvent3,
+	trigNoCustomerEvent,
+	trigEmergencyExitEvent,
+	trigControlEvent1,
+	trigControlEvent2,
+	trigLeaveToAttentionEvent,
+	trigAssistEvent,
+	trigAgentEvent,
+	trigLeaveToControlEvent,
+	trigCallHangupEvent
+};
+
+
+#endif

+ 842 - 0
Module/mod_evtconverter/CustomerApproachEventCardStore.hpp

@@ -0,0 +1,842 @@
+#ifndef _CUSTOMER_APPROACH_CARDSTORE_EVENT_HPP
+#define _CUSTOMER_APPROACH_CARDSTORE_EVENT_HPP
+
+#pragma once
+
+#include "slot.h"
+#include "trigger.h"
+
+//typedef struct rvc_slotvar_s {
+//	char* strName;
+//	char* strValue;
+//}rvc_slotvar_t;
+
+//typedef struct rvc_slotfilter_s {
+//	char* strLogType;
+//	char* strEntity;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strContentToVar
+//}rvc_slotfilter_t;
+
+
+//typedef struct rvc_slot_s {
+//	char* strCode;
+//	char* strTimeout;
+//	char* strOneTrigger;
+//	rvc_slotvar_t Vars[RVC_MAX_SLOT_FIELD_LEN];
+//	rvc_slotfilter_t Filters[RVC_MAX_SLOT_FIELD_LEN];
+//	char* strResetSource
+//}rvc_slot_t;
+
+
+//<SlotList>
+//	<Slot Code = "ApproachSlot" Timeout = "8s">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100001" / ><!--customer approach, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20800010" / ><!--high energy audio, by media controller-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200001" / ><!--customer approach, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200003" / ><!--customer operate, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200006" / ><!--customer appear, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900009" / ><!--customer approach, by move detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200011" / ><!-- catch face, by face detection-->
+//	</Slot>
+// 
+//	<Slot Code = "LeaveSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100002" / ><!--customer leave, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200002" / ><!--customer leave, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200012" / ><!--no face, by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00002" / ><!--customer leave, by gesture detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x2090000a" / ><!--move detection-->
+//	</Slot>
+//
+//	<Slot Code = "ConfirmLeaveSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30903081" / ><!--customer leave via agent, by mod_bizchannel-->
+//	</Slot>
+//
+//	<Slot Code = "EnterFrontSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100003" / ><!--enter front, by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200003" / ><!--enter front distance, by face tracing-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00003" / ><!--by gesture detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20800001" / ><!--by media controller-->
+//	</Slot>
+//
+//	<Slot Code = "OperateSlot" Timeout = "60s">
+//		<Filter LogType = "Log_Event" UserCode = "0x20190001" / ><!--IDCertificate Card Reader-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20290001" / ><!--BankCard Reader-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20690001" / ><!--Keypad user enter key-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005" / ><!--phone pick up-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900006" / ><!--phone pick off-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20900001" / ><!--shock-->
+//		<Filter LogType = "Log_Event" UserCode = "0x40100001" / ><!--issue from mod_browser, mouse hook proc-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20400001" / ><!--scanner not used now-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20700001" / ><!--ukey inserted event-->
+//		<Filter LogType = "Log_Event" UserCode = "0x21400003" / ><!--netbank ukey insert-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30B00009" / ><!--ui send operate state-->
+// 		<Filter LogType = "Log_Event" UserCode = "0x22090006" / ><!-- batch read cardinfo-->
+//		<Filter LogType = "Log_Event" UserCode = "0x22090007" / ><!--add card-->
+//		<Reset Source = "ApproachSlot" / >
+//	</Slot>
+//	
+//	<Slot Code = "LeaveToApproachSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x21100004" / ><!--back to approach, issue by radar-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30200004" / ><!--face detection and tracing-->
+//		<Filter LogType = "Log_Event" UserCode = "0x20B00004" / ><!--gesture detection-->
+//	</Slot>
+//
+//	<Slot Code = "LockFaceSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200011" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "LostLockFaceSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200012" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "EnterFocusSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200001" / ><!--by face detection-->
+//	</Slot>
+//
+//	<Slot Code = "EmergencyExitSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30200005" / ><!--change person by face detection-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30E10001" / ><!--audio wave info has change-->
+//		<Filter LogType = "Log_Event" UserCode = "0x30903082" / ><!--via agent by mod_bizchannel-->
+//	</Slot>
+//
+//	<Slot Code = "NUICommandSlot" Timeout = "5s">
+//		<Filter LogType = "Log_Event" UserCode = "0xffff0000" / ><!--natual interface-->
+//	</Slot>
+//
+//	<Slot Code = "AgentHelpOperationSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x48000004" / ><!--operation help by mod_browser-->
+//	</Slot>
+//</SlotList>
+
+
+rvc_slot_t CardStoreApproachSlot =
+{
+	"ApproachSlot",
+	"8s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20800010", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900009", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200011", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreLeaveSlot =
+{
+	"LeaveSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200012", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00002", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x2090000a", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreConfirmLeaveSlot =
+{
+	"ConfirmLeaveSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30903081", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreEnterFrontSlot =
+{
+	"EnterFrontSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20800001", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreOperateSlot =
+{
+	"OperateSlot",
+	"60s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20190001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20290001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20690001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20900001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x40100001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20400001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20700001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x21400003", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30B00009", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x22090006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x22090007", NULL}
+	},
+	{
+		"ApproachSlot"
+	}
+};
+
+rvc_slot_t CardStoreLeaveToApproachSlot =
+{
+	"LeaveToApproachSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x21100004", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30200004", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x20B00004", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreLockFaceSlot =
+{
+	"LockFaceSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200011", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreLostLockFaceSlot =
+{
+	"LostLockFaceSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200012", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreEnterFocusSlot =
+{
+	"EnterFocusSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200001", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreEmergencyExitSlot =
+{
+	"EmergencyExitSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30200005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30E10001", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30903082", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreNUICommandSlot =
+{
+	"NUICommandSlot",
+	"5s",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0xffff0000", NULL}
+	},
+	{}
+};
+
+rvc_slot_t CardStoreAgentHelpOperationSlot =
+{
+	"AgentHelpOperationSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x48000004", NULL}
+	},
+	{}
+};
+
+
+//<TriggerList>
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303080" SeverityLevel = "2" Message = "CustomerApproachEvent">
+//		<Slot Code = "ApproachSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent1">
+//		<Slot Code = "ApproachSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent2">
+//		<Slot Code = "ApproachSlot" Positive = "false"/>
+//		<Slot Code = "OperateSlot" Positive = "false"/>
+//		<Slot Code = "NUICommandSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+// 			<state>A</state>
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303081" SeverityLevel = "2" Message = "CustomerLeaveEvent3">
+//		<Slot Code = "ConfirmLeaveSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303082" SeverityLevel = "2" Message = "FrontEvent1">
+//		<Slot Code = "EnterFrontSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303082" SeverityLevel = "2" Message = "FrontEvent2">
+//		<Slot Code = "OperateSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>S</state>
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//	
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303083" SeverityLevel = "2" Message = "LeaveToApproachEvent">
+//		<Slot Code = "LeaveToApproachSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303084" SeverityLevel = "2" Message = "LockFaceEvent">
+//		<Slot Code = "LockFaceSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303085" SeverityLevel = "2" Message = "LostLockFaceEvent">
+//		<Slot Code = "LostLockFaceSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>L</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent1">
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent2">
+//		<Slot Code = "EnterFocusSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313080" SeverityLevel = "2" Message = "AttentionEvent3">
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313081" SeverityLevel = "2" Message = "NoCustomerEvent">
+//		<SysVar Code = "CustomerBeing">
+//			<state>N</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>A</state>
+//			<state>C</state>
+//		</SysVar>
+//		<Delayer>3s</Delayer>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313082" SeverityLevel = "2" Message = "EmergencyExitEvent">
+//		<Slot Code = "EmergencyExitSlot"/>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//			<state>T</state>
+//			<state>G</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313083" SeverityLevel = "2" Message = "ControlEvent1">
+//		<Slot Code = "OperateSlot"/>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313083" SeverityLevel = "2" Message = "ControlEvent2">
+//		<Slot Code = "NUICommandSlot"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>F</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>N</state>
+//			<state>A</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313084" SeverityLevel = "2" Message = "LeaveToAttentionEvent">
+//		<Slot Code = "OperateSlot" Positive = "false"/>
+//		<SysVar Code = "CustomerBeing">
+//			<state>A</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313085" SeverityLevel = "2" Message = "AssistEvent">
+//		<SysVar Code = "CallState">
+//			<state>H</state>
+//			<state>P</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313086" SeverityLevel = "2" Message = "AgentEvent">
+//		<Slot Code = "AgentHelpOperationSlot"/>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10313087" SeverityLevel = "2" Message = "LeaveToControlEvent">
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//		<SysVar Code = "CustomerHandle">
+//			<state>T</state>
+//			<state>G</state>
+//		</SysVar>
+//	</Trigger>
+//</TriggerList>
+
+
+
+rvc_trigger_t trigCardStoreCustomerApproachEvent = {
+	"Log_Event",
+	"0x10303080",
+	"2",
+	"CustomerApproachEvent",
+	NULL,
+	{
+		{"ApproachSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreCustomerLeaveEvent1 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent1",
+	NULL,
+	{
+		{"ApproachSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreCustomerLeaveEvent2 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent2",
+	NULL,
+	{
+		{"ApproachSlot", "false", NULL},
+		{"OperateSlot", "false", NULL},
+		{"NUICommandSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A","F","L"}},
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreCustomerLeaveEvent3 = {
+	"Log_Event",
+	"0x10303081",
+	"2",
+	"CustomerLeaveEvent3",
+	NULL,
+	{
+		{"ConfirmLeaveSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A","F","L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreFrontEvent1 = {
+	"Log_Event",
+	"0x10303082",
+	"2",
+	"FrontEvent1",
+	NULL,
+	{
+		{"EnterFrontSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreFrontEvent2 = {
+	"Log_Event",
+	"0x10303082",
+	"2",
+	"FrontEvent2",
+	NULL,
+	{
+		{"OperateSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"S","N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreLeaveToApproachEvent = {
+	"Log_Event",
+	"0x10303083",
+	"2",
+	"LeaveToApproachEvent",
+	NULL,
+	{
+		{"LeaveToApproachSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F","L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreLockFaceEvent = {
+	"Log_Event",
+	"0x10303084",
+	"2",
+	"LockFaceEvent",
+	NULL,
+	{
+		{"LockFaceSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreLostLockFaceEvent = {
+	"Log_Event",
+	"0x10303085",
+	"2",
+	"LostLockFaceEvent",
+	NULL,
+	{
+		{"LostLockFaceSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"L"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreAttentionEvent1 = {
+	"Log_Event",
+	"0x10303085",
+	"2",
+	"AttentionEvent1",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreAttentionEvent2 = {
+	"Log_Event",
+	"0x10303085",
+	"2",
+	"AttentionEvent2",
+	NULL,
+	{
+		{"EnterFocusSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreAttentionEvent3 = {
+	"Log_Event",
+	"0x10313080",
+	"2",
+	"AttentionEvent3",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"F"}},
+		{"CustomerHandle", NULL, {"N"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreNoCustomerEvent = {
+	"Log_Event",
+	"0x10313081",
+	"2",
+	"NoCustomerEvent",
+	NULL,
+	{},
+	{
+		{"CustomerBeing", NULL, {"N"}},
+		{"CustomerHandle", NULL, {"A","C"}}
+	},
+	"3s"
+};
+
+rvc_trigger_t trigCardStoreEmergencyExitEvent = {
+	"Log_Event",
+	"0x10313082",
+	"2",
+	"EmergencyExitEvent",
+	NULL,
+	{
+		{"EmergencyExitSlot", NULL, NULL}
+	},
+	{
+		{"CustomerHandle", NULL, {"C","T","G"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreControlEvent1 = {
+	"Log_Event",
+	"0x10313083",
+	"2",
+	"ControlEvent1",
+	NULL,
+	{
+		{"OperateSlot", NULL, NULL}
+	},
+	{
+		{"CustomerHandle", NULL, {"N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreControlEvent2 = {
+	"Log_Event",
+	"0x10313083",
+	"2",
+	"ControlEvent2",
+	NULL,
+	{
+		{"NUICommandSlot", NULL, NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"F"}},
+		{"CustomerHandle", NULL, {"N","A"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreLeaveToAttentionEvent = {
+	"Log_Event",
+	"0x10313084",
+	"2",
+	"LeaveToAttentionEvent",
+	NULL,
+	{
+		{"OperateSlot", "false", NULL}
+	},
+	{
+		{"CustomerBeing", NULL, {"A"}},
+		{"CustomerHandle", NULL, {"C"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreAssistEvent = {
+	"Log_Event",
+	"0x10313085",
+	"2",
+	"AssistEvent",
+	NULL,
+	{},
+	{
+		{"CallState", NULL, {"H","P"}},
+		{"CustomerHandle", NULL, {"C"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigCardStoreAgentEvent = {
+	"Log_Event",
+	"0x10313086",
+	"2",
+	"AgentEvent",
+	NULL,
+	{
+		{"AgentHelpOperationSlot", NULL, NULL}
+	},
+	{},
+	NULL
+};
+
+
+rvc_trigger_t trigCardStoreLeaveToControlEvent = {
+	"Log_Event",
+	"0x10313087",
+	"2",
+	"LeaveToControlEvent",
+	NULL,
+	{},
+	{
+		{"CallState", NULL, {"O"}},
+		{"CustomerHandle", NULL, {"T","G"}}
+	},
+	NULL
+};
+
+
+rvc_slot_t CustomerApproachCardStoreSlotList[] = {
+	CardStoreApproachSlot,
+	CardStoreLeaveSlot,
+	CardStoreConfirmLeaveSlot,
+	CardStoreEnterFrontSlot,
+	CardStoreOperateSlot,
+	CardStoreLeaveToApproachSlot,
+	CardStoreLockFaceSlot,
+	CardStoreLostLockFaceSlot,
+	CardStoreEnterFocusSlot,
+	CardStoreEmergencyExitSlot,
+	CardStoreNUICommandSlot,
+	CardStoreAgentHelpOperationSlot
+};
+
+rvc_trigger_t CustomerApproachCardStoreTriggerList[] = {
+	trigCardStoreCustomerApproachEvent,
+	trigCardStoreCustomerLeaveEvent1,
+	trigCardStoreCustomerLeaveEvent2,
+	trigCardStoreCustomerLeaveEvent3,
+	trigCardStoreFrontEvent1,
+	trigCardStoreFrontEvent2,
+	trigCardStoreLeaveToApproachEvent,
+	trigCardStoreLockFaceEvent,
+	trigCardStoreLostLockFaceEvent,
+	trigCardStoreAttentionEvent1,
+	trigCardStoreAttentionEvent2,
+	trigCardStoreAttentionEvent3,
+	trigCardStoreNoCustomerEvent,
+	trigCardStoreEmergencyExitEvent,
+	trigCardStoreControlEvent1,
+	trigCardStoreControlEvent2,
+	trigCardStoreLeaveToAttentionEvent,
+	trigCardStoreAssistEvent,
+	trigCardStoreAgentEvent,
+	trigCardStoreLeaveToControlEvent
+};
+
+
+#endif

+ 349 - 0
Module/mod_evtconverter/SipphoneEvent.hpp

@@ -0,0 +1,349 @@
+#ifndef _SIPPHONE_EVENT_HPP
+#define _SIPPHONE_EVENT_HPP
+
+#pragma once
+
+#include "slot.h"
+#include "trigger.h"
+
+
+//typedef struct rvc_slotvar_s {
+//	char* strName;
+//	char* strValue;
+//}rvc_slotvar_t;
+
+//typedef struct rvc_slotfilter_s {
+//	char* strLogType;
+//	char* strEntity;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strContentToVar
+//}rvc_slotfilter_t;
+
+
+//typedef struct rvc_slot_s {
+//	char* strCode;
+//	char* strTimeout;
+//	char* strOneTrigger;
+//	rvc_slotvar_t Vars[RVC_MAX_SLOT_FIELD_LEN];
+//	rvc_slotfilter_t Filters[RVC_MAX_SLOT_FIELD_LEN];
+//	char* strResetSource
+//}rvc_slot_t;
+
+
+//<SlotList>
+//	<Slot Code = "PickupCallSlot" Timeout = "2s" OneTrigger = "true">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005"/>
+//	</Slot>
+//
+//	<Slot Code = "HandFreeCallSlot" Timeout = "0">
+//		<Var Name = "BusnessCode" Value = ""/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000001" ContentToVar = "BusnessCode"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000002" ContentToVar = "BusnessCode"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30E00001"/>
+//	</Slot>
+//
+//	<Slot Code = "HandFreeToPickupCallSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30902082"/>
+//	</Slot>
+//
+//	<Slot Code = "PickupToHandFreeSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900006"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30902081"/>
+//		<Reset Source = "PickupCallSlot"/>
+//	</Slot>
+//
+//	<Slot Code = "HangupCallSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30903041"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000003"/>
+//		<Reset Source = "PickupCallSlot"/>
+//	</Slot>
+//</SlotList>
+
+rvc_slot_t PickupCallSlot = 
+{ 
+	"PickupCallSlot", 
+	"2s",
+	"true",
+	{},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL}
+	}, 
+	{}
+};
+
+rvc_slot_t HandFreeCallSlot =
+{
+	"HandFreeCallSlot",
+	"0",
+	NULL,
+	{
+		{"BusnessCode", ""}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x48000001", "BusnessCode"},
+		{"Log_Event", NULL, NULL, NULL, "0x48000002", "BusnessCode"},
+		{"Log_Event", NULL, NULL, NULL, "0x30E00001", NULL},
+	},
+	{}
+};
+
+rvc_slot_t HandFreeToPickupCallSlot =
+{
+	"HandFreeToPickupCallSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30902082", NULL}
+	},
+	{}
+};
+
+rvc_slot_t PickupToHandFreeSlot =
+{
+	"PickupToHandFreeSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30902081", NULL}
+	},
+	{"PickupCallSlot"}
+};
+
+rvc_slot_t HangupCallSlot =
+{
+	"HangupCallSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30903041", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x48000003", NULL}
+	},
+	{"PickupCallSlot"}
+};
+
+
+//<TriggerList>
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303041" SeverityLevel = "2" Message = "PickupCallingEvent">
+//		<Slot Code = "PickupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303042" SeverityLevel = "2" Message = "#HandFreeCallingEvent">
+//		<Slot Code = "HandFreeCallSlot" Message = "$(BusnessCode)"/>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303046" SeverityLevel = "2" Message = "HandFreeToPickupEvent">
+//		<Slot Code = "HandFreeToPickupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//			<state>H</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303047" SeverityLevel = "2" Message = "PickupToHandFreeEvent">
+//		<Slot Code = "PickupToHandFreeSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>P</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent1">
+//		<Slot Code = "HangupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent2">
+//		<Slot Code = "HangupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>P</state>
+//			<state>H</state>
+//		</SysVar>
+//		<SysVar Code = "BackInitiative">
+//			<state>F</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303049" SeverityLevel = "2" Message = "HangupEvent3">
+//		<Slot Code = "PickupToHandFreeSlot" / >
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//</TriggerList>
+
+//typedef struct rvc_trigger_s {
+//	char* strLogType;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strMessage;
+//	rvc_triggerslot_t Slots[RVC_MAX_TRIG_FIELD_LEN];
+//	rvc_triggersysvar_t SysVars[RVC_MAX_TRIG_FIELD_LEN];
+//	char* strDelayer;
+//}rvc_trigger_t;
+
+//typedef struct rvc_triggerslot_s {
+//	char* strCode;
+//	char* strPositive;
+//	char* strMessage;
+//}rvc_triggerslot_t;
+//
+//
+//typedef struct rvc_triggersysvar_s {
+//	char* strCode;
+//	char* strPositive;
+//	char* strstates;
+//}rvc_triggersysvar_t;
+
+
+rvc_trigger_t trigPickupCallingEvent = {
+	"Log_Event",
+	"0x10303041",
+	"2",
+	"PickupCallingEvent",
+	NULL,
+	{
+		{"PickupCallSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+
+rvc_trigger_t trigHandFreeCallingEvent = {
+	"Log_Event",
+	"0x10303042",
+	"2",
+	"#HandFreeCallingEvent",
+	NULL,
+	{
+		{"HandFreeCallSlot", NULL, "$(BusnessCode)"}
+	},
+	{
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+
+rvc_trigger_t trigHandFreeToPickupEvent = {
+	"Log_Event",
+	"0x10303046",
+	"2",
+	"HandFreeToPickupEvent",
+	NULL,
+	{
+		{"HandFreeToPickupCallSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"C","H"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigPickupToHandFreeEvent = {
+	"Log_Event",
+	"0x10303047",
+	"2",
+	"PickupToHandFreeEvent",
+	NULL,
+	{
+		{"PickupToHandFreeSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"P"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigHangupEvent1 = {
+	"Log_Event",
+	"0x10303048",
+	"2",
+	"HangupEvent1",
+	NULL,
+	{
+		{"HangupCallSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"C"}}
+	},
+	NULL
+};
+
+rvc_trigger_t trigHangupEvent2 = {
+	"Log_Event",
+	"0x10303048",
+	"2",
+	"HangupEvent2",
+	NULL,
+	{
+		{"HangupCallSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"P", "H"}},
+		{"BackInitiative", NULL, {"F"}},
+	},
+	NULL
+};
+
+rvc_trigger_t trigHangupEvent3 = {
+	"Log_Event",
+	"0x10303049",
+	"2",
+	"HangupEvent3",
+	NULL,
+	{
+		{"PickupToHandFreeSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"C"}},
+	},
+	NULL
+};
+
+
+rvc_slot_t SipphoneSlotList[] = { 
+	PickupCallSlot,
+	HandFreeCallSlot, 
+	HandFreeToPickupCallSlot,
+	PickupToHandFreeSlot,
+	HangupCallSlot 
+};
+
+
+rvc_trigger_t SipphoneTriggerList[] = {
+	trigPickupCallingEvent,
+	trigHandFreeCallingEvent,
+	trigHandFreeToPickupEvent,
+	trigPickupToHandFreeEvent,
+	trigHangupEvent1,
+	trigHangupEvent2,
+	trigHangupEvent3
+};
+
+#endif

Fișier diff suprimat deoarece este prea mare
+ 348 - 266
Module/mod_evtconverter/evtengine.cpp


+ 12 - 1
Module/mod_evtconverter/evtengine.h

@@ -5,6 +5,17 @@
 
 #include "SpBase.h"
 
+#include "slot.h"
+#include "trigger.h"
+
+typedef struct slot_trigger_elem_s {
+	char* slotns;
+	rvc_slot_t* slotarr;
+	int islotarrlen;
+	rvc_trigger_t* triggerarr;
+	int itriggerarrlen;
+}slot_trigger_elem_t;
+
 typedef struct evt_engine_t evt_engine_t;
 
 typedef void (*evt_engine_timer_func)(int timer_id, void *user_data);
@@ -26,7 +37,7 @@ typedef struct evt_engine_callback_t
 
 int evt_engine_create(const evt_engine_callback_t *callback, evt_engine_t **p_engine);
 void evt_engine_destroy(evt_engine_t *engine);
-int evt_engine_load(evt_engine_t *engine, int nfile, const char **files);
+int evt_engine_load(evt_engine_t* engine, int* indexarr, int icount, slot_trigger_elem_t* parr, int iarrlen);
 int evt_engine_unload(evt_engine_t *engine);
 int evt_engine_process_log(evt_engine_t *engine, 
 							const CAutoArray<CUUID> &SubIDs,

+ 47 - 30
Module/mod_evtconverter/mod_evtconverter.cpp

@@ -5,6 +5,16 @@
 #include "fileutil.h"
 #include "modVer.h"
 
+#include "SipphoneEvent.hpp"
+#include "CustomerApproachEvent.hpp"
+#include "CustomerApproachEventCardStore.hpp"
+
+
+static slot_trigger_elem_t slot_trigger_arr[] = {
+	{"SipphoneEvent", SipphoneSlotList, sizeof(SipphoneSlotList)/sizeof(rvc_slot_t), SipphoneTriggerList, sizeof(SipphoneTriggerList)/sizeof(rvc_trigger_t)},
+	{"CustomerApproachEvent", CustomerApproachSlotList,sizeof(CustomerApproachSlotList)/sizeof(rvc_slot_t), CustomerApproachTriggerList, sizeof(CustomerApproachTriggerList)/sizeof(rvc_trigger_t)},
+	{"CustomerApproachCardStoreEvent", CustomerApproachCardStoreSlotList,sizeof(CustomerApproachCardStoreSlotList) / sizeof(rvc_slot_t), CustomerApproachCardStoreTriggerList, sizeof(CustomerApproachCardStoreTriggerList) / sizeof(rvc_trigger_t)}
+};
 
 class CEventConverterEntity : public CEntityBase, public ISysVarListener, public ILogListener
 {
@@ -21,8 +31,8 @@ public:
 	}
 	ErrorCodeEnum __OnStart(ErrorCodeEnum preOperationError)
 	{
-		if (m_nIslog)
-		{
+
+		if (m_nIslog){
 
 		}
 		m_eDeviceType = eStand2sType; 
@@ -36,21 +46,22 @@ public:
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get etc directory failed!");
             return Error;
         }
+
 		m_eDeviceType = RvcGetDeviceType();
-		CAutoArray<CSimpleStringA> ConfigFiles;
-		ConfigFiles.Init(2);
+	
 		const int num = 2;
-		ConfigFiles[0] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "SipphoneEvent.xml", strConfigDir.GetData());
-		 if (eCardStore == m_eDeviceType) {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEventCardStore.xml", strConfigDir.GetData());
-		} else {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEvent.xml", strConfigDir.GetData());
+		int indexarr[2] = { 0 };
+		if (eCardStore == m_eDeviceType) {
+			indexarr[1] = 2;
+		} 
+		else {
+			indexarr[1] = 1;
 		}
 
 		CSmartPointer<IConfigInfo> spConfigCenterSetting;
 		Error = spEntityFunction->OpenConfig(Config_CenterSetting, spConfigCenterSetting);
         if (Error != Error_Succeed) {
-            LOG_TRACE("open config failed!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("open config failed!");
             return Error;
         }
 		Error = spConfigCenterSetting->ReadConfigValue(GetEntityName(), "IsLog", str);
@@ -84,11 +95,7 @@ public:
 		}
 
 		if (num > 0) {
-			const char **files = new const char*[num];
-			for (int i = 0; i < num; ++i)
-				files[i] = (const char*)ConfigFiles[i];
-			rc = evt_engine_load(engine, num, files);
-			delete files;
+			rc = evt_engine_load(engine, indexarr, num, slot_trigger_arr, sizeof(slot_trigger_arr)/sizeof(slot_trigger_elem_t));
 			if (rc != 0) {
 				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("load config failed!");
 				return (ErrorCodeEnum)rc;
@@ -118,10 +125,10 @@ public:
 		CSmartPointer<IEntityFunction> spFunction = GetFunction();
 		CSystemStaticInfo stStaticinfo;
 		spFunction->GetSystemStaticInfo(stStaticinfo);
-		if (_stricmp(stStaticinfo.strMachineType, "RVC.Stand1SPlus") == 0) {
+		if (_stricmp(stStaticinfo.strMachineType.GetData(), "RVC.Stand1SPlus") == 0) {
 			eType = eStand1SPlusType;
 		}
-		else if (stricmp(stStaticinfo.strMachineType,"RVC.CardStore")==0 || stricmp(stStaticinfo.strMachineType,"RVC.CardPrinter")==0){
+		else if (_stricmp(stStaticinfo.strMachineType.GetData(), "RVC.CardStore") == 0 || _stricmp(stStaticinfo.strMachineType.GetData(), "RVC.CardPrinter") == 0){
 			eType =  eCardStore;
 		}
 		else{
@@ -156,7 +163,7 @@ public:
 
 	virtual void OnSysVarEvent(const char *pszKey,const char *pszValue,const char *pszOldValue,const char *pszEntityName)
 	{
-		if (m_nIslog)
+		//if (m_nIslog)
 		{
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("process sysvar key=%s oldvalue=%s, value=%s", pszKey, pszOldValue, pszValue);
 		}
@@ -181,8 +188,7 @@ public:
 		const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID, 
 		const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo)
 	{
-		if (m_nIslog)
-		{
+		if (m_nIslog){
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("process eLogTpye = %d, dwUserCode = 0x%08x, %s", eLogType, dwUserCode, pszMessage);
 		}
 		if (m_pEngine) {
@@ -218,7 +224,8 @@ private:
 		if (Error != Error_Succeed) {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("set timer %d failed!", timer_id);
 			delete pWarp;
-		} else {
+		} 
+		else {
 			spEntityFunction->SetTimerData((DWORD)timer_id, pWarp);
 		}
 		return (int)Error;
@@ -253,11 +260,11 @@ private:
 	{
 		ErrorCodeEnum Error = GetFunction()->UnsubscribeLog(sub_id);
 		if (Error == Error_Succeed) {
-			if (m_nIslog)
-			{
+			if (m_nIslog){
 				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unsubscribe log ok!");
 			}
-		} else {
+		} 
+		else {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unsubscribe log failed! Error = %d", Error);
 		}
 		return (int)Error;
@@ -265,20 +272,20 @@ private:
 
 	int subscribe_sysevent()
 	{
-		if (m_nIslog)
-		{
+		if (m_nIslog){
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("subscribe sysevent!");
 		}
+
 		CSmartPointer<IEntityFunction> spEntityFunction = GetFunction();
 		return (int)spEntityFunction->RegistSysVarEvent("*", this);
 	}
 
 	int unsubscribe_sysevent()
 	{
-		if (m_nIslog)
-		{
+		if (m_nIslog){
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unsubscribe sysevent!");
 		}
+
 		CSmartPointer<IEntityFunction> spEntityFunction = GetFunction();
 		return (int)spEntityFunction->UnregistSysVarEvent("*");
 	}
@@ -302,7 +309,8 @@ private:
 		ErrorCodeEnum Error = spEntityFunction->GetEntityStaticInfo(entity, Info);
 		if (Error == Error_Succeed) {
 			return (int)Info.wEntityDevelopID;
-		} else {
+		} 
+		else {
 			return -1; // failed
 		}
 	}
@@ -316,46 +324,55 @@ private:
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->set_timer(timer_id, interval, timer_cb, timer_user_data);
 	}
+
 	static int __kill_timer(evt_engine_t *engine, int timer_id, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->kill_timer(timer_id);
 	}
+
 	static int __subscribe_log(evt_engine_t *engine, unsigned long long *sub_id, LogTypeEnum eLogType, const char *szEntity, SeverityLevelEnum eSeverityLevel, ErrorCodeEnum eSysError, DWORD dwUserCode, bool bIgnoreMessage, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->subscribe_log(sub_id, eLogType, szEntity, eSeverityLevel, eSysError, dwUserCode, bIgnoreMessage);
 	}
+
 	static int __unsubscribe_log(evt_engine_t *engine, unsigned long long sub_id, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->unsubscribe_log(sub_id);
 	}
+
 	static int __subscribe_sysevent(evt_engine_t *engine, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->subscribe_sysevent();
 	}
+
 	static int __unsubscribe_sysevent(evt_engine_t *engine, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->unsubscribe_sysevent();
 	}
+
 	static int __get_sysevent(evt_engine_t *engine, const char *key, CSimpleStringA &strValue, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->get_sysevent(key, strValue);
 	}
+
 	static int __set_sysevent(evt_engine_t *engine, const char *key,const char *val, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->set_sysevent(key, val);
 	}
+
 	static int __get_entity_id(evt_engine_t *engine, const char *entity, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
 		return pThis->get_entity_id(entity);
 	}
+
 	static int __new_timer_id(evt_engine_t *engine, void *user_data)
 	{
 		CEventConverterEntity *pThis = static_cast<CEventConverterEntity *>(user_data);
@@ -366,7 +383,7 @@ private:
 	LONG m_lIdSeq;
 	evt_engine_t *m_pEngine;
 	int m_nIslog;
-	DeviceTypeEnum m_eDeviceType;  	// add by chh
+	DeviceTypeEnum m_eDeviceType;
 };
 
 SP_BEGIN_ENTITY_MAP()

+ 41 - 0
Module/mod_evtconverter/slot.h

@@ -0,0 +1,41 @@
+#ifndef _RVC_SLOT_H
+#define _RVC_SLOT_H
+
+#pragma once
+#include <stdio.h>
+
+#ifndef RVC_SLOT_MAX_NUM
+#define RVC_SLOT_MAX_NUM 16
+#endif
+
+typedef struct rvc_slotvar_s {
+	char* strName;
+	char* strValue;
+}rvc_slotvar_t;
+
+
+typedef struct rvc_slotfilter_s {
+	char* strLogType;
+	char* strEntity;
+	char* strSeverityLevel;
+	char* strSysError;
+	char* strUserCode;
+	char* strContentToVar;
+}rvc_slotfilter_t;
+
+
+typedef struct rvc_slotreset_s {
+	char* strSource;
+}rvc_slotreset_t;
+
+
+typedef struct rvc_slot_s {
+	char* strCode;
+	char* strTimeout;
+	char* strOneTrigger;
+	rvc_slotvar_t Vars[RVC_SLOT_MAX_NUM];
+	rvc_slotfilter_t Filters[RVC_SLOT_MAX_NUM];
+	rvc_slotreset_t Reset[RVC_SLOT_MAX_NUM];
+}rvc_slot_t;
+
+#endif

+ 36 - 0
Module/mod_evtconverter/trigger.h

@@ -0,0 +1,36 @@
+#ifndef _RVC_TRIGGER_H
+#define _RVC_TRIGGER_H
+
+#pragma once
+#include <stdio.h>
+
+#ifndef RVC_TRIG_MAX_NUM
+#define RVC_TRIG_MAX_NUM 16
+#endif
+
+typedef struct rvc_triggerslot_s {
+	char* strCode;
+	char* strPositive;
+	char* strMessage;
+}rvc_triggerslot_t;
+
+
+typedef struct rvc_triggersysvar_s {
+	char* strCode;
+	char* strPositive;
+	char* strstates[RVC_TRIG_MAX_NUM];
+}rvc_triggersysvar_t;
+
+
+typedef struct rvc_trigger_s {
+	char* strLogType;
+	char* strUserCode;
+	char* strSeverityLevel;
+	char* strMessage;
+	char* strSysError;
+	rvc_triggerslot_t Slots[RVC_TRIG_MAX_NUM];
+	rvc_triggersysvar_t SysVars[RVC_TRIG_MAX_NUM];
+	char* strDelayer;
+}rvc_trigger_t;
+
+#endif

+ 0 - 2
Module/mod_gpio/Gpio_UserErrorCode.h

@@ -15,6 +15,4 @@
 #define GPIO_UserErrorCode_ReadPort_Failed	0x20900208
 #define GPIO_UserErrorCode_DetectStatus_Failed	0x20900209
 
-#define GPIO_UserErrorCode_PortNumOldVersion	0x2090020A
-
 #endif //_CONTACTLESSCARD_USER_ERRORCODE_H

+ 5 - 42
Module/mod_gpio/mod_gpio.cpp

@@ -457,43 +457,6 @@ ErrorCodeEnum CGpioEntity::Initial()
 	m_adapterInfo.strPort = csPort;
 	m_adapterInfo.strBaudrate = csBaudrate;
 	m_adapterInfo.strPortNum = csPortNum; //Just load from Config
-	BOOL nSwitchFlag(FALSE);
-	BOOL useOld = TRUE;
-	CSmartPointer<IConfigInfo> spConfigCenter;
-	eErrDev = spEntityFunction->OpenConfig(Config_CenterSetting, spConfigCenter);
-	if (eErrDev == Error_Succeed) {
-		int nValue(0);
-		spConfigCenter->ReadConfigValueInt(GetEntityName(), "PortNumChoiceSwitch", nValue);
-		if (nValue != 0) {
-			nSwitchFlag = TRUE;
-		}
-	}
-#if defined(RVC_OS_WIN)
-	if (nSwitchFlag && !csPortNum.IsNullOrEmpty()) {
-		if (csPortNum.Compare("3") == 0) { m_bNewVersion = FALSE;  useOld = FALSE; }
-		else if (csPortNum.Compare("4") == 0) { m_bNewVersion = TRUE;  useOld = FALSE; }
-	}
-	if (useOld) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("[%s],[%s],[%s]", m_adapterInfo.strVendor.GetData()
-			, m_adapterInfo.strVersion.GetData(), m_adapterInfo.strBatch.GetData());
-		//Gpio.keba.1.1 , Gpio.Hyosung.1.1, Gpio.kxd.1.1 均为 老设备,2024-9-11发现现有生产有2249台
-		if (!_stricmp(m_adapterInfo.strVendor, "Hyosung") || !_stricmp(m_adapterInfo.strVendor, "Keba") || !_stricmp(m_adapterInfo.strVendor, "Kxd")) {
-			if (m_adapterInfo.strVersion == "1" && m_adapterInfo.strBatch == "1") {
-				m_bNewVersion = FALSE;
-			}
-		}
-	}
-#endif //RVC_OS_WIN
-	bool theSameFlag = false;
-	if ((m_bNewVersion && csPortNum.Compare("4") == 0) || (!m_bNewVersion && csPortNum.Compare("3") == 0)) { theSameFlag = true; }
-	LogWarn(Severity_Low, Error_Debug, GPIO_UserErrorCode_PortNumOldVersion
-		, CSimpleStringA::Format(",%s,%s,%s,%s,%s"
-			, theSameFlag ? "True" : "False"
-			, m_bNewVersion ? "True" : "False"
-			, csPortNum.GetData()
-			, nSwitchFlag ? "True" : "False"
-			, useOld ? "True" : "False"));
-
 	m_hDevHelper.SetAdapterName(GetEntityName());
     eErrDev = m_hDevHelper.LoadUp(dllName);
     if (eErrDev != Error_Succeed) {
@@ -510,7 +473,8 @@ ErrorCodeEnum CGpioEntity::Initial()
 	initParam.dir[2] = false;
 	initParam.dir[3] = false;
 	initParam.dwPortNum = 3;
-	if (m_bNewVersion) {
+	if (m_adapterInfo.GetPortNumInt() == 4) {
+		m_bNewVersion = TRUE;
 		initParam.dwPortNum = 4;
 		initParam.dir[3] = true;
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("New available 4 port num");
@@ -723,10 +687,9 @@ void CGpioEntity::WritePin(DWORD dwPinSeq, bool bHighLevel)
     int idx = -1;
     DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Write Pin %s with %s", GetDriverPortString(dwPinSeq + 1), bHighLevel ? "[Active]" : "[InActive]");
     if (dwPinSeq > 16) {/** 目前只有一个高拍仪的提示灯会超过该值  [Gifur@202495]*/
-        if (!m_bNewVersion && dwPinSeq < 24) {
-            DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("not support pin number:%d", dwPinSeq);
-            return;
-        }
+		if (!m_bNewVersion || dwPinSeq < 24) {
+			return;
+		}
         idx = 3;
     } else if (dwPinSeq < 8) {
         idx = 0;

+ 1 - 1
Module/mod_gpio/mod_gpio.h

@@ -150,7 +150,7 @@ public:
 		,m_bVibrationFlag(false),m_bOpenFlag(false),m_bMoveFlag(false),m_bCardGateFlag(false)
 		, m_pLogListener(NULL), m_bHeadLightFlag(false), m_headlightDevPort(4), m_moveHoldTimes(0)
 		, m_moveDisappearTimes(0),m_eMachineType(SP::Module::Comm::RVC_UNKNOWN)
-		, m_bNewVersion(TRUE), m_bFuncVer2(FALSE)
+		, m_bNewVersion(FALSE), m_bFuncVer2(FALSE)
 		, m_bOpened(false), m_bOpening(true), m_btLastRevcInput(-1), m_iInWhatPage(PageType_Init)
 	{
 		memset(m_btOutputStatus,0,MAX_PORT_NUM*sizeof(BYTE));

+ 21 - 26
Module/mod_healthmanager/HealthManagerFSM.cpp

@@ -3,7 +3,6 @@
 #include <string>
 #include <algorithm>
 #include <regex>
-#include "CommEntityUtil.hpp"
 #include "SpUtility.h"
 #include "iniutil.h"
 #if defined(RVC_OS_WIN)
@@ -50,6 +49,7 @@ enum EntityOP
 
 ErrorCodeEnum CHealthManagerFSM::Initial()
 {
+	m_netList.Init(0);
 #if defined(RVC_OS_WIN)
 	SaveOsVersion();
 #endif
@@ -64,17 +64,6 @@ ErrorCodeEnum CHealthManagerFSM::Initial()
 	CSmartPointer<IConfigInfo> spConfigCen;
 	GetEntityBase()->GetFunction()->OpenConfig(Config_CenterSetting, spConfigCen);
 
-#if defined(RVC_OS_LINUX)
-    if (!m_sysInfo.strMachineType.IsNullOrEmpty() && m_sysInfo.strMachineType.Compare("RVC.Stand2S") != 0
-		&& m_sysInfo.strMachineType.Compare("RVC.Stand1SPlus") != 0) {
-        CSimpleStringA strErrMsg = CSimpleStringA::Format("当前版本不支持此机型:%s", (LPCTSTR)m_sysInfo.strMachineType);
-        SP::Module::Comm::LogErrorNotiyStruct notifyItem(Error_NotSupport, 0);
-        SP::Module::Comm::LogNotiyMessageStruct notifyMsg(strErrMsg);
-        notifyItem.Notify(notifyMsg);
-        return Error_Succeed;
-    }
-#endif //RVC_OS_LINUX
-
 	spConfigCen->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "WKUpdatePeriod", m_wkUpdatePeriod);
 	if (m_wkUpdatePeriod <= 0 || m_wkUpdatePeriod > 365)
 		m_wkUpdatePeriod = 30;//default
@@ -90,6 +79,8 @@ ErrorCodeEnum CHealthManagerFSM::Initial()
 		GetEntityBase()->GetFunction()->SetSysVar("TerminalStage", "X");
 	WaitDeamonFinishTask* task = new WaitDeamonFinishTask(this);
 	GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
+	
+	SP::Module::Net::GetINETMacAddresses(m_netList);
 
 	return Error_Succeed;
 }
@@ -116,7 +107,6 @@ void CHealthManagerFSM::s0_on_exit(void)
 }
 unsigned int CHealthManagerFSM::s0_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s0_on_event: %d, %d", pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch(pEvt->iEvt)
 	{
@@ -829,21 +819,20 @@ void CHealthManagerFSM::ToLogWarnTermAboutInfo()
 	CSmartPointer<IConfigInfo> spConfigRun;
 	GetEntityBase()->GetFunction()->OpenConfig(Config_Run, spConfigRun);
 
-	CAutoArray<SP::Module::Net::NetworkAdapterItem> netList;
-	SP::Module::Net::GetINETMacAddresses(netList);
+	//CAutoArray<SP::Module::Net::NetworkAdapterItem> netList;
+	if (m_netList.GetCount() == 0)
+		SP::Module::Net::GetINETMacAddresses(m_netList);
 	CSimpleStringA csMac(""), csIP(""), csDNS("");
-    for (int i = 0; i < netList.GetCount(); i++) {
+    for (int i = 0; i < m_netList.GetCount(); i++) {
 		if (!csMac.IsNullOrEmpty()) {
 			csMac += ";";
 		}
-		csMac += netList[i].mac.c_str();
-	}
-    for (int i = 0; i < netList.GetCount(); i++) {
+		csMac += m_netList[i].mac.c_str();
 		if (!csIP.IsNullOrEmpty()) {
 			csIP += ";";
 		}
-        csIP += netList[i].ip.c_str();
-    }
+		csIP += m_netList[i].ip.c_str();
+	}
 	for (int i = 0; i < m_dns.GetCount(); i++) {
 		if (!csDNS.IsNullOrEmpty()) {
 			csDNS += ";";
@@ -941,6 +930,11 @@ void CHealthManagerFSM::WaitToCallAccessAuthDoWork()
 }
 void CHealthManagerFSM::WKUpdatePeriod()
 {
+	if (m_sysInfo.strTerminalID.GetLength() < 7)
+	{
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("wrong terminalNo:[%s]", m_sysInfo.strTerminalID.GetData());
+		return;
+	}
 	auto pEntity = ((CHealthManagerEntity*)m_pEntity);
 	//oilyang@20220413 control update working key by CenterSetting
 	if (m_iDoNotUpdateWKDaily == 1)
@@ -1042,13 +1036,14 @@ void CHealthManagerFSM::QueryHardwareInfo(SpReqAnsContext<HealthManagerService_Q
 	CSystemStaticInfo info;
 	GetEntityBase()->GetFunction()->GetSystemStaticInfo(info);
 
-	CAutoArray<SP::Module::Net::NetworkAdapterItem> netList;
-	SP::Module::Net::GetINETMacAddresses(netList);
+	//CAutoArray<SP::Module::Net::NetworkAdapterItem> netList;
+	if (m_netList.GetCount() == 0)
+		SP::Module::Net::GetINETMacAddresses(m_netList);
 
 	CAutoArray<CSimpleStringA> ipAddrs, macAddrs;
-	for (int i = 0; i < netList.GetCount(); i++) {
-		CSimpleStringA tmpip = netList[i].ip.c_str();
-		CSimpleStringA tmpmac = netList[i].mac.c_str();
+	for (int i = 0; i < m_netList.GetCount(); i++) {
+		CSimpleStringA tmpip = m_netList[i].ip.c_str();
+		CSimpleStringA tmpmac = m_netList[i].mac.c_str();
 		ipAddrs.Append(&tmpip, 0, 1);
 		macAddrs.Append(&tmpmac, 0, 1);
 	}

+ 2 - 0
Module/mod_healthmanager/HealthManagerFSM.h

@@ -9,6 +9,7 @@
 using namespace std;
 
 #include "CommEntitySettings.hpp"
+#include "CommEntityUtil.hpp"
 #include "HealthManager_msg_g.h"
 #include "HealthManager_def_g.h"
 #include "AccessAuthorization_client_g.h"
@@ -226,6 +227,7 @@ private:
 	CSystemStaticInfo m_sysInfo;
 	std::map<string, string> m_computerInfo;
 	CAutoArray<string> m_dns;
+	CAutoArray<SP::Module::Net::NetworkAdapterItem> m_netList;
 };
 
 struct WaitDeamonFinishTask : public ITaskSp

+ 66 - 35
Module/mod_healthmanager/mod_healthmanager.cpp

@@ -298,9 +298,10 @@ void CHealthManagerEntity::OnCheckTimeTimeout()
 		//1、AccessAuth ok
 		//2、have ever enter main page OR 
 		if (!m_bSayIdle)
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("m_fsm.GetAccessAuthFlag():%d,m_bEnterMainPageEver:%d,m_fsm.IfIEBeforeHealth():%d", m_fsm.GetAccessAuthFlag()
-				, m_bEnterMainPageEver, m_fsm.IfIEBeforeHealth());
-		if (m_fsm.GetAccessAuthFlag() && (m_bEnterMainPageEver || (!m_bEnterMainPageEver && m_fsm.IfIEBeforeHealth())))//oilyang 20161219 改成通过是否成功进入主页来判断IE情况
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("m_fsm.GetAccessAuthFlag():%d, m_bEnterMainPageEver:%d, m_bInMainPage:%d", m_fsm.GetAccessAuthFlag()
+				, m_bEnterMainPageEver, m_bInMainPage);
+		//oilyang@20241230 check accessauth flag AND if in Main page now or ever
+		if (m_fsm.GetAccessAuthFlag() && (m_bEnterMainPageEver || (!m_bEnterMainPageEver && m_bInMainPage)))
 		{
 			iCheckGuardian = CheckGuardianIsRun(true);
 			if (!m_bSayIdle)
@@ -418,16 +419,33 @@ void CHealthManagerEntity::OnCheckTimeTimeout()
 }
 
 #if defined(RVC_OS_LINUX)
-bool FindGuardianPid(pid_t &pid)
+bool FindGuardianPid(CAutoArray<int> &pIDArr)
 {
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("to check guardian process");
     char* relate_processes[] = { "guardian" };
-    int count = 1;
-    alive_process_info processes[1];
+    int relate_processes_count = 1;
+    alive_process_info processes[64];
+	int alive_process_info_count = 64;
     memset(processes, 0, sizeof(processes));
 
-    osutil_detect_unique_app(relate_processes, array_size(relate_processes), &count, processes);
-    if (count > 0) {
-		pid = processes[0].pid;
+    int retOfDetect = osutil_detect_unique_app(relate_processes, relate_processes_count, &alive_process_info_count, processes);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("detect guardian return:%d, alive_process_info_count:%d", retOfDetect, alive_process_info_count);
+    if (alive_process_info_count > 0) {
+		if (alive_process_info_count > 64)
+			DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("too many guardian:%d", alive_process_info_count);
+		else
+		{
+			if (alive_process_info_count == 1)
+				pIDArr.Append(&processes[0].pid, 0, 1);
+			else
+			{
+				for (int i = 0; i < alive_process_info_count; i++)
+				{
+					pIDArr.Append(&processes[i].pid, 0, 1);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("The %d(th) guardian's pid is:%d", i + 1, processes[i].pid);
+				}
+			}
+		}
 		return true;
     }
 	return false;
@@ -483,22 +501,25 @@ int CHealthManagerEntity::CheckGuardianIsRun(bool bStart)
 		}
 	}
 #else
-	pid_t pID;
+	CAutoArray<int> pIDArr;
 	bool bFind = false;
 
-	bFind = FindGuardianPid(pID);
+	bFind = FindGuardianPid(pIDArr);
 	if (bFind)
 	{
-		int ret = kill(pID, 0);
-		if (0 == ret)
-		{
-			if (!m_bSayIdle)
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("guardian.exe is active, pid:%d", pID);
-			return 1;
-		}
-		else
+		for (int i = 0; i < pIDArr.GetCount(); i++)
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("process: guardian.exe inactive, pID:%d,ret:%d", pID, ret);
+			int ret = kill(pIDArr[i], 0);
+			if (0 == ret)
+			{
+				if (!m_bSayIdle)
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("guardian.exe is active, pid:%d", pIDArr[i]);
+				return 1;
+			}
+			else
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("process: guardian.exe inactive, pID:%d,ret:%d", pIDArr[i], ret);
+			}
 		}
 	}
 	else
@@ -588,22 +609,25 @@ bool CHealthManagerEntity::StopGuardian()
 	//int ret = m_pfUpgradeRestart(6, 0);
 	//Dbg("healthmanager tell the guardian to quit.%d", ret);
 	Sleep(5000);
-	pid_t pID;
+	CAutoArray<int> pIDArr;
 	bool bFind = false;
-	bFind = FindGuardianPid(pID);
+	bFind = FindGuardianPid(pIDArr);
 	if (bFind)
 	{
-		int ret = kill(pID, 9 /*SIGKILL*/);
-		if (ret < 0)
+		for (int i = 0; i < pIDArr.GetCount(); i++)
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("kill guardian failed:%d",errno);
-			return false;
-		}
-		else
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("killed guardian.");
-			return true;
+			if (pIDArr[i] == 0)
+				continue;
+			int ret = kill(pIDArr[i], 9 /*SIGKILL*/);
+			if (ret < 0)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("kill guardian(pid:%d) failed:%d", pIDArr[i], errno);
+				return false;
+			}
+			else
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("kill guardian(pid:%d) successfully.", pIDArr[i]);
 		}
+		return true;
 	}
 	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("can't find guardian pid.");
 	return true;
@@ -666,7 +690,7 @@ bool CHealthManagerEntity::StartGuardian()
 	tk_process_t* process = NULL;
 	tk_process_option_t option;
 	csBinPath += "/guardian";
-	sprintf(app, "%s %s %s %d", (const char*)csBinPath, staticInfo.strTerminalID.GetData(), "oiltest", 1);
+	sprintf(app, "%s %s %s %d", (const char*)csBinPath, staticInfo.strTerminalID.GetData(), "shouhu", 1);
 	Dbg("path:%s, app:%s", (const char*)csBinPath, (const char*)app);
 	option.exit_cb = NULL;
 	option.file = NULL;
@@ -799,7 +823,7 @@ bool CHealthManagerEntity::DoRestart()
 #else
 	deamonBasePath += "/libGuardianBase.so";
 #endif
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("to check if in upgrade process");
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("to check if in upgrade process");
 	if (m_fsm.IfInUpgradeProcess() && !m_versionEx.IsNullOrEmpty())
 	{
 		string xTmp(deamonBasePath.GetData());
@@ -1211,7 +1235,10 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
 		m_bNeedGuardianRestart = false;
 		m_fsm.SetVtmLoadResult(VtmLoad_AccessAuth_servFail);
 	}
-	break;
+
+		//m_fsm.SetVtmLoadResult(VtmLoad_AccessAuth_Suc);//oiltest
+
+		break;
 	case EVENT_MOD_RELEASESIP_TIMEOUT:
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("RELEASESIP_TIMEOUT.");
 		RestartModule("SIPPhone");
@@ -1511,6 +1538,11 @@ void CHealthManagerEntity::OnEntityStateHook(const char* pszEntityName, const ch
 }
 void CHealthManagerEntity::ToCalcRebootHourAndMinute(int restartBegin, int restartEnd)
 {
+	if (m_sysStaticInfo.strTerminalID.GetLength() < 6)
+	{
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("wrong terminalNo:[%s]", m_sysStaticInfo.strTerminalID.GetData());
+		return;
+	}
 	if ((restartBegin <= 0 || restartEnd <= 0) || restartEnd < restartBegin || restartEnd > 7)
 	{
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("wrong setting,restartBegin:%d,restartEnd:%d, use default (1-6)", restartBegin, restartEnd);
@@ -1695,7 +1727,6 @@ void CHealthManagerEntity::OnSelfCheckTimeout()
 	CSmartPointer<IAsynWaitSp> spWait;
 	ErrorCodeEnum errCode;
 	int activeEnCount = m_activeEntity.GetCount();
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("activeEnCount %d,%s", activeEnCount, m_activeEntity[0].GetData());
 	//oilyang@20230426 ,常规自检时,针对"TerminalStage"做对应处理(自检分常规自检和即时自检)
 	//"S":准入服务告知准入不过,不再进行实体自检
 	//非"A":其他启动失败导致进关门页,不再对硬件以及其他没必要自检的实体进行自检

+ 0 - 13
Module/mod_healthmanager/mod_healthmanager.h

@@ -97,19 +97,6 @@ public:
 
 	virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext) 
 	{
-		CSystemRunInfo runInfo = { 0 };
-		ErrorCodeEnum ec = GetFunction()->GetSystemRunInfo(runInfo);
-		if (runInfo.autoTest) //测试模式,该模式下无需启动guardian
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Test mode, no need to start guardian.");
-			m_bNeedGuardian = false;
-			if (CheckGuardianIsRun() > 0)//or true?
-			{
-				bool bStop = StopGuardian();
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Test mode, guardian running, to stop guardian:%d", bStop);
-			}
-		}
-
 		ErrorCodeEnum eErrCode = m_fsm.Init(this);
 		if (eErrCode == Error_Succeed) {
             DoRestart();

+ 1 - 3
Module/mod_mediacontroller/Event.h

@@ -6,7 +6,6 @@
 #define MOD_EVENT_MEDIACONTROLLER_FINISHED_CAPTURE_OPT		(MOD_EVENT_MEDIACONTROLLER_BASE +2)
 #define MOD_EVENT_MEDIACONTROLLER_FINISHED_CAPTURE_ENVOPT	(MOD_EVENT_MEDIACONTROLLER_BASE +3)
 
-
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_USEFAIL			0x20880004  //免提使用中失败,级别3	
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_NOSIGNAL			0x20880005  //免提没有信号,级别3	
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_NOISEBIG			0x20880006  //免提噪声过大,级别2	
@@ -14,7 +13,6 @@
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_REDUCEVOLUMNFAIL	0x20880008  //免提恢复音量失败,级别2
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_CLOSEFAIL		0x20880009  //禁止免提失败,级别3	
 
-
 #define ERROR_MOD_MEDIACONTROLLER_PICKUP_INITFAIL			0x20880011  //话筒初始化失败,级别3	
 
 #define ERROR_MOD_MEDIACONTROLLER_PICKUP_USEFAIL			0x20880012  //话筒使用中失败,级别3
@@ -104,7 +102,7 @@
 #define OPTCAMERA 1
 #define AlLCAMERA 2
 
-#define CAMERA_CHANGE_TIMER 30		// 摄像头轮休频率,30分钟
+#define CAMERA_CHANGE_TIMER 30												//摄像头轮休频率,30分钟
 
 #define ERROR_MOD_MEDIACONTROLLER_VIDEO_AUTO_MATHED_SUCCESS		0x20899001  //摄像头自动匹配成功
 #define ERROR_MOD_MEDIACONTROLLER_VIDEO_AUTO_MATHED_FAILED		0x20899002  //摄像头自动匹配失败

+ 5 - 2
Module/mod_mediacontroller/capture.cpp

@@ -82,6 +82,7 @@ static int Bin2Str(unsigned char *x, int xlen, char *str, int str_size)
 }
 
 
+#ifdef RVC_OS_LINUX
 static void __audiomgrlog(void* user_data, const char* fmt, va_list arg)
 {
 	int n = vsnprintf(NULL, 0, fmt, arg);
@@ -97,6 +98,7 @@ static void __audiomgrlog(void* user_data, const char* fmt, va_list arg)
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("%s", strlog);
 	}
 }
+#endif
 
 
 static void rvc_sleep(uint32_t umicroseconds) 
@@ -1960,6 +1962,7 @@ namespace MediaController {
 
 		{
 			icamnum = videocap_get_device_count();
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("camera count is %d.", icamnum);
 			for (int i = 0; i < icamnum; ++i) {
 				WCHAR tmp[256] = {0};
 				char t[256] = {0};
@@ -1971,8 +1974,8 @@ namespace MediaController {
 				WideCharToMultiByte(CP_ACP, 0, tmp, -1, t, sizeof(t), 0, NULL);
 				videocap_get_device_path(i, tmp1, ARRAYSIZE(tmp1));
 				WideCharToMultiByte(CP_ACP, 0, tmp1, -1, t1, sizeof(t1), 0, NULL);
-				videocap_get_device_instanceid(i, tmp2, ARRAYSIZE(tmp2));
-				WideCharToMultiByte(CP_ACP, 0, tmp2, -1, t2, sizeof(t2), 0, NULL);
+				//videocap_get_device_instanceid(i, tmp2, ARRAYSIZE(tmp2));
+				//WideCharToMultiByte(CP_ACP, 0, tmp2, -1, t2, sizeof(t2), 0, NULL);
 
 				cJSON* pobject = cJSON_CreateObject();
 				cJSON_AddItemToObject(pobject, "DevicePath", cJSON_CreateString(t1));

+ 2 - 2
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -411,7 +411,7 @@ void CVtmLoaderFSM::s1_on_entry()
 			if (errCode != Error_Succeed) {
 				CSimpleStringA tmpAuthErrMsg("");
 				if (GetEntityBase()->GetFunction()->GetSysVar("AuthErrMsg", tmpAuthErrMsg) == Error_Succeed && tmpAuthErrMsg.IsNullOrEmpty())
-					GetEntityBase()->GetFunction()->SetSysVar("AuthErrMsg", CSimpleStringA::Format("%s 启动失败", it->first.GetData()).GetData());
+					GetEntityBase()->GetFunction()->SetSysVar("AuthErrMsg", CSimpleStringA::Format("%s 启动失败,请尝试重启应用或重启系统恢复", it->first.GetData()).GetData());
 				if (it->first.Compare("SIPPhone") == 0)
 					m_bSIPPhoneStartFail = true;
 
@@ -559,7 +559,7 @@ void CVtmLoaderFSM::s2_on_entry()
 			{
 				CSimpleStringA tmpAuthErrMsg("");
 				if (GetEntityBase()->GetFunction()->GetSysVar("AuthErrMsg", tmpAuthErrMsg) == Error_Succeed && tmpAuthErrMsg.IsNullOrEmpty())
-					GetEntityBase()->GetFunction()->SetSysVar("AuthErrMsg", CSimpleStringA::Format("%s 启动失败", it->first.GetData()).GetData());
+					GetEntityBase()->GetFunction()->SetSysVar("AuthErrMsg", CSimpleStringA::Format("%s 启动失败,请尝试重启应用或重启系统恢复", it->first.GetData()).GetData());
 				if (it->first.Compare("SIPPhone") == 0)
 					m_bSIPPhoneStartFail = true;
 				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("启动失败:%s", it->first.GetData());

+ 0 - 242
addin/cfg/CustomerApproachEvent.xml

@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Transfer>
-	<SlotList>
-		<Slot Code="ApproachSlot" Timeout="8s">
-			<Filter LogType="Log_Event" UserCode="0x21100001" /><!-- customer approach, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x20800010" /><!-- high energy audio, by media controller -->
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- customer approach, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- customer operate, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200006" /><!-- customer appear, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20900009" /><!-- customer approach, by move detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- catch face, by face detection -->
-		</Slot>
-		<Slot Code="LeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100002" /><!-- customer leave, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200002" /><!-- customer leave, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- no face, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20B00002" /><!-- customer leave, by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x2090000a" /><!-- move detection -->
-			<Filter LogType="Log_Event" UserCode="0x21500002" /><!-- stop printseal -->
-		</Slot>
-		<Slot Code="ConfirmLeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30903081" /><!-- customer leave via agent, by mod_bizchannel -->
-		</Slot>
-		<Slot Code="EnterFrontSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100003" /><!-- enter front, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- enter front distance, by face tracing-->
-			<Filter LogType="Log_Event" UserCode="0x20B00003" /><!-- by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x20800001" /><!-- by media controller-->
-		</Slot>
-		<Slot Code="OperateSlot" Timeout="60s">
-			<Filter LogType="Log_Event" UserCode="0x20190001" /><!-- IDCertificate Card Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20290001" /><!-- BankCard Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20690001" /><!-- Keypad user enter key -->
-			<Filter LogType="Log_Event" UserCode="0x20900005" /><!-- phone pick up -->
-			<Filter LogType="Log_Event" UserCode="0x20900006" /><!-- phone pick off -->
-			<Filter LogType="Log_Event" UserCode="0x20900001" /><!-- shock -->
-			<Filter LogType="Log_Event" UserCode="0x40100001" /><!-- issue from mod_browser, mouse hook proc -->
-			<Filter LogType="Log_Event" UserCode="0x20400001" /><!-- scanner not used now -->
-			<Filter LogType="Log_Event" UserCode="0x20700001" /><!-- ukey inserted event -->
-			<Filter LogType="Log_Event" UserCode="0x21500001" /><!-- start printseal   -->
-			<Filter LogType="Log_Event" UserCode="0x21400003" /><!-- netbank ukey insert-->
-			<Filter LogType="Log_Event" UserCode="0x30B00009" /><!-- ui send operate state-->
-			<Filter LogType="Log_Event" UserCode="0x10313088" /><!-- hangup call-->
-			<Reset Source="ApproachSlot"/>
-		</Slot>
-		<Slot Code="LeaveToApproachSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100004" /><!-- back to approach, issue by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200004" /><!-- face detection and tracing -->
-			<Filter LogType="Log_Event" UserCode="0x20B00004" /><!-- gesture detection -->
-		</Slot>
-		<Slot Code="LockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="LostLockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EnterFocusSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EmergencyExitSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200005" /><!-- change person by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30E10001" /><!-- audio wave info has change -->
-			<Filter LogType="Log_Event" UserCode="0x30903082" /><!-- via agent by mod_bizchannel -->
-		</Slot>
-		<Slot Code="NUICommandSlot" Timeout="5s">
-			<Filter LogType="Log_Event" UserCode="0xffff0000" /><!-- natual interface -->
-		</Slot>
-		<Slot Code="AgentHelpOperationSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x48000004" /><!-- operation help by mod_browser -->
-		</Slot>
-	</SlotList>
-	<TriggerList>
-		<Trigger LogType="Log_Event" UserCode="0x10303080" SeverityLevel="2" Message="CustomerApproachEvent">
-			<Slot Code="ApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent1">
-			<Slot Code="LeaveSlot"/>
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent2">
-			<Slot Code="LeaveSlot"/>
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<Slot Code="OperateSlot" Positive="false"/>
-			<Slot Code="NUICommandSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent3">
-			<Slot Code="ConfirmLeaveSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent1">
-			<Slot Code="EnterFrontSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent2">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303083" SeverityLevel="2" Message="LeaveToApproachEvent">
-			<Slot Code="LeaveToApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303084" SeverityLevel="2" Message="LockFaceEvent">
-			<Slot Code="LockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303085" SeverityLevel="2" Message="LostLockFaceEvent">
-			<Slot Code="LostLockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent1">
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent2">
-			<Slot Code="EnterFocusSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent3">
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313081" SeverityLevel="2" Message="NoCustomerEvent">
-			<SysVar Code="CustomerBeing">
-				<state>N</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>A</state>
-				<state>C</state>
-			</SysVar>
-			<Delayer>3s</Delayer>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313082" SeverityLevel="2" Message="EmergencyExitEvent">
-			<Slot Code="EmergencyExitSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent1">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent2">
-			<Slot Code="NUICommandSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313084" SeverityLevel="2" Message="LeaveToAttentionEvent">
-			<Slot Code="OperateSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313085" SeverityLevel="2" Message="AssistEvent">
-			<SysVar Code="CallState">
-				<state>H</state>
-				<state>P</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313086" SeverityLevel="2" Message="AgentEvent">
-			<Slot Code="AgentHelpOperationSlot"/>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313087" SeverityLevel="2" Message="LeaveToControlEvent">
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313088" SeverityLevel="2" Message="CallHangupEvent">
-			<SysVar Code="CallState">
-				<state>B</state>
-			</SysVar>
-		</Trigger>
-	</TriggerList>
-</Transfer>

+ 0 - 233
addin/cfg/CustomerApproachEventCardStore.xml

@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Transfer>
-	<SlotList>
-		<Slot Code="ApproachSlot" Timeout="8s">
-			<Filter LogType="Log_Event" UserCode="0x21100001" /><!-- customer approach, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x20800010" /><!-- high energy audio, by media controller -->
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- customer approach, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- customer operate, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200006" /><!-- customer appear, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20900009" /><!-- customer approach, by move detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- catch face, by face detection -->
-		</Slot>
-		<Slot Code="LeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100002" /><!-- customer leave, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200002" /><!-- customer leave, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- no face, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20B00002" /><!-- customer leave, by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x2090000a" /><!-- move detection -->
-		</Slot>
-		<Slot Code="ConfirmLeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30903081" /><!-- customer leave via agent, by mod_bizchannel -->
-		</Slot>
-		<Slot Code="EnterFrontSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100003" /><!-- enter front, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- enter front distance, by face tracing-->
-			<Filter LogType="Log_Event" UserCode="0x20B00003" /><!-- by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x20800001" /><!-- by media controller-->
-		</Slot>
-		<Slot Code="OperateSlot" Timeout="40s">
-			<Filter LogType="Log_Event" UserCode="0x20190001" /><!-- IDCertificate Card Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20290001" /><!-- BankCard Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20690001" /><!-- Keypad user enter key -->
-			<Filter LogType="Log_Event" UserCode="0x20900005" /><!-- phone pick up -->
-			<Filter LogType="Log_Event" UserCode="0x20900006" /><!-- phone pick off -->
-			<Filter LogType="Log_Event" UserCode="0x20900001" /><!-- shock -->
-			<Filter LogType="Log_Event" UserCode="0x40100001" /><!-- issue from mod_browser, mouse hook proc -->
-			<Filter LogType="Log_Event" UserCode="0x20400001" /><!-- scanner not used now -->
-			<Filter LogType="Log_Event" UserCode="0x20700001" /><!-- ukey inserted event -->
-			<Filter LogType="Log_Event" UserCode="0x21400003" /><!-- netbank ukey insert-->
-			<Filter LogType="Log_Event" UserCode="0x30B00009" /><!-- ui send operate state-->
-			<Reset Source="ApproachSlot"/>
-		</Slot>
-		<Slot Code="LeaveToApproachSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100004" /><!-- back to approach, issue by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200004" /><!-- face detection and tracing -->
-			<Filter LogType="Log_Event" UserCode="0x20B00004" /><!-- gesture detection -->
-		</Slot>
-		<Slot Code="LockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="LostLockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EnterFocusSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EmergencyExitSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200005" /><!-- change person by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30E10001" /><!-- audio wave info has change -->
-			<Filter LogType="Log_Event" UserCode="0x30903082" /><!-- via agent by mod_bizchannel -->
-		</Slot>
-		<Slot Code="NUICommandSlot" Timeout="5s">
-			<Filter LogType="Log_Event" UserCode="0xffff0000" /><!-- natual interface -->
-		</Slot>
-		<Slot Code="AgentHelpOperationSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x48000004" /><!-- operation help by mod_browser -->
-		</Slot>
-	</SlotList>
-	<TriggerList>
-		<Trigger LogType="Log_Event" UserCode="0x10303080" SeverityLevel="2" Message="CustomerApproachEvent">
-			<Slot Code="ApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent1">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent2">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<Slot Code="OperateSlot" Positive="false"/>
-			<Slot Code="NUICommandSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent3">
-			<Slot Code="ConfirmLeaveSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent1">
-			<Slot Code="EnterFrontSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent2">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303083" SeverityLevel="2" Message="LeaveToApproachEvent">
-			<Slot Code="LeaveToApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303084" SeverityLevel="2" Message="LockFaceEvent">
-			<Slot Code="LockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303085" SeverityLevel="2" Message="LostLockFaceEvent">
-			<Slot Code="LostLockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent1">
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent2">
-			<Slot Code="EnterFocusSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent3">
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313081" SeverityLevel="2" Message="NoCustomerEvent">
-			<SysVar Code="CustomerBeing">
-				<state>N</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>A</state>
-				<state>C</state>
-			</SysVar>
-			<Delayer>3s</Delayer>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313082" SeverityLevel="2" Message="EmergencyExitEvent">
-			<Slot Code="EmergencyExitSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent1">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent2">
-			<Slot Code="NUICommandSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313084" SeverityLevel="2" Message="LeaveToAttentionEvent">
-			<Slot Code="OperateSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313085" SeverityLevel="2" Message="AssistEvent">
-			<SysVar Code="CallState">
-				<state>H</state>
-				<state>P</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313086" SeverityLevel="2" Message="AgentEvent">
-			<Slot Code="AgentHelpOperationSlot"/>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313087" SeverityLevel="2" Message="LeaveToControlEvent">
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-	</TriggerList>
-</Transfer>

+ 0 - 157
addin/cfg/SipphoneEvent.xml

@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<Transfer>
-
-	<SlotList>
-
-		<Slot Code="PickupCallSlot" Timeout="2s" OneTrigger="true">
-
-			<Filter LogType="Log_Event" UserCode="0x20900005" />
-
-		</Slot>
-
-		<Slot Code="HandFreeCallSlot" Timeout="0">
-			<Var Name="BusnessCode" Value=""/>
-
-			<Filter LogType="Log_Event" UserCode="0x48000001" ContentToVar="BusnessCode"/>
-
-			<Filter LogType="Log_Event" UserCode="0x48000002" ContentToVar="BusnessCode"/>
-
-			<Filter LogType="Log_Event" UserCode="0x30E00001" />
-
-		</Slot>
-
-		<Slot Code="HandFreeToPickupCallSlot" Timeout="0">
-
-			<Filter LogType="Log_Event" UserCode="0x20900005" />
-
-			<Filter LogType="Log_Event" UserCode="0x30902082" />
-
-		</Slot>
-
-		<Slot Code="PickupToHandFreeSlot" Timeout="0">
-
-			<Filter LogType="Log_Event" UserCode="0x20900006" />
-
-			<Filter LogType="Log_Event" UserCode="0x30902081" />
-			<Reset Source="PickupCallSlot"/>
-		</Slot>
-
-		<Slot Code="HangupCallSlot" Timeout="0">
-
-			
-
-			<Filter LogType="Log_Event" UserCode="0x30903041" />
-
-			<Filter LogType="Log_Event" UserCode="0x48000003" />
- 
-
-			<Reset Source="PickupCallSlot"/>
-		</Slot>
-
-	</SlotList>
-
-	<TriggerList>
-
-		<Trigger LogType="Log_Event" UserCode="0x10303041" SeverityLevel="2" Message="PickupCallingEvent">
-
-			<Slot Code="PickupCallSlot"/>
-
-			<SysVar Code="CallState">
-
-				<state>O</state>
-
-			</SysVar>
-		</Trigger>
-
-		
-		<Trigger LogType="Log_Event" UserCode="0x10303042" SeverityLevel="2" Message="#HandFreeCallingEvent">
-
-			<Slot Code="HandFreeCallSlot" Message="$(BusnessCode)"/>
-
-			<SysVar Code="CallState">
-
-				<state>O</state>
-
-			</SysVar>
-
-		</Trigger>
-
-		
-
-		<Trigger LogType="Log_Event" UserCode="0x10303046" SeverityLevel="2" Message="HandFreeToPickupEvent">
-
-			<Slot Code="HandFreeToPickupCallSlot"/>
-
-			<SysVar Code="CallState">
-
-				<state>C</state>
-
-				<state>H</state>
-
-			</SysVar>
-
-		</Trigger>
-
-		
-
-		<Trigger LogType="Log_Event" UserCode="0x10303047" SeverityLevel="2" Message="PickupToHandFreeEvent">
-
-			<Slot Code="PickupToHandFreeSlot"/>
-
-			<SysVar Code="CallState">
-
-				<state>P</state>
-
-			</SysVar>
-
-		</Trigger>
-
-		
-		<Trigger LogType="Log_Event" UserCode="0x10303048" SeverityLevel="2" Message="HangupEvent1">
-
-			<Slot Code="HangupCallSlot"/>
-
-			<SysVar Code="CallState">
-
-				<state>C</state>
-
-			</SysVar>
-
-		</Trigger>
-
-		
-
-		<Trigger LogType="Log_Event" UserCode="0x10303048" SeverityLevel="2" Message="HangupEvent2">
-
-			<Slot Code="HangupCallSlot"/>
-
-			<SysVar Code="CallState">
-
-				<state>P</state>
-
-				<state>H</state>
-
-			</SysVar>
-
-			<SysVar Code="BackInitiative">
-
-				<state>F</state>
-
-			</SysVar>
-
-		</Trigger>
-	
-		<Trigger LogType="Log_Event" UserCode="0x10303049" SeverityLevel="2" Message="HangupEvent3">
-			<Slot Code="PickupToHandFreeSlot"/>
-			<SysVar Code="CallState">
-				<state>C</state>
-			</SysVar>
-
-		</Trigger>
-
-		
-
-	</TriggerList>
-
-</Transfer>

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-CW-CASH35AG-1201.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=CW
-MachineModel=CASH35AG-1201
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=
-handfree_out_dev=
-pickup_in_dev=
-pickup_out_dev=
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=cw
-Version=2
-Batch=1
-Port=0
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=cw
-Version=2
-Batch=1
-Port=9
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=cw
-Version=2
-Batch=1
-Port=0
-Baudrate=0
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=cw
-Version=2
-Batch=1
-Port=4
-Baudrate=9600
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=cw
-Version=2
-Batch=1
-Port=7
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=cw
-Version=2
-Batch=1
-
-
-
-

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-GRG-DT-7000I64A-048.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=GRG
-MachineModel=DT-7000I64A-048
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=
-handfree_out_dev=
-pickup_in_dev=
-pickup_out_dev=
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=grg
-Version=2
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=grg
-Version=2
-Batch=1
-Port=2
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=grg
-Version=2
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=grg
-Version=2
-Batch=1
-Port=0
-Baudrate=0
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=grg
-Version=2
-Batch=1
-Port=4
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=grg
-Version=2
-Batch=1
-
-
-
-

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-GWI-VTM700-A03.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=GWI
-MachineModel=VTM700-A03
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=POROSVOC
-handfree_out_dev=PCM2902 Audio Codec
-pickup_in_dev=Audio Adapter (Unitek Y-247A) 模拟单声道
-pickup_out_dev=Audio Adapter (Unitek Y-247A)
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=gwi
-Version=2
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=gwi
-Version=2
-Batch=1
-Port=2
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=gwi
-Version=2
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=gwi
-Version=2
-Batch=1
-Port=0
-Baudrate=0
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=gwi
-Version=2
-Batch=1
-Port=4
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=gwi
-Version=2
-Batch=1
-
-
-
-

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-KEBA-E1090.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=KEBA
-MachineModel=E1090
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=POROSVOC
-handfree_out_dev=Audio Adapter (Unitek Y-247A)
-pickup_in_dev=内置音频
-pickup_out_dev=内置音频
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=2
-Batch=1
-Port=0
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=keba
-Version=2
-Batch=1
-Port=2
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=2
-Batch=1
-Port=0
-Baudrate=0
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=2
-Batch=1
-Port=1
-Baudrate=9600
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=2
-Batch=1
-Port=0
-Baudrate=0
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=keba
-Version=2
-Batch=1
-
-
-
-

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-NANTIAN-VTM-6200B15G.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=NANTIAN
-MachineModel=VTM-6200B15G
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=Audio Adapter(Unitek Y-247A)模拟单声道
-handfree_out_dev=Audio Adapter(Unitek Y-247A)模拟立体声
-pickup_in_dev=内置音频
-pickup_out_dev=内置音频
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=nantian
-Version=2
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=nantian
-Version=2
-Batch=1
-Port=3
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=nantian
-Version=2
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=nantian
-Version=2
-Batch=1
-Port=7
-Baudrate=0
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=nantian
-Version=2
-Batch=1
-Port=6
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=nantian
-Version=2
-Batch=1
-
-
-
-

+ 0 - 108
addin/hardwarecfg/UOS/root-RVC.Stand1SPlus-SZZT-ZT2619.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand1SPlus
-MachineVersion=5.0
-Manufacturer=SZZT
-MachineModel=ZT2619
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=POROSVOC
-handfree_out_dev=CMI8738/CMI8768 PCI Audio (CMI8738/C3DX PCI Audio Device)
-pickup_in_dev=内置音频
-pickup_out_dev=内置音频
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=
-EnvRotate=0
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=szzt
-Version=2
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=szzt
-Version=2
-Batch=1
-Port=4
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=szzt
-Version=2
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=szzt
-Version=2
-Batch=1
-Port=3
-Baudrate=115200
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=szzt
-Version=2
-Batch=1
-Port=5
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.FingerPrint]
-Vendor=szzt
-Version=2
-Batch=1
-
-
-
-

+ 0 - 154
addin/hardwarecfg/UOS/root-RVC.Stand2S-CW-CASH35AG-JR10(G).ini

@@ -1,154 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand2S
-MachineVersion=5.0
-Manufacturer=CW
-MachineModel=CASH35AG-JR10(G)
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=
-handfree_out_dev=
-pickup_in_dev=
-pickup_out_dev=
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=
-OptCamera= 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-;EnvFps=5
-;OptFps=5
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=2
-Baudrate=38400
-
-[Device.CardSwiper]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-
-[Device.DeviceControl]
-# parameters such as port 
-Vendor=cmbsz
-Version=1
-Batch=1
-Port=0
-Baudrate=0
-
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=8
-Baudrate=9600
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=6
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=cw
-Version=1
-Batch=1
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=cw
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-Vendor=cw
-Version=1
-Batch=1
-
-[Device.FingerPrint]
-Vendor=cw
-Version=1
-Batch=1
-
-
-

+ 0 - 153
addin/hardwarecfg/UOS/root-RVC.Stand2S-GRG-DT-7000I64A.ini

@@ -1,153 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand2S
-MachineVersion=5.0
-Manufacturer=GRG
-MachineModel=DT-7000I64A
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=
-handfree_out_dev=
-pickup_in_dev=
-pickup_out_dev=
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=
-OptCamera= 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-;EnvFps=5
-;OptFps=5
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-
-[Device.CardSwiper]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.DeviceControl]
-# parameters such as port 
-Vendor=cmbsz
-Version=1
-Batch=1
-Port=0
-Baudrate=0
-
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=0
-Baudrate=0
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=grg
-Version=1
-Batch=1
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=grg
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-Vendor=grg
-Version=1
-Batch=1
-
-[Device.FingerPrint]
-Vendor=grg
-Version=1
-Batch=1
-

+ 0 - 154
addin/hardwarecfg/UOS/root-RVC.Stand2S-KEBA-E1080-L.ini

@@ -1,154 +0,0 @@
-[Terminal]
-TerminalNo=
-MachineType=RVC.Stand2S
-MachineVersion=5.0
-Manufacturer=KEBA
-MachineModel=E1080-L
-SN=
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=XXX省XXX市XXX区XXX分行
-
-[Path]
-SysRoot=/opt/rvc/Run
-ADData=/opt/rvc/adData
-SysLog=/opt/rvc/SysLog
-InterLog=/opt/rvc/InterLog
-UploadVideo=/opt/rvc/UploadVideo
-UploadPhoto=/opt/rvc/UploadPhoto
-LocalVideo=/opt/rvc/Video
-Downloads=/opt/rvc/Downloads
-Upgraded=/opt/rvc/Upgraded
-Temp=/opt/rvc/Temp
-CenterSetting=/opt/rvc/CenterSetting
-
-[Audio]
-handfree_in_dev=
-handfree_out_dev=
-pickup_in_dev=
-pickup_out_dev=
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=
-OptCamera= 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-;EnvFps=5
-;OptFps=5
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=2
-Baudrate=38400
-
-
-[Device.CardSwiper]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.DeviceControl]
-# parameters such as port 
-Vendor=cmbsz
-Version=1
-Batch=1
-Port=0
-Baudrate=0
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=0
-Baudrate=0
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=keba
-Version=1
-Batch=1
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-Vendor=keba
-Version=1
-Batch=2
-
-[Device.FingerPrint]
-Vendor=keba
-Version=1
-Batch=1
-
-
-
-

+ 0 - 129
addin/hardwarecfg/WIN/root-中钞科堡.ini

@@ -1,129 +0,0 @@
-[Terminal]
-TerminalNo=7715010005
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=0.003,0.003
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风阵列 (Andrea PureAudio US
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (2- High Definition Audi
-pickup_out_dev= 扬声器 (2- High Definition Audi
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=Microsoft? LifeCam Studio(TM);558EE9F3018C654F3F1C4E4187FFDD70
-EnvCamera=Microsoft LifeCam Studio;30388F1084386315D4FB28167E05A82A
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=6
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=3
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1

+ 0 - 124
addin/hardwarecfg/WIN/root-凯欣达.ini

@@ -1,124 +0,0 @@
-[Terminal]
-TerminalNo=7715010100
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=High
-pickup_out_dev=High
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;C43D76E651BFF3163449063A60124D33
-OptCamera=Microsoft LifeCam Studio;B3E87C521D73CEDE23885966A466B84A 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1

+ 0 - 106
addin/hardwarecfg/WIN/root-制卡机-金邦达.ini

@@ -1,106 +0,0 @@
-[Terminal]
-;TerminalNo=75500000004
-;TerminalNo=7555984212
-TerminalNo=7555984701
-MachineType=RVC.CardPrinter
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="0.003,0.003"
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;99031DC7F5C6E716F32C28BC61559959
-OptCamera=Microsoft LifeCam Studio;FDD8F8845CB89F3F1DC36FCAE98B29A2 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Goldpac
-Version=6
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Goldpac
-Version=6
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Goldpac
-Version=6
-Batch=1
-Port=7
-InOutDir=65280
-Baudrate=9600
-
-[Device.FingerPrint]
-# parameters such as port 
-Vendor=Goldpac
-Version=6
-Batch=1
-Port=0
-Baudrate=9600
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Goldpac
-Version=6
-Batch=1
-Port=2
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000

+ 0 - 106
addin/hardwarecfg/WIN/root-制卡机-长城.ini

@@ -1,106 +0,0 @@
-[Terminal]
-;TerminalNo=75500000004
-;TerminalNo=7555984212
-TerminalNo=7555984701
-MachineType=RVC.CardPrinter
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="0.003,0.003"
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;99031DC7F5C6E716F32C28BC61559959
-OptCamera=Microsoft LifeCam Studio;FDD8F8845CB89F3F1DC36FCAE98B29A2 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=GWI
-Version=6
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=GWI
-Version=6
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=GWI
-Version=6
-Batch=1
-Port=7
-InOutDir=65280
-Baudrate=9600
-
-[Device.FingerPrint]
-# parameters such as port 
-Vendor=GWI
-Version=6
-Batch=1
-Port=0
-Baudrate=9600
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=GWI
-Version=6
-Batch=1
-Port=2
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000

+ 0 - 91
addin/hardwarecfg/WIN/root-卡库-东信新版卡库.ini

@@ -1,91 +0,0 @@
-[Terminal]
-TerminalNo=7555934201
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="22.53460,114.03343"
-EnrolAddr=广东省深圳市福田区京基滨河时代大厦1楼
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Eastcom
-Version=5
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Eastcom
-Version=5
-Batch=1
-Port=1
-Baudrate=115200
-;Vendor=
-;Version=
-;Batch=
-;Baudrate=19200
-
-
-[Device.FingerPrint]
-Vendor=Eastcom
-Version=5
-Batch=1
-Port=3
-Baudrate=9600
-
-
-[Device.Gpio]
-Vendor=Eastcom
-Version=5
-Batch=1
-PortNum=4
-InOutDir=65280
-Extend=1
-Port=8
-Baudrate=9600

+ 0 - 73
addin/hardwarecfg/WIN/root-卡库-东信旧版KK1000I-3.ini

@@ -1,73 +0,0 @@
-[Terminal]
-TerminalNo=7555214001
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="113.897749,22.4853"
-EnrolAddr=深圳分行赤湾支行 深圳蛇口赤湾石油大厦附楼一楼
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Eastcom
-Version=2
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Eastcom
-Version=1
-Batch=6
-Port=2
-Baudrate=115200
-;Vendor=
-;Version=
-;Batch=
-;Baudrate=19200
-

+ 0 - 85
addin/hardwarecfg/WIN/root-卡库-广电.ini

@@ -1,85 +0,0 @@
-[Terminal]
-TerminalNo=7555574201
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="22.547625,113.939374"
-EnrolAddr=广东省深圳市南山区高新中四道研祥科技大厦一楼
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-Vendor=grg
-Version=5
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-Vendor=grg
-Version=5
-Batch=1
-Port=4
-Baudrate=38400
-DevSN=HX-FWB-A000001
-
-[Device.FingerPrint]
-Vendor=grg
-Version=5
-Batch=1
-Port=0
-Baudrate=9600
-
-[Device.Gpio]
-Vendor=grg
-Version=5
-Batch=1
-PortNum=4
-InOutDir=65280
-Extend=3
-Port=3
-Baudrate=115200
-

+ 0 - 86
addin/hardwarecfg/WIN/root-卡库-恒银.ini

@@ -1,86 +0,0 @@
-[Terminal]
-TerminalNo=7555124201
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="113.927888,22.49636"
-EnrolAddr=深圳分行蛇口支行广东省深圳南山区蛇口招商路招商大厦首层
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate] 
-Vendor=CW
-Version=5
-Batch=1
-Port=1
-
-[Device.CardIssuer] 
-Vendor=CW
-Version=5
-Batch=1
-Port=3
-Baudrate=38400
-
-
-[Device.FingerPrint]
-Vendor=CW
-Version=5
-Batch=1
-Port=3
-Baudrate=9600
-
-
-[Device.Gpio]
-Vendor=CW
-Version=5
-Batch=1
-PortNum=4
-InOutDir=65280
-Extend=1
-Port=9
-Baudrate=9600
-  

+ 0 - 85
addin/hardwarecfg/WIN/root-卡库-证通.ini

@@ -1,85 +0,0 @@
-[Terminal]
-TerminalNo=7555574201
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="22.547625,113.939374"
-EnrolAddr=广东省深圳市南山区高新中四道研祥科技大厦一楼
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-Vendor=szzt
-Version=5
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-Vendor=szzt
-Version=5
-Batch=1
-Port=4
-Baudrate=38400
-DevSN=HX-FWB-A000001
-
-[Device.FingerPrint]
-Vendor=szzt
-Version=5
-Batch=1
-Port=0
-Baudrate=9600
-
-[Device.Gpio]
-Vendor=szzt
-Version=5
-Batch=1
-PortNum=4
-InOutDir=65280
-Extend=3
-Port=3
-Baudrate=115200
-

+ 0 - 91
addin/hardwarecfg/WIN/root-卡库-长城新版卡库.ini

@@ -1,91 +0,0 @@
-[Terminal]
-TerminalNo=7555934201
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="22.53460,114.03343"
-EnrolAddr=广东省深圳市福田区京基滨河时代大厦1楼
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=gwi
-Version=5
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=GWI
-Version=5
-Batch=1
-Port=1
-Baudrate=115200
-;Vendor=
-;Version=
-;Batch=
-;Baudrate=19200
-
-
-[Device.FingerPrint]
-Vendor=GWI
-Version=5
-Batch=1
-Port=3
-Baudrate=9600
-
-
-[Device.Gpio]
-Vendor=GWI
-Version=5
-Batch=1
-PortNum=4
-InOutDir=65280
-Extend=1
-Port=8
-Baudrate=9600

+ 0 - 73
addin/hardwarecfg/WIN/root-卡库-长城旧卡库-GWI BST260L-AQ1.ini

@@ -1,73 +0,0 @@
-[Terminal]
-TerminalNo=7555894001
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="22.547204,114.116525"
-EnrolAddr=深圳市罗湖区深南东路5015号金丰城大厦首层
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=gwi
-Version=1
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=gwi
-Version=1
-Batch=6
-Port=2
-Baudrate=115200
-;Vendor=
-;Version=
-;Batch=
-;Baudrate=19200
-

+ 0 - 120
addin/hardwarecfg/WIN/root-大机-中世顺ZSS9100.ini

@@ -1,120 +0,0 @@
-[Terminal]
-TerminalNo=5615310003
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=33.5442,116.4537
-EnrolAddr=淮北市濉溪县虎山路与濉河路交叉口西南侧
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风 (2- Realtek High Definit
-handfree_out_dev=扬声器 (2- Realtek High Definit
-handfree_in_agc=0
-handfree_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-handfree_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_dev=麦克风 (C-Media PCI Audio Devic
-pickup_out_dev=扬声器 (C-Media PCI Audio Devic
-pickup_in_agc=0
-pickup_out_agc=0
-pickup_in_ns=1
-pickup_out_ns=1
-pickup_aec=0
-pickup_in_volume=80
-pickup_out_volume=80
-
-[Video]
-EnvCamera=CMB camera1;89F006AF15706CC84B4FEBD52C5E8A7A
-EnvRotate=0
-OptCamera=CMB camera2;C2C6DCAE0CB72F9303BE8F8232FAF42C
-OptRotate=270
-mtu=1500
-quant=3
-
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.ContactlessCard]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=0
-Baudrate=12300
-
-[Device.Gpio]
-Vendor=ZSS
-Version=7
-Batch=1
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=5
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=1
-Baudrate=2400
-
-[Device.WatchDog]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=5
-Baudrate=38400
-
-[Device.HSPScanner]
-Vendor=ZSS
-Version=7
-Batch=1
-Port=

+ 0 - 137
addin/hardwarecfg/WIN/root-大机-中钞科堡E1000.ini

@@ -1,137 +0,0 @@
-[Terminal]
-TerminalNo=7554800002
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=23.024,113.754
-EnrolAddr=广东省深圳市南山区南海大道登良路21-3号恒裕中心A座
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风阵列 (Andrea PureAudio US
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (2- High Definition Audi
-pickup_out_dev= 扬声器 (2- High Definition Audi
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=CMB camera2;C2C6DCAE0CB72F9303BE8F8232FAF42C
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=6
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=3
-Port=3
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=
-
-[Device.Therma1Print]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]
-Vendor=keba
-Version=1
-Batch=1
-

+ 0 - 136
addin/hardwarecfg/WIN/root-大机-中钞科堡E1080.ini

@@ -1,136 +0,0 @@
-[Terminal]
-TerminalNo=1275710001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=114.023054,30.029054
-EnrolAddr=武汉分行民族大道支行  湖北省武汉市洪山区民族大道洪福甜美广场
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风阵列 (Andrea PureAudio US
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (2- High Definition Audi
-pickup_out_dev= 扬声器 (2- High Definition Audi
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=CMB camera2;93755A96182ADE48D91DA88CBDAFC4E4
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Keba
-Version=7
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Keba
-Version=7
-Batch=1
-Port=2
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-Port=0
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-Port=0
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=Keba
-Version=7
-Batch=1
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-
-[Device.ThermalPrint]
-# parameters such as port 
-Vendor=keba
-Version=7
-Batch=1
-

+ 0 - 135
addin/hardwarecfg/WIN/root-大机-凯欣达295.ini

@@ -1,135 +0,0 @@
-[Terminal]
-TerminalNo=7555610002
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=22.60467,114.12851
-EnrolAddr=深圳分行布吉支行 深圳布吉罗岗路口招商银行
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=High
-pickup_out_dev=High
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;87BFC4759BB99B37953E0B5140B05B23
-OptCamera=Microsoft LifeCam Studio;792ECA52375E3D80CCBF2F6BFD1DCC01 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=2
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-#parameters such as port
-Vendor=kxd
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]  
-;Vendor配置厂商名称,按实际大机机型配置:Hyosung/keba/kxd
-Vendor=kxd
-;Version和Batch均配置为1
-Version=1
-Batch= 1 
-
-

+ 0 - 132
addin/hardwarecfg/WIN/root-大机-凯欣达KL286.ini

@@ -1,132 +0,0 @@
-[Terminal]
-TerminalNo=7555930001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=22.52494,114.04319
-EnrolAddr=深圳分行新洲支行 广东省深圳市福田区新洲九街福昌苑首层
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=High
-pickup_out_dev=High
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;C43D76E651BFF3163449063A60124D33
-OptCamera=Microsoft LifeCam Studio;581208331071C935707CE8F9825A308A 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=2
-Port=3
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-#parameters such as port
-Vendor=kxd
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]  
-Vendor=kxd  
-Version=1
-Batch=1 
-

+ 0 - 134
addin/hardwarecfg/WIN/root-大机-凯欣达KL286D.ini

@@ -1,134 +0,0 @@
-[Terminal]
-TerminalNo=7555930002
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=22.53068,114.049594
-EnrolAddr=深圳分行新洲支行 广东省深圳市福田区新洲九街福昌苑首层
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=High
-pickup_out_dev=High
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;FDB5965C220C93B3789D04A5233557BA
-OptCamera=Microsoft LifeCam Studio;792ECA52375E3D80CCBF2F6BFD1DCC01 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=kxd
-Version=1
-Batch=2
-Port=3
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-#parameters such as port
-Vendor=kxd
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]  
-Vendor=kxd
-Version=1
-Batch= 1 
-
-
-

+ 0 - 113
addin/hardwarecfg/WIN/root-大机-凯欣达KS218.ini

@@ -1,113 +0,0 @@
-[Terminal]
-TerminalNo=5715150004
-MachineType=RVC.Stand2S
-MachineVersion=4.6.3.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS="120.143577,30.279608"
-EnrolAddr=ÕÐÉÌÒøÐнâ·ÅÖ§ÐÐ
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=Realtek High Definition
-handfree_in_agc=0
-handfree_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-handfree_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_dev=C-Media USB Headphone Set
-pickup_out_dev=C-Media USB Headphone Set
-pickup_in_agc=0
-pickup_out_agc=0
-pickup_in_ns=1
-pickup_out_ns=1
-pickup_aec=0
-pickup_in_volume=80
-pickup_out_volume=80
-[Video]
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptCamera=CMB camera2;712B7E216841DE31966857FAFF90A124
-OptRotate=270
-mtu=1500
-quant=3
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-[Device.IDCertificate]
-Vendor=kxd
-Version=7
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-Vendor=kxd
-Version=7
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-Vendor=kxd
-Version=7
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-Vendor=kxd
-Version=7
-Batch=1
-PortNum=4
-InOutDir=65280
-
-[Device.PinPad]
-Vendor=kxd
-Version=7
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=kxd
-Version=7
-Batch=1
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-Vendor=kxd
-Version=7
-Batch=1
-Port=
-
-[Device.HSPScanner]
-Vendor=kxd
-Version=7
-Batch=1
-
-[Device.ThermalPrint]
-# parameters such as port 
-Vendor=kxd
-Version=7
-Batch=1

+ 0 - 108
addin/hardwarecfg/WIN/root-大机-恒银.ini

@@ -1,108 +0,0 @@
-[Terminal]
-TerminalNo=4275170001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS="41.18581,123.04971"
-EnrolAddr=盘锦分行盘锦双台子支行  盘锦市双台子区渤海路39-4号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-[Audio]
-handfree_in_dev=麦克风 (USB Advanced Audio Devi
-handfree_out_dev=扬声器 (USB Advanced Audio Devi
-handfree_in_agc=0
-handfree_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-handfree_aec=0
-handfree_in_volume=80
-handfree_out_volume=80
-pickup_in_dev=麦克风 (Realtek High Definition
-pickup_out_dev=扬声器 (Realtek High Definition
-pickup_in_agc=0
-pickup_out_agc=0
-pickup_in_ns=1
-pickup_out_ns=1
-pickup_aec=0
-pickup_in_volume=80
-pickup_out_volume=80
-[Video]
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptCamera=CMB camera2;C2C6DCAE0CB72F9303BE8F8232FAF42C
-OptRotate=270
-mtu=1500
-quant=3
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-[Device.IDCertificate]
-Vendor=cw
-Version=7
-Batch=1
-Port=
-[Device.CardIssuer]
-Vendor=cw
-Version=7
-Batch=1
-Port=2
-Baudrate=38400
-[Device.ContactlessCard]
-Vendor=cw
-Version=7
-Batch=1
-Port=
-Baudrate=115200
-[Device.Gpio]
-Vendor=cw
-Version=7
-Batch=1
-Port=8
-Baudrate=9600
-InOutDir=65280
-[Device.PinPad]
-Vendor=cw
-Version=7
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-[Device.Ups]
-Vendor=cw
-Version=7
-Batch=1
-Port=5
-Baudrate=2400
-[Device.WatchDog]
-Vendor=cw
-Version=7
-Batch=1
-Port=
-[Device.HSPScanner]
-Vendor=cw
-Version=7
-Batch=1
-Port=
-[Device.ThermalPrint]
-Vendor=cw
-Version=7
-Batch=1
-Port=

+ 0 - 142
addin/hardwarecfg/WIN/root-大机-晓星BS9000.ini

@@ -1,142 +0,0 @@
-[Terminal]
-TerminalNo=7554950001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=22.5285,113.9503
-EnrolAddr=深圳分行生态园支行  深市南山区深圳湾科技生态园
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=80
-;handfree_out_volume=100
-pickup_in_volume=100
-;pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft? LifeCam Studio(TM);736E962731808CBFCB38490B4F9F537D
-OptCamera= 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=hyosung
-Version=1
-Batch=1
-Port=0
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=2
-Port=0
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=0
-Baudrate=??
-
-[Device.TheralPrint]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=0
-Baudrate=??
-
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-

+ 0 - 124
addin/hardwarecfg/WIN/root-大机-晓星MX9200CM.ini

@@ -1,124 +0,0 @@
-[Terminal]
-TerminalNo=275010001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=114.24099,30.64467
-EnrolAddr=武汉分行常青花园自助 武汉市常青花园学府南路116号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=60
-;handfree_out_volume=100
-pickup_in_volume=100
-;pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;99031DC7F5C6E716F32C28BC61559959
-OptCamera=Microsoft LifeCam Studio;FF2CC549C1A0FBBBDD7F50729E19EC81 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=hyosung
-Version=1
-Batch=1
-Port=4
-Baudrate=115200 
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=2
-Port=0
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-[Device.ThermalPrint]
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=0
-

+ 0 - 137
addin/hardwarecfg/WIN/root-大机-科堡E1000.ini

@@ -1,137 +0,0 @@
-[Terminal]
-TerminalNo=7554800002
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=23.024,113.754
-EnrolAddr=广东省深圳市南山区南海大道登良路21-3号恒裕中心A座
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风阵列 (Andrea PureAudio US
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (2- High Definition Audi
-pickup_out_dev= 扬声器 (2- High Definition Audi
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=CMB camera2;C2C6DCAE0CB72F9303BE8F8232FAF42C
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=6
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=3
-Port=3
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=
-
-[Device.Therma1Print]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]
-Vendor=keba
-Version=1
-Batch=1
-

+ 0 - 148
addin/hardwarecfg/WIN/root-大机-科堡E1080.ini

@@ -1,148 +0,0 @@
-[Terminal]
-TerminalNo=1275710001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=114.023054,30.029054
-EnrolAddr=武汉分行民族大道支行  湖北省武汉市洪山区民族大道洪福甜美广场
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风阵列 (Andrea PureAudio US
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (2- High Definition Audi
-pickup_out_dev= 扬声器 (2- High Definition Audi
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=CMB camera2;93755A96182ADE48D91DA88CBDAFC4E4
-EnvCamera=CMB camera1;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Keba
-Version=1
-Batch=2
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Keba
-Version=1
-Batch=5
-Port=2
-Baudrate=38400
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=2
-Port=0
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=4
-Port=0
-Baudrate=115200
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=Keba
-Version=1
-Batch=2
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=2
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=2
-
-[Device.ThermalPrint]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-
-[Device.PrintSeal]
-# parameters such as port 
-count=1
-Name_1=Lexmark MS510 Series XL
-Vendor_1=keba
-Version_1=1
-Batch_1=2
-Printerport_1=198.168.1.188
-Sealport_1=3
-WindowsDriver_1=1
-PaperBoxes_1=2:普通A4|1:存款证明
-

+ 0 - 137
addin/hardwarecfg/WIN/root-大机-长城.ini

@@ -1,137 +0,0 @@
-[Terminal]
-TerminalNo=1275580001
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=114.151201,30.353701
-EnrolAddr=武汉市硚口区解放大道233号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=麦克风 (Andrea PureAudio USB-SA
-handfree_out_dev=扬声器 (Andrea PureAudio USB-SA
-pickup_in_dev=麦克风 (Realtek High Definition
-pickup_out_dev=扬声器 (Realtek High Definition
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=90
-handfree_out_volume=90
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-OptCamera=cam1;C2C6DCAE0CB72F9303BE8F8232FAF42C
-EnvCamera=cam0;630419123623780B229E27264E9F78BE
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-Port=0
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-Port=6
-Baudrate=9600
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-Port=0
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=7
-Version=1
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=gwi
-Version=7
-Batch=1
-Port=
-
-[Device.ThermalPrint]
-#parameters such as port
-Vendor=gwi
-Version=7
-Batch=1
-Port=0
-Baudrate=  
-
-[Device.HSPScanner]  
-Vendor=gwi  
-Version=7
-Batch=1 
-

+ 0 - 127
addin/hardwarecfg/WIN/root-晓星一代.ini

@@ -1,127 +0,0 @@
-[Terminal]
-;TerminalNo=75500000004
-TerminalNo=7715010004
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=50
-pickup_in_volume=100
-pickup_out_volume=50
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;F3BE2698117325F84EEED8D49F563C70
-OptCamera=Microsoft LifeCam Studio;F74984B608DD8148F629C567E2B27E23
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=1
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=hyosung
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1

+ 0 - 130
addin/hardwarecfg/WIN/root-晓星二代.ini

@@ -1,130 +0,0 @@
-[Terminal]
-TerminalNo=7715010007
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=CMB.LIB
-Screen=2
-EnrolGPS=0.003,0.003
-EnrolAddr=广东省深圳市南山区科技园科兴研发测试晓星VTM2
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=70
-handfree_out_volume=80
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft? LifeCam Studio(TM);AFFACA1EF797DA16C9DEFA0FB98B375A
-OptCamera=Microsoft? LifeCam Studio(TM);558EE9F3018C654F3F1C4E4187FFDD70
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.Utility]
-SMSupport=1
-OnlineOnly=1
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=hyosung
-Version=1
-Batch=1
-Port=4
-Baudrate=9600
-
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1

+ 0 - 72
addin/hardwarecfg/WIN/root.RVC.CardStore.ini

@@ -1,72 +0,0 @@
-[Terminal]
-TerminalNo=7715014003
-MachineType=RVC.CardStore
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=1
-EnrolGPS="0.003,0.003"
-EnrolAddr=长城卡库
-
-[Path]
-SysRoot=d:\rvc\run
-ADData=d:\rvc\addata
-SysLog=d:\rvc\SysLog
-InterLog=d:\rvc\InterLog
-UploadVideo=d:\rvc\UploadVideo
-UploadPhoto=d:\rvc\UploadPhoto
-LocalVideo=d:\rvc\Video
-Downloads=d:\rvc\Downloads
-Upgraded=d:\rvc\Upgraded
-Temp=d:\rvc\Temp
-CenterSetting=d:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Realtek High Definition
-handfree_out_dev=扬声器 (High Definition Audio
-;pickup_in_dev=Microsoft 声音映射器
-;pickup_out_dev= Microsoft 声音映射器
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=0
-pickup_aec=0
-handfree_in_volume=5
-handfree_out_volume=5
-;pickup_in_volume=100
-;pickup_out_volume=100
-ews_in_dev=$
-ews_in_agc=0
-ews_in_ns=1
-ews_aec=0
-ews_in_volume=100
-
-
-;define device category
-[Device]
-Number=2
-1=IDCertificate
-2=CardIssuer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=gwi
-Version=1
-Batch=1
-Port=1
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=gwi
-Version=1
-Batch=6
-Port=2
-Baudrate=115200
-;Vendor=
-;Version=
-;Batch=
-;Baudrate=19200

+ 0 - 159
addin/hardwarecfg/WIN/root.RVC.Stand2S.ini

@@ -1,159 +0,0 @@
-[Terminal]
-TerminalNo=75500000004
-MachineType=RVC.Stand2S
-MachineVersion=1.0
-Site=cmb.LIB
-Screen=2
-EnrolGPS="0.003,0.003"
-EnrolAddr=广东省深圳市南山区科技园北区科技中一路3号
-
-[Path]
-SysRoot=D:\rvc\run
-ADData=D:\rvc\addata
-SysLog=D:\rvc\SysLog
-InterLog=D:\rvc\InterLog
-UploadVideo=D:\rvc\UploadVideo
-UploadPhoto=D:\rvc\UploadPhoto
-LocalVideo=D:\rvc\Video
-Downloads=D:\rvc\Downloads
-Upgraded=D:\rvc\Upgraded
-Temp=D:\rvc\Temp
-CenterSetting=D:\rvc\CenterSetting
-
-[Audio]
-handfree_in_dev=Andrea
-handfree_out_dev=Andrea
-pickup_in_dev=SB 5.1 VX
-pickup_out_dev=SB 5.1 VX
-;pickup_in_dev=MUSILAND
-;pickup_out_dev=MUSILAND
-handfree_in_agc=0
-handfree_out_agc=0
-pickup_in_agc=0
-pickup_out_agc=0
-handfree_in_ns=1
-handfree_out_ns=0
-pickup_in_ns=1
-pickup_out_ns=0
-handfree_aec=1
-pickup_aec=0
-handfree_in_volume=100
-handfree_out_volume=100
-pickup_in_volume=100
-pickup_out_volume=100
-
-[Video]
-EnvCamera=Microsoft LifeCam Studio;99031DC7F5C6E716F32C28BC61559959
-OptCamera=Microsoft LifeCam Studio;FDD8F8845CB89F3F1DC36FCAE98B29A2 
-EnvRotate=0
-OptRotate=270
-mtu=1500
-quant=3;0-10, 0:最清晰, 10:最模糊
-
-;define device category
-[Device]
-Number=6
-1=IDCertificate
-2=CardIssuer
-3=Radar
-4=WatchDog
-5=UPS
-6=Printer
-
-[Device.IDCertificate]
-# parameters such as port 
-Vendor=keba
-Version=1
-Batch=1
-Port=1
-
-
-[Device.CardIssuer]
-# parameters such as port 
-Vendor=Sankyo
-Version=1
-Batch=2
-Port=2
-Baudrate=115200
-
-[Device.ContactlessCard]
-# parameters such as port 
-Vendor=hyosung
-Version=1
-Batch=1
-Port=4
-Baudrate=115200
-
-[Device.Gpio]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-PortNum=4
-InOutDir=65280
-
-
-[Device.PinPad]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=3
-Baudrate=9600
-Checkdata=0000000000000000
-Keysn=000
-
-[Device.Ups]
-Vendor=
-Version=
-Batch=
-Port=5
-Baudrate=2400
-
-[Device.WatchDog]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=
-
-[Device.Print]
-;是否支持打印:0 不支持 , 1 支持
-SupportPrint=0
-
-;通用打印机名称(激光,喷墨)
-Common_PrintName=
-;连接模式:0 本地 , 1 网络tcp/ip连接(非共享)   
-Common_PortType=0
-Common_PrintIP=
-
-[Device.HSPScanner]
-# parameters such as port 
-Vendor=Hyosung
-Version=1
-Batch=1
-
-[Device.ThermalPrint]
-# parameters such as port
-Vendor=Hyosung
-Version=1
-Batch=1
-Port=0
-Baudrate=
-
-[Device.HSPScanner]
-Vendor=
-Version=
-Batch=
-
-[Device.PrintSeal]
-;打印盖章设备是选配件,如启动打印盖章功能,请将下列count参数设置为1
-count=0
-Name_1=
-Vendor_1=
-Version_1=
-Batch_1=
-PrinterPort_1=
-SealPort_1=
-WindowsDriver_1=1
-PaperBoxes_1=2:普通A4|1:存款证明

+ 0 - 3
addin/hardwarecfg/root-input.ini

@@ -1,3 +0,0 @@
-[Terminal]
-;仅需在下方等号后面输入我行设备终端号,并把该文件名改成 root.ini 即可
-TerminalNo=

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff