瀏覽代碼

!10595 复原模拟器联调的改动
Merge pull request !10595 from 80310970/simulator_compile_fix

杨诗友80174847 9 月之前
父節點
當前提交
16513e97dc

+ 6 - 3
DevAdapter/simulator/FingerPrint.1.1/FingerPrint_httpans.h

@@ -2,22 +2,25 @@
 #include "DeviceSimulator.h"
 
 typedef struct Image2FeatureAns {
+    int errNum;
     string lpbFeature;
     int iLength;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(lpbFeature, iLength)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, lpbFeature, iLength)
 }Image2FeatureAns;
 
 typedef struct Image2TemplateAns {
+    int errNum;
     string lpbTemplate;
     int iLength;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(lpbTemplate, iLength)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, lpbTemplate, iLength)
 }Image2TemplateAns;
 
 typedef struct MatchAns {
+    int errNum;
     string lbpFeature;
     int iFeatureLen;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(lbpFeature, iFeatureLen)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, lbpFeature, iFeatureLen)
 }MatchAns;

+ 8 - 4
DevAdapter/simulator/FingerPrint.1.1/FingerPrint_impl.cpp

@@ -47,8 +47,9 @@ ErrorCodeEnum FingerPrintImpl::GetDevCategory(DevCategoryInfo& devCategory)
 ErrorCodeEnum FingerPrintImpl::Reset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "Reset");
+	err = SimulatorHttpFunction(EntityName, "Reset", ans);
 	LOG4VTM(INFO, "Reset err = " << err);
 
 	return err;
@@ -57,8 +58,9 @@ ErrorCodeEnum FingerPrintImpl::Reset()
 ErrorCodeEnum FingerPrintImpl::DevClose()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DevClose");
+	err = SimulatorHttpFunction(EntityName, "DevClose", ans);
 	LOG4VTM(INFO, "DevClose err = " << err);
 
 	return err;
@@ -81,8 +83,9 @@ ErrorCodeEnum FingerPrintImpl::GetLastErr(DevErrorInfo& devErrInfo)
 ErrorCodeEnum FingerPrintImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DevOpen");
+	err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
 	LOG4VTM(INFO, "DevOpen err = " << err);
 
 	return err;
@@ -168,8 +171,9 @@ ErrorCodeEnum FingerPrintImpl::Match(LPBYTE lpbTemplate[], int iTemplateLen[], i
 ErrorCodeEnum FingerPrintImpl::Cancel()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "Cancel");
+	err = SimulatorHttpFunction(EntityName, "Cancel", ans);
 	LOG4VTM(INFO, "Cancel err = " << err);
 
 	return err;

+ 24 - 24
DevAdapter/simulator/cardissuer.1.1/cardissuer_httpans.h

@@ -3,7 +3,7 @@
 #include <vector>
 
 typedef struct CardIssuerStatusAns {
-
+	int errNum;
 
 	int eMedia;	//state about card
 	int eRetainBin;
@@ -13,14 +13,14 @@ typedef struct CardIssuerStatusAns {
 	std::vector<int> dwIssuerCount;	//发卡箱容量,0,1,2,... => 1,2,3,...
 	std::vector<int> eKakuTape;//eKakuTape[0],eKakuTape[1],eKakuTape[2],eKakuTape[3]分别存放平面,凹,凸(金),凸(银)的状态
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
 }CardIssuerStatusAns;
 
 typedef struct GetDeviceSNAns {
-
+	int errNum;
 	std::string pDevSN;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(pDevSN)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, pDevSN)
 }GetDeviceSNAns;
 
 //////MagRead中MagTracks 嵌套结构体/////////////
@@ -34,38 +34,38 @@ struct TrackInfoJson
 };
 
 typedef struct MagTracksAns {
-
+	int errNum;
 	int eRange;
 	std::vector<TrackInfoJson> track;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eRange, track)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eRange, track)
 }MagTracksAns;
 //////////////////////////////////////////
 
 typedef struct CmdInfoAns {
-
+	int errNum;
 	int dwSize;
 	std::string data;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }CmdInfoAns;
 
 typedef struct ActiveContactlessICCardAns {
-
+	int errNum;
 	int outType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(outType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, outType)
 }ActiveContactlessICCardAns;
 
 typedef struct DevOpenExAns {
-
+	int errNum;
 	int btType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(btType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, btType)
 }DevOpenExAns;
 
 typedef struct TransferEnInitAns {
-
+	int errNum;
 	int iStatus;
 	BYTE Cr1[256];
 	int lenR1;
@@ -74,19 +74,19 @@ typedef struct TransferEnInitAns {
 	BYTE dKey[256];
 	int lenKey;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
 }TransferEnInit;
 
 typedef struct SetR2Ans {
-
+	int errNum;
 	int iStatus;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus)
 }SetR2Ans;
 
 
 typedef struct CardNoAns {
-
+	int errNum;
 	int dwSize;
 	int dwTrack2Size;
 	int dwTrack3Size;
@@ -94,30 +94,30 @@ typedef struct CardNoAns {
 	std::string track2;
 	std::string track3;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
 }CardNoAns;
 
 typedef struct GetSlotSumAns {
-
+	int errNum;
 	int sum;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(sum)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, sum)
 }GetSlotSumAns;
 
 typedef struct SlotStatusAns {
-
+	int errNum;
 	int dwSize;//sum of slots
 	//数据下标0~x 表示对应卡槽号0~x的是否有卡的状态
 	//0:卡槽为空,1:卡槽有卡;
 	std::vector<int> status;//int 数组
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, status)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, status)
 }SlotStatusAns;
 
 typedef struct SAMStatusAns {
-
+	int errNum;
 	int isActive;//0:Inactive; 1:acitve
 	int chosenOfSAM;//the selected sam number:1,2,...
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(isActive, chosenOfSAM)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, isActive, chosenOfSAM)
 }SAMStatusAns;

+ 40 - 21
DevAdapter/simulator/cardissuer.1.1/cardissuer_impl.cpp

@@ -39,7 +39,7 @@ DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pBaseObj)
 #endif 
 	std::string str;
 	cmb::log4vendor::init(config, str);
-
+	
 	std::string tmpStr = GetSimulatorUrl();
 	LOG4VTM(INFO, "URL = " << tmpStr.c_str());
 
@@ -93,8 +93,9 @@ ErrorCodeEnum CardIssuerImpl::GetDevCategory(DevCategoryInfo& devCategory)
 ErrorCodeEnum CardIssuerImpl::Reset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "Reset");
+	err = SimulatorHttpFunction(EntityName, "Reset", ans);
 	LOG4VTM(INFO, "Reset err = " << err);
 
 	return err;
@@ -103,8 +104,9 @@ ErrorCodeEnum CardIssuerImpl::Reset()
 ErrorCodeEnum CardIssuerImpl::DevClose()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DevClose");
+	err = SimulatorHttpFunction(EntityName, "DevClose", ans);
 	LOG4VTM(INFO, "DevClose err = " << err);
 
 	return err;
@@ -186,8 +188,9 @@ ErrorCodeEnum CardIssuerImpl::GetDeviceSN(char*& pDevSN)
 ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCard");
+	err = SimulatorHttpFunction(EntityName, "MoveCard", ans);
 	LOG4VTM(INFO, "MoveCard err = " << err);
 
 	return err;
@@ -196,8 +199,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 ErrorCodeEnum CardIssuerImpl::SetCardInType(CardInEnum eCardIn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SetCardInType");
+	err = SimulatorHttpFunction(EntityName, "SetCardInType", ans);
 	LOG4VTM(INFO, "SetCardInType err = " << err);
 
 	return err;
@@ -228,8 +232,9 @@ ErrorCodeEnum CardIssuerImpl::MagRead(MagTracks& magTracks)
 ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWriteMode)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MagWrite");
+	err = SimulatorHttpFunction(EntityName, "MagWrite", ans);
 	LOG4VTM(INFO, "MagWrite err = " << err);
 
 	return err;
@@ -238,8 +243,9 @@ ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWr
 ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ActiveICCard");
+	err = SimulatorHttpFunction(EntityName, "ActiveICCard", ans);
 	LOG4VTM(INFO, "ActiveICCard err = " << err);
 
 	return err;
@@ -248,8 +254,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 ErrorCodeEnum CardIssuerImpl::ContactIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ContactIC");
+	err = SimulatorHttpFunction(EntityName, "ContactIC", ans);
 	LOG4VTM(INFO, "ContactIC err = " << err);
 
 	return err;
@@ -258,8 +265,9 @@ ErrorCodeEnum CardIssuerImpl::ContactIC()
 ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ReleaseIC");
+	err = SimulatorHttpFunction(EntityName, "ReleaseIC", ans);
 	LOG4VTM(INFO, "ReleaseIC err = " << err);
 
 	return err;
@@ -268,8 +276,9 @@ ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 ErrorCodeEnum CardIssuerImpl::WarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "WarmReset");
+	err = SimulatorHttpFunction(EntityName, "WarmReset", ans);
 	LOG4VTM(INFO, "WarmReset err = " << err);
 
 	return err;
@@ -294,8 +303,9 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMActive");
+	err = SimulatorHttpFunction(EntityName, "SAMActive", ans);
 	LOG4VTM(INFO, "SAMActive err = " << err);
 
 	return err;
@@ -304,8 +314,9 @@ ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMDeactivate");
+	err = SimulatorHttpFunction(EntityName, "SAMDeactivate", ans);
 	LOG4VTM(INFO, "SAMDeactivate err = " << err);
 
 	return err;
@@ -314,8 +325,9 @@ ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 ErrorCodeEnum CardIssuerImpl::SAMWarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMWarmReset");
+	err = SimulatorHttpFunction(EntityName, "SAMWarmReset", ans);
 	LOG4VTM(INFO, "SAMWarmReset err = " << err);
 
 	return err;
@@ -356,8 +368,9 @@ ErrorCodeEnum CardIssuerImpl::SAMQueryStatus(SAMStatus& samStatus)
 ErrorCodeEnum CardIssuerImpl::SAMSelect(const int sn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMSelect");
+	err = SimulatorHttpFunction(EntityName, "SAMSelect", ans);
 	LOG4VTM(INFO, "SAMSelect err = " << err);
 
 	return err;
@@ -397,8 +410,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveContactlessICCard(char fstType, char scdType
 ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactivateICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactivateICCard", ans);
 	LOG4VTM(INFO, "DeactivateICCard err = " << err);
 
 	return err;
@@ -407,8 +421,9 @@ ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 ErrorCodeEnum CardIssuerImpl::DeactContactlessICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard", ans);
 	LOG4VTM(INFO, "DeactContactlessICCard err = " << err);
 
 	return err;
@@ -485,8 +500,9 @@ ErrorCodeEnum CardIssuerImpl::SetR2(int& iStatus, BYTE* pCr2, int lenR2)
 ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SendWorkingKey");
+	err = SimulatorHttpFunction(EntityName, "SendWorkingKey", ans);
 	LOG4VTM(INFO, "SendWorkingKey err = " << err);
 
 	return err;
@@ -495,8 +511,9 @@ ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot", ans);
 	LOG4VTM(INFO, "MoveCardToSlot err = " << err);
 
 	return err;
@@ -505,8 +522,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 ErrorCodeEnum CardIssuerImpl::MoveCardFromSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot", ans);
 	LOG4VTM(INFO, "MoveCardFromSlot err = " << err);
 
 	return err;
@@ -557,7 +575,7 @@ ErrorCodeEnum CardIssuerImpl::QuerySlotsStatus(SlotStatus& slots, const int slot
 
 	if (err == Error_Succeed) {
 		slots.dwSize = ans.dwSize;
-
+		
 		for (int i = 0; i < ans.status.size(); i++)
 		{
 			slots.status[i] = (BYTE)ans.status[i];
@@ -570,8 +588,9 @@ ErrorCodeEnum CardIssuerImpl::QuerySlotsStatus(SlotStatus& slots, const int slot
 ErrorCodeEnum CardIssuerImpl::PrintCardFaceRightNow(const KakuPrintInfo printInfo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow");
+	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow", ans);
 	LOG4VTM(INFO, "PrintCardFaceRightNow err = " << err);
 
 	return err;

+ 24 - 24
DevAdapter/simulator/cardissuerstand.1.1/cardissuer_httpans.h

@@ -3,7 +3,7 @@
 #include <vector>
 
 typedef struct CardIssuerStatusAns {
-	
+	int errNum;
 
 	int eMedia;	//state about card
 	int eRetainBin;
@@ -13,14 +13,14 @@ typedef struct CardIssuerStatusAns {
 	std::vector<int> dwIssuerCount;	//发卡箱容量,0,1,2,... => 1,2,3,...
 	std::vector<int> eKakuTape;//eKakuTape[0],eKakuTape[1],eKakuTape[2],eKakuTape[3]分别存放平面,凹,凸(金),凸(银)的状态
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
 }CardIssuerStatusAns;
 
 typedef struct GetDeviceSNAns {
-	
+	int errNum;
 	std::string pDevSN;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(pDevSN)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, pDevSN)
 }GetDeviceSNAns;
 
 //////MagRead中MagTracks 嵌套结构体/////////////
@@ -34,38 +34,38 @@ struct TrackInfoJson
 };
 
 typedef struct MagTracksAns {
-	
+	int errNum;
 	int eRange;
 	std::vector<TrackInfoJson> track;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eRange, track)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eRange, track)
 }MagTracksAns;
 //////////////////////////////////////////
 
 typedef struct CmdInfoAns {
-	
+	int errNum;
 	int dwSize;
 	std::string data;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }CmdInfoAns;
 
 typedef struct ActiveContactlessICCardAns {
-	
+	int errNum;
 	int outType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(outType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, outType)
 }ActiveContactlessICCardAns;
 
 typedef struct DevOpenExAns {
-	
+	int errNum;
 	int btType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(btType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, btType)
 }DevOpenExAns;
 
 typedef struct TransferEnInitAns {
-	
+	int errNum;
 	int iStatus;
 	BYTE Cr1[256];
 	int lenR1;
@@ -74,19 +74,19 @@ typedef struct TransferEnInitAns {
 	BYTE dKey[256];
 	int lenKey;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
 }TransferEnInit;
 
 typedef struct SetR2Ans {
-	
+	int errNum;
 	int iStatus;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus)
 }SetR2Ans;
 
 
 typedef struct CardNoAns {
-	
+	int errNum;
 	int dwSize;
 	int dwTrack2Size;
 	int dwTrack3Size;
@@ -94,30 +94,30 @@ typedef struct CardNoAns {
 	std::string track2;
 	std::string track3;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
 }CardNoAns;
 
 typedef struct GetSlotSumAns {
-	
+	int errNum;
 	int sum;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(sum)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, sum)
 }GetSlotSumAns;
 
 typedef struct SlotStatusAns {
-	
+	int errNum;
 	int dwSize;//sum of slots
 	//数据下标0~x 表示对应卡槽号0~x的是否有卡的状态
 	//0:卡槽为空,1:卡槽有卡;
 	std::vector<int> status;//int 数组
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, status)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, status)
 }SlotStatusAns;
 
 typedef struct SAMStatusAns {
-	
+	int errNum;
 	int isActive;//0:Inactive; 1:acitve
 	int chosenOfSAM;//the selected sam number:1,2,...
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(isActive, chosenOfSAM)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, isActive, chosenOfSAM)
 }SAMStatusAns;

+ 38 - 19
DevAdapter/simulator/cardissuerstand.1.1/cardissuer_impl.cpp

@@ -93,8 +93,9 @@ ErrorCodeEnum CardIssuerImpl::GetDevCategory(DevCategoryInfo& devCategory)
 ErrorCodeEnum CardIssuerImpl::Reset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "Reset");
+	err = SimulatorHttpFunction(EntityName, "Reset", ans);
 	LOG4VTM(INFO, "Reset err = " << err);
 
 	return err;
@@ -103,8 +104,9 @@ ErrorCodeEnum CardIssuerImpl::Reset()
 ErrorCodeEnum CardIssuerImpl::DevClose()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DevClose");
+	err = SimulatorHttpFunction(EntityName, "DevClose", ans);
 	LOG4VTM(INFO, "DevClose err = " << err);
 
 	return err;
@@ -186,8 +188,9 @@ ErrorCodeEnum CardIssuerImpl::GetDeviceSN(char*& pDevSN)
 ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCard");
+	err = SimulatorHttpFunction(EntityName, "MoveCard", ans);
 	LOG4VTM(INFO, "MoveCard err = " << err);
 
 	return err;
@@ -196,8 +199,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 ErrorCodeEnum CardIssuerImpl::SetCardInType(CardInEnum eCardIn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SetCardInType");
+	err = SimulatorHttpFunction(EntityName, "SetCardInType", ans);
 	LOG4VTM(INFO, "SetCardInType err = " << err);
 
 	return err;
@@ -228,8 +232,9 @@ ErrorCodeEnum CardIssuerImpl::MagRead(MagTracks& magTracks)
 ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWriteMode)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MagWrite");
+	err = SimulatorHttpFunction(EntityName, "MagWrite", ans);
 	LOG4VTM(INFO, "MagWrite err = " << err);
 
 	return err;
@@ -238,8 +243,9 @@ ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWr
 ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ActiveICCard");
+	err = SimulatorHttpFunction(EntityName, "ActiveICCard", ans);
 	LOG4VTM(INFO, "ActiveICCard err = " << err);
 
 	return err;
@@ -248,8 +254,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 ErrorCodeEnum CardIssuerImpl::ContactIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ContactIC");
+	err = SimulatorHttpFunction(EntityName, "ContactIC", ans);
 	LOG4VTM(INFO, "ContactIC err = " << err);
 
 	return err;
@@ -258,8 +265,9 @@ ErrorCodeEnum CardIssuerImpl::ContactIC()
 ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ReleaseIC");
+	err = SimulatorHttpFunction(EntityName, "ReleaseIC", ans);
 	LOG4VTM(INFO, "ReleaseIC err = " << err);
 
 	return err;
@@ -268,8 +276,9 @@ ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 ErrorCodeEnum CardIssuerImpl::WarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "WarmReset");
+	err = SimulatorHttpFunction(EntityName, "WarmReset", ans);
 	LOG4VTM(INFO, "WarmReset err = " << err);
 
 	return err;
@@ -294,8 +303,9 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMActive");
+	err = SimulatorHttpFunction(EntityName, "SAMActive", ans);
 	LOG4VTM(INFO, "SAMActive err = " << err);
 
 	return err;
@@ -304,8 +314,9 @@ ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMDeactivate");
+	err = SimulatorHttpFunction(EntityName, "SAMDeactivate", ans);
 	LOG4VTM(INFO, "SAMDeactivate err = " << err);
 
 	return err;
@@ -314,8 +325,9 @@ ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 ErrorCodeEnum CardIssuerImpl::SAMWarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMWarmReset");
+	err = SimulatorHttpFunction(EntityName, "SAMWarmReset", ans);
 	LOG4VTM(INFO, "SAMWarmReset err = " << err);
 
 	return err;
@@ -356,8 +368,9 @@ ErrorCodeEnum CardIssuerImpl::SAMQueryStatus(SAMStatus& samStatus)
 ErrorCodeEnum CardIssuerImpl::SAMSelect(const int sn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMSelect");
+	err = SimulatorHttpFunction(EntityName, "SAMSelect", ans);
 	LOG4VTM(INFO, "SAMSelect err = " << err);
 
 	return err;
@@ -397,8 +410,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveContactlessICCard(char fstType, char scdType
 ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactivateICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactivateICCard", ans);
 	LOG4VTM(INFO, "DeactivateICCard err = " << err);
 
 	return err;
@@ -407,8 +421,9 @@ ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 ErrorCodeEnum CardIssuerImpl::DeactContactlessICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard", ans);
 	LOG4VTM(INFO, "DeactContactlessICCard err = " << err);
 
 	return err;
@@ -485,8 +500,9 @@ ErrorCodeEnum CardIssuerImpl::SetR2(int& iStatus, BYTE* pCr2, int lenR2)
 ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SendWorkingKey");
+	err = SimulatorHttpFunction(EntityName, "SendWorkingKey", ans);
 	LOG4VTM(INFO, "SendWorkingKey err = " << err);
 
 	return err;
@@ -495,8 +511,9 @@ ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot", ans);
 	LOG4VTM(INFO, "MoveCardToSlot err = " << err);
 
 	return err;
@@ -505,8 +522,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 ErrorCodeEnum CardIssuerImpl::MoveCardFromSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot", ans);
 	LOG4VTM(INFO, "MoveCardFromSlot err = " << err);
 
 	return err;
@@ -570,8 +588,9 @@ ErrorCodeEnum CardIssuerImpl::QuerySlotsStatus(SlotStatus& slots, const int slot
 ErrorCodeEnum CardIssuerImpl::PrintCardFaceRightNow(const KakuPrintInfo printInfo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow");
+	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow", ans);
 	LOG4VTM(INFO, "PrintCardFaceRightNow err = " << err);
 
 	return err;

+ 24 - 24
DevAdapter/simulator/cardissuerstore.1.1/cardissuer_httpans.h

@@ -3,7 +3,7 @@
 #include <vector>
 
 typedef struct CardIssuerStatusAns {
-	
+	int errNum;
 
 	int eMedia;	//state about card
 	int eRetainBin;
@@ -13,14 +13,14 @@ typedef struct CardIssuerStatusAns {
 	std::vector<int> dwIssuerCount;	//发卡箱容量,0,1,2,... => 1,2,3,...
 	std::vector<int> eKakuTape;//eKakuTape[0],eKakuTape[1],eKakuTape[2],eKakuTape[3]分别存放平面,凹,凸(金),凸(银)的状态
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eMedia, eRetainBin, dwRetainCount, eIssuerBin, dwIssuerCount, eKakuTape)
 }CardIssuerStatusAns;
 
 typedef struct GetDeviceSNAns {
-	
+	int errNum;
 	std::string pDevSN;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(pDevSN)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, pDevSN)
 }GetDeviceSNAns;
 
 //////MagRead中MagTracks 嵌套结构体/////////////
@@ -34,38 +34,38 @@ struct TrackInfoJson
 };
 
 typedef struct MagTracksAns {
-	
+	int errNum;
 	int eRange;
 	std::vector<TrackInfoJson> track;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eRange, track)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eRange, track)
 }MagTracksAns;
 //////////////////////////////////////////
 
 typedef struct CmdInfoAns {
-	
+	int errNum;
 	int dwSize;
 	std::string data;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }CmdInfoAns;
 
 typedef struct ActiveContactlessICCardAns {
-	
+	int errNum;
 	int outType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(outType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, outType)
 }ActiveContactlessICCardAns;
 
 typedef struct DevOpenExAns {
-	
+	int errNum;
 	int btType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(btType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, btType)
 }DevOpenExAns;
 
 typedef struct TransferEnInitAns {
-	
+	int errNum;
 	int iStatus;
 	BYTE Cr1[256];
 	int lenR1;
@@ -74,19 +74,19 @@ typedef struct TransferEnInitAns {
 	BYTE dKey[256];
 	int lenKey;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)
 }TransferEnInit;
 
 typedef struct SetR2Ans {
-	
+	int errNum;
 	int iStatus;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, iStatus)
 }SetR2Ans;
 
 
 typedef struct CardNoAns {
-	
+	int errNum;
 	int dwSize;
 	int dwTrack2Size;
 	int dwTrack3Size;
@@ -94,30 +94,30 @@ typedef struct CardNoAns {
 	std::string track2;
 	std::string track3;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, dwTrack2Size, dwTrack3Size, account, track2, track3)
 }CardNoAns;
 
 typedef struct GetSlotSumAns {
-	
+	int errNum;
 	int sum;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(sum)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, sum)
 }GetSlotSumAns;
 
 typedef struct SlotStatusAns {
-	
+	int errNum;
 	int dwSize;//sum of slots
 	//数据下标0~x 表示对应卡槽号0~x的是否有卡的状态
 	//0:卡槽为空,1:卡槽有卡;
 	std::vector<int> status;//int 数组
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, status)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, status)
 }SlotStatusAns;
 
 typedef struct SAMStatusAns {
-	
+	int errNum;
 	int isActive;//0:Inactive; 1:acitve
 	int chosenOfSAM;//the selected sam number:1,2,...
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(isActive, chosenOfSAM)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, isActive, chosenOfSAM)
 }SAMStatusAns;

+ 38 - 19
DevAdapter/simulator/cardissuerstore.1.1/cardissuer_impl.cpp

@@ -93,8 +93,9 @@ ErrorCodeEnum CardIssuerImpl::GetDevCategory(DevCategoryInfo& devCategory)
 ErrorCodeEnum CardIssuerImpl::Reset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "Reset");
+	err = SimulatorHttpFunction(EntityName, "Reset", ans);
 	LOG4VTM(INFO, "Reset err = " << err);
 
 	return err;
@@ -103,8 +104,9 @@ ErrorCodeEnum CardIssuerImpl::Reset()
 ErrorCodeEnum CardIssuerImpl::DevClose()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DevClose");
+	err = SimulatorHttpFunction(EntityName, "DevClose", ans);
 	LOG4VTM(INFO, "DevClose err = " << err);
 
 	return err;
@@ -186,8 +188,9 @@ ErrorCodeEnum CardIssuerImpl::GetDeviceSN(char*& pDevSN)
 ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCard");
+	err = SimulatorHttpFunction(EntityName, "MoveCard", ans);
 	LOG4VTM(INFO, "MoveCard err = " << err);
 
 	return err;
@@ -196,8 +199,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
 ErrorCodeEnum CardIssuerImpl::SetCardInType(CardInEnum eCardIn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SetCardInType");
+	err = SimulatorHttpFunction(EntityName, "SetCardInType", ans);
 	LOG4VTM(INFO, "SetCardInType err = " << err);
 
 	return err;
@@ -228,8 +232,9 @@ ErrorCodeEnum CardIssuerImpl::MagRead(MagTracks& magTracks)
 ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWriteMode)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MagWrite");
+	err = SimulatorHttpFunction(EntityName, "MagWrite", ans);
 	LOG4VTM(INFO, "MagWrite err = " << err);
 
 	return err;
@@ -238,8 +243,9 @@ ErrorCodeEnum CardIssuerImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWr
 ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ActiveICCard");
+	err = SimulatorHttpFunction(EntityName, "ActiveICCard", ans);
 	LOG4VTM(INFO, "ActiveICCard err = " << err);
 
 	return err;
@@ -248,8 +254,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCard()
 ErrorCodeEnum CardIssuerImpl::ContactIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ContactIC");
+	err = SimulatorHttpFunction(EntityName, "ContactIC", ans);
 	LOG4VTM(INFO, "ContactIC err = " << err);
 
 	return err;
@@ -258,8 +265,9 @@ ErrorCodeEnum CardIssuerImpl::ContactIC()
 ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "ReleaseIC");
+	err = SimulatorHttpFunction(EntityName, "ReleaseIC", ans);
 	LOG4VTM(INFO, "ReleaseIC err = " << err);
 
 	return err;
@@ -268,8 +276,9 @@ ErrorCodeEnum CardIssuerImpl::ReleaseIC()
 ErrorCodeEnum CardIssuerImpl::WarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "WarmReset");
+	err = SimulatorHttpFunction(EntityName, "WarmReset", ans);
 	LOG4VTM(INFO, "WarmReset err = " << err);
 
 	return err;
@@ -294,8 +303,9 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMActive");
+	err = SimulatorHttpFunction(EntityName, "SAMActive", ans);
 	LOG4VTM(INFO, "SAMActive err = " << err);
 
 	return err;
@@ -304,8 +314,9 @@ ErrorCodeEnum CardIssuerImpl::SAMActive(BYTE vcc)
 ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMDeactivate");
+	err = SimulatorHttpFunction(EntityName, "SAMDeactivate", ans);
 	LOG4VTM(INFO, "SAMDeactivate err = " << err);
 
 	return err;
@@ -314,8 +325,9 @@ ErrorCodeEnum CardIssuerImpl::SAMDeactivate()
 ErrorCodeEnum CardIssuerImpl::SAMWarmReset()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMWarmReset");
+	err = SimulatorHttpFunction(EntityName, "SAMWarmReset", ans);
 	LOG4VTM(INFO, "SAMWarmReset err = " << err);
 
 	return err;
@@ -356,8 +368,9 @@ ErrorCodeEnum CardIssuerImpl::SAMQueryStatus(SAMStatus& samStatus)
 ErrorCodeEnum CardIssuerImpl::SAMSelect(const int sn)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMSelect");
+	err = SimulatorHttpFunction(EntityName, "SAMSelect", ans);
 	LOG4VTM(INFO, "SAMSelect err = " << err);
 
 	return err;
@@ -397,8 +410,9 @@ ErrorCodeEnum CardIssuerImpl::ActiveContactlessICCard(char fstType, char scdType
 ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactivateICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactivateICCard", ans);
 	LOG4VTM(INFO, "DeactivateICCard err = " << err);
 
 	return err;
@@ -407,8 +421,9 @@ ErrorCodeEnum CardIssuerImpl::DeactivateICCard()
 ErrorCodeEnum CardIssuerImpl::DeactContactlessICCard()
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard");
+	err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard", ans);
 	LOG4VTM(INFO, "DeactContactlessICCard err = " << err);
 
 	return err;
@@ -485,8 +500,9 @@ ErrorCodeEnum CardIssuerImpl::SetR2(int& iStatus, BYTE* pCr2, int lenR2)
 ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SendWorkingKey");
+	err = SimulatorHttpFunction(EntityName, "SendWorkingKey", ans);
 	LOG4VTM(INFO, "SendWorkingKey err = " << err);
 
 	return err;
@@ -495,8 +511,9 @@ ErrorCodeEnum CardIssuerImpl::SendWorkingKey(const char* pWorkingKey)
 ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardToSlot", ans);
 	LOG4VTM(INFO, "MoveCardToSlot err = " << err);
 
 	return err;
@@ -505,8 +522,9 @@ ErrorCodeEnum CardIssuerImpl::MoveCardToSlot(int slot)
 ErrorCodeEnum CardIssuerImpl::MoveCardFromSlot(int slot)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot");
+	err = SimulatorHttpFunction(EntityName, "MoveCardFromSlot", ans);
 	LOG4VTM(INFO, "MoveCardFromSlot err = " << err);
 
 	return err;
@@ -570,8 +588,9 @@ ErrorCodeEnum CardIssuerImpl::QuerySlotsStatus(SlotStatus& slots, const int slot
 ErrorCodeEnum CardIssuerImpl::PrintCardFaceRightNow(const KakuPrintInfo printInfo)
 {
 	ErrorCodeEnum err = Error_Succeed;
+	SimulatorCommonAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow");
+	err = SimulatorHttpFunction(EntityName, "PrintCardFaceRightNow", ans);
 	LOG4VTM(INFO, "PrintCardFaceRightNow err = " << err);
 
 	return err;

+ 6 - 3
DevAdapter/simulator/contactlesscard.1.1/contactless_httpans.h

@@ -2,20 +2,23 @@
 #include "DeviceSimulator.h"
 
 typedef struct RFICReaderStatusAns {
+	int errNum;
 	int eMediaPos;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(eMediaPos)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, eMediaPos)
 }RFICReaderStatusAns;
 
 typedef struct ActiveContactlessICCardAns {
+	int errNum;
 	int outType;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(outType)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, outType)
 }ActiveContactlessICCardAns;
 
 typedef struct CmdInfoAns {
+	int errNum;
 	int dwSize;
 	std::string data;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }CmdInfoAns;

+ 14 - 7
DevAdapter/simulator/contactlesscard.1.1/contactless_impl.cpp

@@ -41,8 +41,9 @@ ErrorCodeEnum ContactlessCardImpl::GetDevCategory(DevCategoryInfo &devCategory)
 ErrorCodeEnum ContactlessCardImpl::Reset()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "Reset");
+    err = SimulatorHttpFunction(EntityName, "Reset", ans);
     LOG4VTM(INFO, "Reset err = " << err);
 
     return err;
@@ -51,8 +52,9 @@ ErrorCodeEnum ContactlessCardImpl::Reset()
 ErrorCodeEnum ContactlessCardImpl::DevClose()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevClose");
+    err = SimulatorHttpFunction(EntityName, "DevClose", ans);
     LOG4VTM(INFO, "DevClose err = " << err);
 
     return err;
@@ -75,8 +77,9 @@ ErrorCodeEnum ContactlessCardImpl::GetLastErr(DevErrorInfo &devErrInfo)
 ErrorCodeEnum ContactlessCardImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevOpen");
+    err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
     LOG4VTM(INFO, "DevOpen err = " << err);
 
     return err;
@@ -100,8 +103,9 @@ ErrorCodeEnum ContactlessCardImpl::GetDevStatus(RFICReaderStatus& devStatus)
 ErrorCodeEnum ContactlessCardImpl::AbortRead()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "AbortRead");
+    err = SimulatorHttpFunction(EntityName, "AbortRead", ans);
     LOG4VTM(INFO, "AbortRead err = " << err);
 
     return err;
@@ -125,8 +129,9 @@ ErrorCodeEnum ContactlessCardImpl::ActiveContactlessICCard(char fstType, char sc
 ErrorCodeEnum ContactlessCardImpl::DeactContactlessICCard()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard");
+    err = SimulatorHttpFunction(EntityName, "DeactContactlessICCard", ans);
     LOG4VTM(INFO, "DeactContactlessICCard err = " << err);
 
     return err;
@@ -135,8 +140,9 @@ ErrorCodeEnum ContactlessCardImpl::DeactContactlessICCard()
 ErrorCodeEnum ContactlessCardImpl::WarmReset()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "WarmReset");
+    err = SimulatorHttpFunction(EntityName, "WarmReset", ans);
     LOG4VTM(INFO, "WarmReset err = " << err);
 
     return err;
@@ -177,8 +183,9 @@ ErrorCodeEnum ContactlessCardImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& rec
 ErrorCodeEnum ContactlessCardImpl::HaltCard()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "HaltCard");
+    err = SimulatorHttpFunction(EntityName, "HaltCard", ans);
     LOG4VTM(INFO, "HaltCard err = " << err);
 
     return err;

+ 16 - 28
DevAdapter/simulator/deps/libSimulaRestful/CommSimulatorRestful.hpp

@@ -26,7 +26,7 @@ namespace Restful
 //    JSONCONVERT2OBJECT_MEMEBER_REGISTER(success, errorCode, message, graySwitch)
 //    JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("success", "code", "message", "data")
 //};
-
+//
 //static bool GetStatusFromDebranchResponse(const std::string& content, CommResponseJson& responseStatus)
 //{
 //    Json::Value rawRoot;
@@ -39,35 +39,23 @@ namespace Restful
 //    return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(responseStatus, rawRoot);
 //}
 
-    struct CommSimulatorRes
-    {
-        int errNum;
-        JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum)
-    };
-
-    static bool GetStatusFromDebranchResponse(const std::string& content, CommSimulatorRes& responseStatus)
-    {
-        Json::Value rawRoot;
-        return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(responseStatus, rawRoot);
-    }
-
-    template <typename T>
-    static bool ExtractDataFromDebranchResponse(const std::string& content, T& outDataStruct)
-    {
-        Json::Value rawRoot;
-        return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(outDataStruct, rawRoot["data"]);
-    }
+template <typename T>
+static bool ExtractDataFromDebranchResponse(const std::string& content, T& outDataStruct)
+{
+    Json::Value rawRoot;
+    return (!GetJsonRootObject(rawRoot, content)) ? false : Json2Object(outDataStruct, rawRoot["data"]);
+}
 
-    template <typename T>
-    static bool FulfillRequestJsonBody(HttpClientRequestConfig* pConfig, const T& dataStruct)
-    {
-        std::string jsonValue;
-        if (Object2Json(jsonValue, dataStruct)) {
-            pConfig->SetJsonBody(jsonValue);
-            return true;
-        }
-        return false;
+template <typename T>
+static bool FulfillRequestJsonBody(HttpClientRequestConfig* pConfig, const T& dataStruct)
+{
+    std::string jsonValue;
+    if (Object2Json(jsonValue, dataStruct)) {
+        pConfig->SetJsonBody(jsonValue);
+        return true;
     }
+    return false;
+}
 
 } //Restful
 

+ 4 - 2
DevAdapter/simulator/gpio.1.1/gpio_httpans.h

@@ -2,13 +2,15 @@
 #include "DeviceSimulator.h"
 
 typedef struct ReadPortAns {
+    int errNum;
     int btStatus;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(btStatus)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, btStatus)
 }QueryCardPosAns;
 
 typedef struct DetectStatusAns {
+    int errNum;
     int dwMode;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwMode)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwMode)
 }DetectStatusAns;

+ 10 - 5
DevAdapter/simulator/gpio.1.1/gpio_impl.cpp

@@ -40,8 +40,9 @@ ErrorCodeEnum GPIOClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
 ErrorCodeEnum GPIOClassImpl::Reset()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "Reset");
+    err = SimulatorHttpFunction(EntityName, "Reset", ans);
     LOG4VTM(INFO, "Reset err = " << err);
 
     return err;
@@ -51,8 +52,9 @@ ErrorCodeEnum GPIOClassImpl::Reset()
 ErrorCodeEnum GPIOClassImpl::DevClose()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevClose");
+    err = SimulatorHttpFunction(EntityName, "DevClose", ans);
     LOG4VTM(INFO, "DevClose err = " << err);
 
     return err;
@@ -75,8 +77,9 @@ ErrorCodeEnum GPIOClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
 ErrorCodeEnum GPIOClassImpl::DevOpen(GpioInitParam initParam)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevOpen");
+    err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
     LOG4VTM(INFO, "DevOpen err = " << err);
 
     return err;
@@ -85,8 +88,9 @@ ErrorCodeEnum GPIOClassImpl::DevOpen(GpioInitParam initParam)
 ErrorCodeEnum GPIOClassImpl::WritePort(DWORD dwPort, BYTE btData)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "WritePort");
+    err = SimulatorHttpFunction(EntityName, "WritePort", ans);
     LOG4VTM(INFO, "WritePort err = " << err);
 
     return err;
@@ -109,8 +113,9 @@ ErrorCodeEnum GPIOClassImpl::ReadPort(DWORD dwPort, BYTE& btStatus)
 ErrorCodeEnum GPIOClassImpl::SetStatus(DWORD dwReq, DWORD dwMode)
 { 
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetStatus");
+    err = SimulatorHttpFunction(EntityName, "SetStatus", ans);
     LOG4VTM(INFO, "SetStatus err = " << err);
 
     return err;

+ 4 - 2
DevAdapter/simulator/hspscanner.1.1/hspscanner_httpans.h

@@ -4,15 +4,17 @@
 #include "DeviceSimulator.h"
 
 typedef struct ScanImageExAns {
+	int errNum;
 	int nBtLen;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(nBtLen)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, nBtLen)
 }ScanImageExAns;
 
 typedef struct HspsDevStatusAns {
+    int errNum;
 	int isConnected;
 	int inPreview;
 	int inShow;
 
-	JSONCONVERT2OBJECT_MEMEBER_REGISTER(isConnected, inPreview, inShow)
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, isConnected, inPreview, inShow)
 }HspsDevStatusAns;

+ 16 - 8
DevAdapter/simulator/hspscanner.1.1/hspscanner_impl.cpp

@@ -39,8 +39,9 @@ ErrorCodeEnum HSPSClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
 ErrorCodeEnum HSPSClassImpl::Reset()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "Reset");
+    err = SimulatorHttpFunction(EntityName, "Reset", ans);
     LOG4VTM(INFO, "Reset err = " << err);
 
     return err;
@@ -49,8 +50,9 @@ ErrorCodeEnum HSPSClassImpl::Reset()
 ErrorCodeEnum HSPSClassImpl::DevClose()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevClose");
+    err = SimulatorHttpFunction(EntityName, "DevClose", ans);
     LOG4VTM(INFO, "DevClose err = " << err);
 
     return err;
@@ -121,8 +123,9 @@ DEVICEBASE_API ErrorCodeEnum  GetDevAdapterVersion(DevSoftVersion& retVesion)
 ErrorCodeEnum HSPSClassImpl::DevOpen()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevOpen");
+    err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
     LOG4VTM(INFO, "DevOpen err = " << err);
 
     return err;
@@ -131,8 +134,9 @@ ErrorCodeEnum HSPSClassImpl::DevOpen()
 ErrorCodeEnum HSPSClassImpl::SetParam(ParamType type, ParamTypeValue value)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetParam");
+    err = SimulatorHttpFunction(EntityName, "SetParam", ans);
     LOG4VTM(INFO, "SetParam err = " << err);
 
     return err;
@@ -141,8 +145,9 @@ ErrorCodeEnum HSPSClassImpl::SetParam(ParamType type, ParamTypeValue value)
 ErrorCodeEnum HSPSClassImpl::SetPreview(short nValue)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetPreview");
+    err = SimulatorHttpFunction(EntityName, "SetPreview", ans);
     LOG4VTM(INFO, "SetPreview err = " << err);
 
     return err;
@@ -151,8 +156,9 @@ ErrorCodeEnum HSPSClassImpl::SetPreview(short nValue)
 ErrorCodeEnum HSPSClassImpl::ScanImage(const char* pszFileName)
 {
     ErrorCodeEnum err = Error_NotImpl;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "ScanImage");
+    err = SimulatorHttpFunction(EntityName, "ScanImage", ans);
     LOG4VTM(INFO, "ScanImage err = " << err);
 
     if (err == Error_Succeed)
@@ -202,8 +208,9 @@ ErrorCodeEnum HSPSClassImpl::ScanImageEx(BYTE* pBtImg, int& nBtLen, const char*
 ErrorCodeEnum HSPSClassImpl::SetViewPos(int nX, int nY, int nWidth)
 {
     ErrorCodeEnum err = Error_NotImpl;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetViewPos");
+    err = SimulatorHttpFunction(EntityName, "SetViewPos", ans);
     LOG4VTM(INFO, "SetViewPos err = " << err);
 
     return err;
@@ -213,8 +220,9 @@ ErrorCodeEnum HSPSClassImpl::SetViewPos(int nX, int nY, int nWidth)
 ErrorCodeEnum HSPSClassImpl::SetProperty()
 {
     ErrorCodeEnum err = Error_NotImpl;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetProperty");
+    err = SimulatorHttpFunction(EntityName, "SetProperty", ans);
     LOG4VTM(INFO, "SetProperty err = " << err);
 
     return err;

+ 3 - 1
DevAdapter/simulator/idcer.1.1/idcer_httpans.h

@@ -5,6 +5,8 @@
 
 typedef struct IDCerDevAns
 {
+    int errNum;
+
     struct Name {
         std::string data;
         int dwSize;
@@ -116,7 +118,7 @@ typedef struct IDCerDevAns
         JSONCONVERT2OBJECT_MEMEBER_REGISTER(data, dwSize)
     }reserved5;
     
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(name, sex, nation, birthday, address, idno, department, startDate, endDate,
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, name, sex, nation, birthday, address, idno, department, startDate, endDate,
         photoPath, newAddress, englishName, nationality, idVersion, idType, reserved, reserved, txzCode, issuedSN, reserved2,
         reserved3, reserved4, reserved5)
     

+ 22 - 8
DevAdapter/simulator/idcer.1.1/idcer_impl.cpp

@@ -345,7 +345,9 @@ ErrorCodeEnum IDCerClassImpl::GetDevCategory(DevCategoryInfo& devCategory)
 ErrorCodeEnum IDCerClassImpl::Reset()
 {
     ErrorCodeEnum err = Error_Succeed;
-    err = SimulatorHttpFunction(EntityName, "Reset");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "Reset", ans);
     LOG4VTM(INFO, "Reset err = " << err);
 
     return err;
@@ -354,7 +356,9 @@ ErrorCodeEnum IDCerClassImpl::Reset()
 ErrorCodeEnum IDCerClassImpl::IDCerAuthenticate()
 {
     ErrorCodeEnum err = Error_Succeed;
-    err = SimulatorHttpFunction(EntityName, "IDCerAuthenticate");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "IDCerAuthenticate", ans);
     LOG4VTM(INFO, "IDCerAuthenticate err = " << err);
 
     return err;
@@ -362,8 +366,10 @@ ErrorCodeEnum IDCerClassImpl::IDCerAuthenticate()
 
 ErrorCodeEnum IDCerClassImpl::ForceIDEject()
 {
-    ErrorCodeEnum err = Error_Succeed;    
-    err = SimulatorHttpFunction(EntityName, "ForceIDEject");
+    ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
+    
+    err = SimulatorHttpFunction(EntityName, "ForceIDEject", ans);
     LOG4VTM(INFO, "ForceIDEject err = " << err);
 
     return err;
@@ -372,7 +378,9 @@ ErrorCodeEnum IDCerClassImpl::ForceIDEject()
 ErrorCodeEnum IDCerClassImpl::ScanIDAndSaveImage()
 {
     ErrorCodeEnum err = Error_NotImpl;
-    err = SimulatorHttpFunction(EntityName, "ScanIDAndSaveImage");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "ScanIDAndSaveImage", ans);
     LOG4VTM(INFO, "ScanIDAndSaveImage err = " << err);
 
     if (err == Error_Succeed)
@@ -404,7 +412,9 @@ ErrorCodeEnum IDCerClassImpl::QueryCardPos(int& pos)
 ErrorCodeEnum IDCerClassImpl::IDCerRFControl(bool bControl)
 {
     ErrorCodeEnum err = Error_Succeed;
-    err = SimulatorHttpFunction(EntityName, "IDCerRFControl");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "IDCerRFControl", ans);
     LOG4VTM(INFO, "IDCerRFControl err = " << err);
 
     return err;
@@ -413,7 +423,9 @@ ErrorCodeEnum IDCerClassImpl::IDCerRFControl(bool bControl)
 ErrorCodeEnum IDCerClassImpl::DevOpen(DWORD dwPort)
 {
     ErrorCodeEnum err = Error_Succeed;
-    err = SimulatorHttpFunction(EntityName, "DevOpen");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
     LOG4VTM(INFO, "DevOpen err = " << err);
 
     return err;
@@ -422,7 +434,9 @@ ErrorCodeEnum IDCerClassImpl::DevOpen(DWORD dwPort)
 ErrorCodeEnum IDCerClassImpl::DevClose()
 {
     ErrorCodeEnum err = Error_Succeed;
-    err = SimulatorHttpFunction(EntityName, "DevClose");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "DevClose", ans);
     LOG4VTM(INFO, "DevClose err = " << err);
     
     return err;

+ 13 - 42
DevAdapter/simulator/include/DeviceSimulator.h

@@ -35,7 +35,6 @@
 #endif
 
 using namespace std;
-#define DEFAULT_DATA_URL "http://emulator.paasst.cmbchina.cn/emulator/avs/retrieveEmulatorData"
 
 //获取模拟器库文件所在目录
 string GetCurrentDirectory() {
@@ -267,15 +266,10 @@ string GetSimulatorUrl()
 	bool ret = iniRead.ReadConfig(depCfgPath);
 	if (!ret)
 	{
-		return DEFAULT_DATA_URL;
+		return "";
 	}
 
 	string urlStr = iniRead.ReadString("server", "url", "");
-	if (urlStr.length() <= 0)
-	{
-		urlStr = DEFAULT_DATA_URL;
-	}
-	
 	return urlStr;
 }
 
@@ -338,6 +332,13 @@ typedef struct SimulatorCommonReq
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(ip, entityName, adapterInterName)
 }SimulatorCommonReq;
 
+
+typedef struct SimulatorCommonAns
+{
+	int errNum;
+	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum)
+}SimulatorCommonAns;
+
 typedef struct SimulatorDevCategoryAns
 {
 	int errNum;
@@ -367,33 +368,6 @@ typedef struct SimulatorDevErrInfoAns
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwErrMsgLen, szErrMsg)
 }SimulatorDevErrInfoAns;
 
-ErrorCodeEnum SimulatorHttpFunction(string entityName, string devFuncName)
-{
-	ErrorCodeEnum err = Error_NotImpl;
-
-	SimulatorCommonReq simulatorCommonReq;
-	simulatorCommonReq.ip = GetLocalIP();
-	simulatorCommonReq.entityName = entityName;
-	simulatorCommonReq.adapterInterName = devFuncName;
-
-	HttpClientResponseResult result;
-	HttpClientRequestConfig config(HttpRequestMethod::POST, GetSimulatorUrl().c_str(), NULL);
-	SP::Simulator::Restful::FulfillRequestJsonBody(&config, simulatorCommonReq);
-	RestfulClient client = RestfulClient::getInstance();
-
-	config.PreDo();
-	client.Do(&config, &result);
-	if (result.ResponseOK()) {
-		SP::Simulator::Restful::CommSimulatorRes commRes;
-		SP::Simulator::Restful::GetStatusFromDebranchResponse(result.content, commRes);
-		err = (ErrorCodeEnum)commRes.errNum;
-	}
-	else {
-		err = Error_NetBroken;
-	}
-
-	return err;
-}
 
 template <typename T>
 ErrorCodeEnum SimulatorHttpFunction(string entityName, string devFuncName, T& obj)
@@ -405,6 +379,8 @@ ErrorCodeEnum SimulatorHttpFunction(string entityName, string devFuncName, T& ob
 	simulatorCommonReq.entityName = entityName;
 	simulatorCommonReq.adapterInterName = devFuncName;
 
+	//SimulatorCommonAns simulatorCommonAns;
+
 	HttpClientResponseResult result;
 	HttpClientRequestConfig config(HttpRequestMethod::POST, GetSimulatorUrl().c_str(), NULL);
 	SP::Simulator::Restful::FulfillRequestJsonBody(&config, simulatorCommonReq);
@@ -412,15 +388,10 @@ ErrorCodeEnum SimulatorHttpFunction(string entityName, string devFuncName, T& ob
 
 	config.PreDo();
 	client.Do(&config, &result);
-	if (result.ResponseOK()) {
-		SP::Simulator::Restful::CommSimulatorRes commRes;
-		SP::Simulator::Restful::GetStatusFromDebranchResponse(result.content, commRes);
-		err = (ErrorCodeEnum)commRes.errNum;
 
-		if (err == Error_Succeed)
-		{
-			SP::Simulator::Restful::ExtractDataFromDebranchResponse(result.content, obj);
-		}	
+	if (result.ResponseOK()) {
+		SP::Simulator::Restful::ExtractDataFromDebranchResponse(result.content, obj);
+		err = (ErrorCodeEnum)obj.errNum;
 	}
 	else {
 		err = Error_NetBroken;

+ 6 - 3
DevAdapter/simulator/pinpad.1.1/pinpad_httpans.h

@@ -2,22 +2,25 @@
 #include "DeviceSimulator.h"
 
 typedef struct KeyReadAns {
+    int errNum;
     int ch;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(ch)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, ch)
 }KeyReadAns;
 
 typedef struct EnDecryptInfoAns {
+    int errNum;
     int dwSize;
     std::string data;	//en/decrypt data
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }EnDecryptInfoAns;
 
 typedef struct PinBlockAns
 {
+    int errNum;
     int dwSize;
     std::string data;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, dwSize, data)
 }PinBlockAns;

+ 25 - 13
DevAdapter/simulator/pinpad.1.1/pinpad_impl.cpp

@@ -41,8 +41,9 @@ ErrorCodeEnum PinPadClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
 ErrorCodeEnum PinPadClassImpl::Reset()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "Reset");
+    err = SimulatorHttpFunction(EntityName, "Reset", ans);
     LOG4VTM(INFO, "Reset err = " << err);
 
     return err;
@@ -51,8 +52,9 @@ ErrorCodeEnum PinPadClassImpl::Reset()
 ErrorCodeEnum PinPadClassImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
 {
     ErrorCodeEnum err = Error_Succeed;
-    
-    err = SimulatorHttpFunction(EntityName, "DevOpen");
+    SimulatorCommonAns ans;
+
+    err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
     LOG4VTM(INFO, "DevOpen err = " << err);
 
     return err;
@@ -61,8 +63,9 @@ ErrorCodeEnum PinPadClassImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
 ErrorCodeEnum PinPadClassImpl::DevClose()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "DevClose");
+    err = SimulatorHttpFunction(EntityName, "DevClose", ans);
     LOG4VTM(INFO, "DevClose err = " << err);
 
     return err;
@@ -86,8 +89,9 @@ ErrorCodeEnum PinPadClassImpl::KeyRead(BYTE &ch)
 ErrorCodeEnum PinPadClassImpl::StartPinInput(BYTE byLen)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "StartPinInput");
+    err = SimulatorHttpFunction(EntityName, "StartPinInput", ans);
     LOG4VTM(INFO, "StartPinInput err = " << err);
 
     return err;
@@ -96,8 +100,9 @@ ErrorCodeEnum PinPadClassImpl::StartPinInput(BYTE byLen)
 ErrorCodeEnum PinPadClassImpl::StartPinInputConfirm(BYTE byLen)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "StartPinInputConfirm");
+    err = SimulatorHttpFunction(EntityName, "StartPinInputConfirm", ans);
     LOG4VTM(INFO, "StartPinInputConfirm err = " << err);
 
     return err;
@@ -106,8 +111,9 @@ ErrorCodeEnum PinPadClassImpl::StartPinInputConfirm(BYTE byLen)
 ErrorCodeEnum PinPadClassImpl::StartPlainInput()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "StartPlainInput");
+    err = SimulatorHttpFunction(EntityName, "StartPlainInput", ans);
     LOG4VTM(INFO, "StartPlainInput err = " << err);
 
     return err;
@@ -116,8 +122,9 @@ ErrorCodeEnum PinPadClassImpl::StartPlainInput()
 ErrorCodeEnum PinPadClassImpl::StopInput()
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "StopInput");
+    err = SimulatorHttpFunction(EntityName, "StopInput", ans);
     LOG4VTM(INFO, "StopInput err = " << err);
 
     return err;
@@ -126,8 +133,9 @@ ErrorCodeEnum PinPadClassImpl::StopInput()
 ErrorCodeEnum PinPadClassImpl::LoadMasterKey(MasterKeyParam masterKey)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "LoadMasterKey");
+    err = SimulatorHttpFunction(EntityName, "LoadMasterKey", ans);
     LOG4VTM(INFO, "LoadMasterKey err = " << err);
 
     return err;
@@ -136,8 +144,9 @@ ErrorCodeEnum PinPadClassImpl::LoadMasterKey(MasterKeyParam masterKey)
 ErrorCodeEnum PinPadClassImpl::LoadWorkingKey(WorkKeyParam wkKey)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "LoadWorkingKey");
+    err = SimulatorHttpFunction(EntityName, "LoadWorkingKey", ans);
     LOG4VTM(INFO, "LoadWorkingKey err = " << err);
 
     return err;
@@ -146,8 +155,9 @@ ErrorCodeEnum PinPadClassImpl::LoadWorkingKey(WorkKeyParam wkKey)
 ErrorCodeEnum PinPadClassImpl::ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "ActiveWorkingKey");
+    err = SimulatorHttpFunction(EntityName, "ActiveWorkingKey", ans);
     LOG4VTM(INFO, "ActiveWorkingKey err = " << err);
 
     return err;
@@ -156,8 +166,9 @@ ErrorCodeEnum PinPadClassImpl::ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN)
 ErrorCodeEnum PinPadClassImpl::SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetParam");
+    err = SimulatorHttpFunction(EntityName, "SetParam", ans);
     LOG4VTM(INFO, "SetParam err = " << err);
 
     return err;
@@ -214,8 +225,9 @@ ErrorCodeEnum PinPadClassImpl::GetPinBlock(PinBlock &block)
 ErrorCodeEnum PinPadClassImpl::SetAccNo(AccountInfo accInfo)
 {
     ErrorCodeEnum err = Error_Succeed;
+    SimulatorCommonAns ans;
 
-    err = SimulatorHttpFunction(EntityName, "SetAccNo");
+    err = SimulatorHttpFunction(EntityName, "SetAccNo", ans);
     LOG4VTM(INFO, "SetAccNo err = " << err);
 
     return err;