Răsfoiți Sursa

#IQRV #comment: 卡库模拟BYTE数据调试1

陈纪林80310970 7 luni în urmă
părinte
comite
9d64b6189b

+ 9 - 0
DevAdapter/simulator/cardissuerstore.1.1/cardissuer_impl.cpp

@@ -279,6 +279,7 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 {
 	ErrorCodeEnum err = Error_Succeed;
 	CmdInfoAns ans;
+	memset(ans.data, 0, MAX_IC_BUFFER_SIZE);
 
 	err = SimulatorHttpFunction(EntityName, "ICCommand", ans);
 	LOG4VTM(INFO, "ICCommand err = " << err);
@@ -287,6 +288,14 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 		recvBuf.dwSize = ans.dwSize;
 		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
+	
+	//DEBUG
+	LPBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	int lenRecv = recvBuf.dwSize;
+	HexBuf2StrBuf(buf,&show,lenRecv);
+	//DbgInfo(CSimpleStringA::Format("<BuildSupportedAppList>, [%s]", show));
+	LOG4VTM(INFO, "<SimulaTrans> [" << show << "]");
 
 	return err;
 }

+ 5 - 3
DevAdapter/simulator/deps/libSimulaRestful/JsonConvertHelper.hpp

@@ -261,16 +261,18 @@ static bool Object2Json(Json::Value& jsonTypeValue, const std::string& key, cons
 
 static bool Json2Object(BYTE* aimObj, const Json::Value& jsonTypeValue)
 {
-    PBYTE pData = aimObj;
     if (jsonTypeValue.isNull()) {
-        pData = NULL;
         return true;
     }
     if (jsonTypeValue.isNull() || !jsonTypeValue.isString()) {
         return false;
     }
     else {
-        StrBuf2HexBuf(jsonTypeValue.asString().c_str(), &pData);
+        int len = StrBuf2HexBuf(jsonTypeValue.asString().c_str(), &aimObj);
+        if (len == 0)
+        {
+            return false;
+        }
         return true;
     }
 }

+ 7 - 1
DevAdapter/simulator/include/DeviceSimulator.h

@@ -419,7 +419,13 @@ ErrorCodeEnum SimulatorHttpFunction(string entityName, string devFuncName, T& ob
 
 		if (err == Error_Succeed)
 		{
-			SP::Simulator::Restful::ExtractDataFromDebranchResponse(result.content, obj);
+			bool res = SP::Simulator::Restful::ExtractDataFromDebranchResponse(result.content, obj);
+
+			//DEBUG
+			if (!res)
+			{
+				err = Error_Bug;
+			}
 		}	
 	}
 	else {