Browse Source

Z991239-5054 #comment 信创增加安装支持

oilyang 1 year ago
parent
commit
eea2d09d21

+ 155 - 8
Module/mod_vtmloader/VtmLoader_client_g.h

@@ -59,7 +59,7 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum notice(VtmLoaderService_notice_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
+	ErrorCodeEnum SetTerminalNo(VtmLoaderService_SetTerminalNo_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
 	{
 		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
 		CAutoBuffer Buf = SpObject2Buffer(Req);
@@ -69,14 +69,14 @@ public:
 			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
 			m_context = m_context.upgradeLink();
 		}
-		auto ret = pFunc->AsyncRequest(VtmLoaderService_Method_notice, VtmLoaderService_MethodSignature_notice, Buf, spAsyncWait, m_context, dwTimeout);
+		auto ret = pFunc->AsyncRequest(VtmLoaderService_Method_SetTerminalNo, VtmLoaderService_MethodSignature_SetTerminalNo, Buf, spAsyncWait, m_context, dwTimeout);
 		m_context.clear();
 		return ret;
 	}
-	ErrorCodeEnum notice(VtmLoaderService_notice_Req &Req, VtmLoaderService_notice_Ans &Ans, DWORD dwTimeout)
+	ErrorCodeEnum SetTerminalNo(VtmLoaderService_SetTerminalNo_Req &Req, VtmLoaderService_SetTerminalNo_Ans &Ans, DWORD dwTimeout)
 	{
 		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = notice(Req, spAsyncWait, dwTimeout);
+		ErrorCodeEnum Error = SetTerminalNo(Req, spAsyncWait, dwTimeout);
 		if (Error == Error_Succeed) {
 			bool bEnd = false;
 			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
@@ -84,10 +84,10 @@ public:
 		}
 		return Error;
 	}
-	ErrorCodeEnum notice(VtmLoaderService_notice_Req &Req, VtmLoaderService_notice_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	ErrorCodeEnum SetTerminalNo(VtmLoaderService_SetTerminalNo_Req &Req, VtmLoaderService_SetTerminalNo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
 	{
 		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = notice(Req, spAsyncWait, dwTimeout);
+		ErrorCodeEnum Error = SetTerminalNo(Req, spAsyncWait, dwTimeout);
 		if (Error == Error_Succeed) {
 			bool bEnd = false;
 			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
@@ -95,10 +95,157 @@ public:
 		}
 		return Error;
 	}
-	ErrorCodeEnum notice(VtmLoaderService_notice_Req &Req, VtmLoaderService_notice_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	ErrorCodeEnum SetTerminalNo(VtmLoaderService_SetTerminalNo_Req &Req, VtmLoaderService_SetTerminalNo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
 	{
 		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = notice(Req, spAsyncWait, dwTimeout);
+		ErrorCodeEnum Error = SetTerminalNo(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;
+	}
+
+	ErrorCodeEnum NoticeAppReady(VtmLoaderService_NoticeAppReady_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(VtmLoaderService_Method_NoticeAppReady, VtmLoaderService_MethodSignature_NoticeAppReady, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum NoticeAppReady(VtmLoaderService_NoticeAppReady_Req &Req, VtmLoaderService_NoticeAppReady_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = NoticeAppReady(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum NoticeAppReady(VtmLoaderService_NoticeAppReady_Req &Req, VtmLoaderService_NoticeAppReady_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = NoticeAppReady(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 NoticeAppReady(VtmLoaderService_NoticeAppReady_Req &Req, VtmLoaderService_NoticeAppReady_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = NoticeAppReady(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;
+	}
+
+	ErrorCodeEnum CheckDeviceEntity(VtmLoaderService_CheckDeviceEntity_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(VtmLoaderService_Method_CheckDeviceEntity, VtmLoaderService_MethodSignature_CheckDeviceEntity, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum CheckDeviceEntity(VtmLoaderService_CheckDeviceEntity_Req &Req, VtmLoaderService_CheckDeviceEntity_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckDeviceEntity(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum CheckDeviceEntity(VtmLoaderService_CheckDeviceEntity_Req &Req, VtmLoaderService_CheckDeviceEntity_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckDeviceEntity(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 CheckDeviceEntity(VtmLoaderService_CheckDeviceEntity_Req &Req, VtmLoaderService_CheckDeviceEntity_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CheckDeviceEntity(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;
+	}
+
+	ErrorCodeEnum SaveTerminalNo(VtmLoaderService_SaveTerminalNo_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(VtmLoaderService_Method_SaveTerminalNo, VtmLoaderService_MethodSignature_SaveTerminalNo, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum SaveTerminalNo(VtmLoaderService_SaveTerminalNo_Req &Req, VtmLoaderService_SaveTerminalNo_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = SaveTerminalNo(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum SaveTerminalNo(VtmLoaderService_SaveTerminalNo_Req &Req, VtmLoaderService_SaveTerminalNo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = SaveTerminalNo(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 SaveTerminalNo(VtmLoaderService_SaveTerminalNo_Req &Req, VtmLoaderService_SaveTerminalNo_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = SaveTerminalNo(Req, spAsyncWait, dwTimeout);
 		if (Error == Error_Succeed) {
 			bool bEnd = false;
 			CSimpleString str;

+ 96 - 7
Module/mod_vtmloader/VtmLoader_def_g.h

@@ -12,27 +12,116 @@ namespace VtmLoader {
 // const goes here
 //
 
-#define VtmLoaderService_Method_notice 0
+#define VtmLoaderService_Method_SetTerminalNo 1
+#define VtmLoaderService_Method_NoticeAppReady 2
+#define VtmLoaderService_Method_CheckDeviceEntity 3
+#define VtmLoaderService_Method_SaveTerminalNo 4
+
+#define VtmLoaderService_MethodSignature_SetTerminalNo 616197282
+#define VtmLoaderService_MethodSignature_NoticeAppReady -656753321
+#define VtmLoaderService_MethodSignature_CheckDeviceEntity 217616252
+#define VtmLoaderService_MethodSignature_SaveTerminalNo -1817061577
+
+#define VtmLoaderService_LogCode_SetTerminalNo "QLR040210F01"
+#define VtmLoaderService_LogCode_NoticeAppReady "QLR040210F02"
+#define VtmLoaderService_LogCode_CheckDeviceEntity "QLR040210F03"
+#define VtmLoaderService_LogCode_SaveTerminalNo "QLR040210F04"
+
+struct VtmLoaderService_SetTerminalNo_Req
+{
+	CSimpleStringA terminalNo;
+	CSimpleStringA reqReserved1;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & terminalNo & reqReserved1;
+	}
+
+};
+
+struct VtmLoaderService_SetTerminalNo_Ans
+{
+	CSimpleStringA resReserved1;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & resReserved1;
+	}
+
+};
+
+struct VtmLoaderService_NoticeAppReady_Req
+{
+	CSimpleStringA reqReserved1;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reqReserved1;
+	}
+
+};
 
-#define VtmLoaderService_MethodSignature_notice -1920069053
+struct VtmLoaderService_NoticeAppReady_Ans
+{
+	CSimpleStringA resReserved1;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & resReserved1;
+	}
+
+};
+
+struct VtmLoaderService_CheckDeviceEntity_Req
+{
+	CSimpleStringA entityName;
+	int paramNum;
+	CAutoArray<CSimpleStringA> module;
+	CAutoArray<CSimpleStringA> name;
+	CAutoArray<CSimpleStringA> value;
+	CSimpleStringA reqReserved1;
+	CSimpleStringA reqReserved2;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & entityName & paramNum & module & name & value & reqReserved1 & reqReserved2;
+	}
+
+};
+
+struct VtmLoaderService_CheckDeviceEntity_Ans
+{
+	int devState;
+	CSimpleStringA msg;
+	CSimpleStringA resReserved1;
+	CSimpleStringA resReserved2;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & devState & msg & resReserved1 & resReserved2;
+	}
+
+};
 
-struct VtmLoaderService_notice_Req
+struct VtmLoaderService_SaveTerminalNo_Req
 {
-	int stage;
-	CSimpleStringA test1;
+	CSimpleStringA terminalNo;
+	CSimpleStringA reqReserved1;
 
 	void Serialize(SpBuffer &Buf)
 	{
-		auto & buf = Buf & stage & test1;
+		auto & buf = Buf & terminalNo & reqReserved1;
 	}
 
 };
 
-struct VtmLoaderService_notice_Ans
+struct VtmLoaderService_SaveTerminalNo_Ans
 {
+	CSimpleStringA resReserved1;
 
 	void Serialize(SpBuffer &Buf)
 	{
+		auto & buf = Buf & resReserved1;
 	}
 
 };

+ 87 - 9
Module/mod_vtmloader/VtmLoader_server_g.h

@@ -30,8 +30,29 @@ public:
 	{
 		ErrorCodeEnum Error = Error_Succeed;
 		switch (dwMessageID) {
-		case VtmLoaderService_Method_notice:
-			if (dwSignature == VtmLoaderService_MethodSignature_notice) {
+		case VtmLoaderService_Method_SetTerminalNo:
+			if (dwSignature == VtmLoaderService_MethodSignature_SetTerminalNo) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_NoticeAppReady:
+			if (dwSignature == VtmLoaderService_MethodSignature_NoticeAppReady) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_CheckDeviceEntity:
+			if (dwSignature == VtmLoaderService_MethodSignature_CheckDeviceEntity) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_SaveTerminalNo:
+			if (dwSignature == VtmLoaderService_MethodSignature_SaveTerminalNo) {
 				bOverlap = true;
 			} else {
 				Error = Error_MethodSignatureFailed;
@@ -48,8 +69,23 @@ public:
 	{
 		ErrorCodeEnum Error = Error_Succeed;
 		switch (dwMessageID) {
-		case VtmLoaderService_Method_notice:
-			if (dwSignature != VtmLoaderService_MethodSignature_notice) {
+		case VtmLoaderService_Method_SetTerminalNo:
+			if (dwSignature != VtmLoaderService_MethodSignature_SetTerminalNo) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_NoticeAppReady:
+			if (dwSignature != VtmLoaderService_MethodSignature_NoticeAppReady) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_CheckDeviceEntity:
+			if (dwSignature != VtmLoaderService_MethodSignature_CheckDeviceEntity) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case VtmLoaderService_Method_SaveTerminalNo:
+			if (dwSignature != VtmLoaderService_MethodSignature_SaveTerminalNo) {
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
@@ -60,7 +96,22 @@ public:
 		return Error;
 	}
 
-	virtual void Handle_notice(SpReqAnsContext<VtmLoaderService_notice_Req, VtmLoaderService_notice_Ans>::Pointer ctx)
+	virtual void Handle_SetTerminalNo(SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req, VtmLoaderService_SetTerminalNo_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_NoticeAppReady(SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req, VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_CheckDeviceEntity(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req, VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx)
 	{
 	/// override by user
 	}
@@ -81,13 +132,40 @@ public:
 			}
 #endif
 			switch (dwMessageID) {
-				case VtmLoaderService_Method_notice:
+				case VtmLoaderService_Method_SetTerminalNo:
+					{
+						SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req,VtmLoaderService_SetTerminalNo_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req,VtmLoaderService_SetTerminalNo_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						Handle_SetTerminalNo(ctx);
+					}
+					break;
+				case VtmLoaderService_Method_NoticeAppReady:
+					{
+						SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req,VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req,VtmLoaderService_NoticeAppReady_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						Handle_NoticeAppReady(ctx);
+					}
+					break;
+				case VtmLoaderService_Method_CheckDeviceEntity:
+					{
+						SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req,VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req,VtmLoaderService_CheckDeviceEntity_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						Handle_CheckDeviceEntity(ctx);
+					}
+					break;
+				case VtmLoaderService_Method_SaveTerminalNo:
 					{
-						SpReqAnsContext<VtmLoaderService_notice_Req,VtmLoaderService_notice_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<VtmLoaderService_notice_Req,VtmLoaderService_notice_Ans>(pTransactionContext));
+						SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req,VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req,VtmLoaderService_SaveTerminalNo_Ans>(pTransactionContext));
 						SpBuffer2Object(Buf, ctx->Req);
 						pTransactionContext->GetLinkContext(ctx->link);
-						Handle_notice(ctx);
+						Handle_SaveTerminalNo(ctx);
 					}
 					break;
 				default:

+ 50 - 3
Module/mod_vtmloader/vtmloader.xml

@@ -1,11 +1,58 @@
 <?xml version="1.0" encoding="gb2312"?>
 <entity name="VtmLoader">
   <class name="VtmLoaderService" overlap="true" exclusive="false">
-	<twoway name="notice" overlap="true">
+	<!--终端号检查通过后,通知终端应用-->
+	<twoway name="SetTerminalNo" overlap="true" method_id="1">
       <req>
-        <param name="stage" type="int"/>
-		<param name="test1" type="string"/>
+	  <!--terminalNo:终端号-->
+		<param name="terminalNo" type="string"/>
+		<param name="reqReserved1" type="string"/>
       </req>
+	  <res>
+		<param name="resReserved1" type="string"/>
+	  </res>
+    </twoway>
+	<!--暂未使用-->
+	<twoway name="NoticeAppReady" overlap="true" method_id="2">
+      <req>
+		<param name="reqReserved1" type="string"/>
+      </req>
+	  <res>
+		<param name="resReserved1" type="string"/>
+	  </res>
+    </twoway>
+	<!--硬件实体验证-->
+	<twoway name="CheckDeviceEntity" overlap="true" method_id="3">
+      <req>
+		<!--实体名称,与终端应用的GetEntityName相同-->
+        <param name="entityName" type="string"/>
+		<!--需要刷新的配置数量-->
+		<param name="paramNum" type="int"/>
+		<!--配置模块名-->
+		<param name="module" type="array_string"/>
+		<!--配置项名称-->
+		<param name="name" type="array_string"/>
+		<!--配置值-->
+		<param name="value" type="array_string"/>
+        <param name="reqReserved1" type="string" />
+        <param name="reqReserved2" type="string" />		
+      </req>
+	  <res>
+        <param name="devState" type="int" />
+        <param name="msg" type="string" />
+        <param name="resReserved1" type="string" />
+        <param name="resReserved2" type="string" />
+	  </res>	  
+    </twoway>
+	<twoway name="SaveTerminalNo" overlap="true" method_id="4">
+      <req>
+	  <!--terminalNo:终端号-->
+        <param name="terminalNo" type="string"/>
+		<param name="reqReserved1" type="string" />
+      </req>
+	  <res>
+		<param name="resReserved1" type="string"/>
+	  </res>	  
     </twoway>
   </class>
 </entity>