Browse Source

Z991239-5462 #comment fea: generate guiconsole's functions

chenliangyu 1 năm trước cách đây
mục cha
commit
2371b59ed0

+ 472 - 0
Module/mod_guiconsole/GUIConsole_client_g.h

@@ -0,0 +1,472 @@
+
+#ifndef __GUICONSOLE_CLIENT_G_H
+#define __GUICONSOLE_CLIENT_G_H
+
+#pragma once
+
+// This code is generated by spgen tool!
+
+#include "GUIConsole_def_g.h"
+
+namespace GUIConsole {
+class GUIConsoleService_ClientBase : public CClientSessionBase {
+public:
+	explicit GUIConsoleService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {}
+
+	GUIConsoleService_ClientBase* operator () (const linkContext &curLink) 
+	{
+		m_context = curLink;
+		return this;
+	}
+
+protected:
+	virtual ~GUIConsoleService_ClientBase()
+	{
+		/// override by user
+	}
+public:
+
+	void OnConnectSucceed()
+	{
+		bSessionClosed = false;
+	}
+	void OnClose(ErrorCodeEnum)
+	{
+		bSessionClosed = true;
+	}
+	bool QuerySessionClosed()
+	{
+		return bSessionClosed;
+	}
+	ErrorCodeEnum Connect(CSmartPointer<IAsynWaitSp> &spAsyncWait)
+	{
+		CSmartPointer<IEntityFunction> pFunc = m_pEntityBase->GetFunction();
+		ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "GUIConsole", "GUIConsoleService", spAsyncWait);
+		if (Error == Error_Succeed) {
+			m_bSysManaged = true;
+			bSessionClosed = false;
+		}
+		return Error;
+	}
+	ErrorCodeEnum Connect()
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = Connect(spAsyncWait);
+		if (Error == Error_Succeed) {
+			Error = spAsyncWait->WaitAnswer();
+		}
+		return Error;
+	}
+
+	ErrorCodeEnum OpenLogSender(GUIConsoleService_OpenLogSender_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(GUIConsoleService_Method_OpenLogSender, GUIConsoleService_MethodSignature_OpenLogSender, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum OpenLogSender(GUIConsoleService_OpenLogSender_Req &Req, GUIConsoleService_OpenLogSender_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenLogSender(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum OpenLogSender(GUIConsoleService_OpenLogSender_Req &Req, GUIConsoleService_OpenLogSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenLogSender(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 OpenLogSender(GUIConsoleService_OpenLogSender_Req &Req, GUIConsoleService_OpenLogSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenLogSender(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 CloseLogSender(GUIConsoleService_CloseLogSender_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(GUIConsoleService_Method_CloseLogSender, GUIConsoleService_MethodSignature_CloseLogSender, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum CloseLogSender(GUIConsoleService_CloseLogSender_Req &Req, GUIConsoleService_CloseLogSender_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseLogSender(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum CloseLogSender(GUIConsoleService_CloseLogSender_Req &Req, GUIConsoleService_CloseLogSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseLogSender(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 CloseLogSender(GUIConsoleService_CloseLogSender_Req &Req, GUIConsoleService_CloseLogSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseLogSender(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 OpenEntityMonitor(GUIConsoleService_OpenEntityMonitor_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(GUIConsoleService_Method_OpenEntityMonitor, GUIConsoleService_MethodSignature_OpenEntityMonitor, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum OpenEntityMonitor(GUIConsoleService_OpenEntityMonitor_Req &Req, GUIConsoleService_OpenEntityMonitor_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenEntityMonitor(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum OpenEntityMonitor(GUIConsoleService_OpenEntityMonitor_Req &Req, GUIConsoleService_OpenEntityMonitor_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenEntityMonitor(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 OpenEntityMonitor(GUIConsoleService_OpenEntityMonitor_Req &Req, GUIConsoleService_OpenEntityMonitor_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenEntityMonitor(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 CloseEntityMonitor(GUIConsoleService_CloseEntityMonitor_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(GUIConsoleService_Method_CloseEntityMonitor, GUIConsoleService_MethodSignature_CloseEntityMonitor, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum CloseEntityMonitor(GUIConsoleService_CloseEntityMonitor_Req &Req, GUIConsoleService_CloseEntityMonitor_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseEntityMonitor(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum CloseEntityMonitor(GUIConsoleService_CloseEntityMonitor_Req &Req, GUIConsoleService_CloseEntityMonitor_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseEntityMonitor(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 CloseEntityMonitor(GUIConsoleService_CloseEntityMonitor_Req &Req, GUIConsoleService_CloseEntityMonitor_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = CloseEntityMonitor(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 OpenPerformanceSender(GUIConsoleService_OpenPerformanceSender_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(GUIConsoleService_Method_OpenPerformanceSender, GUIConsoleService_MethodSignature_OpenPerformanceSender, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum OpenPerformanceSender(GUIConsoleService_OpenPerformanceSender_Req &Req, GUIConsoleService_OpenPerformanceSender_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenPerformanceSender(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum OpenPerformanceSender(GUIConsoleService_OpenPerformanceSender_Req &Req, GUIConsoleService_OpenPerformanceSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenPerformanceSender(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 OpenPerformanceSender(GUIConsoleService_OpenPerformanceSender_Req &Req, GUIConsoleService_OpenPerformanceSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = OpenPerformanceSender(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 ClosePerformanceSender(GUIConsoleService_ClosePerformanceSender_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(GUIConsoleService_Method_ClosePerformanceSender, GUIConsoleService_MethodSignature_ClosePerformanceSender, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum ClosePerformanceSender(GUIConsoleService_ClosePerformanceSender_Req &Req, GUIConsoleService_ClosePerformanceSender_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = ClosePerformanceSender(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum ClosePerformanceSender(GUIConsoleService_ClosePerformanceSender_Req &Req, GUIConsoleService_ClosePerformanceSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = ClosePerformanceSender(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 ClosePerformanceSender(GUIConsoleService_ClosePerformanceSender_Req &Req, GUIConsoleService_ClosePerformanceSender_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = ClosePerformanceSender(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 VTMSystemControl(GUIConsoleService_VTMSystemControl_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(GUIConsoleService_Method_VTMSystemControl, GUIConsoleService_MethodSignature_VTMSystemControl, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum VTMSystemControl(GUIConsoleService_VTMSystemControl_Req &Req, GUIConsoleService_VTMSystemControl_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTMSystemControl(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum VTMSystemControl(GUIConsoleService_VTMSystemControl_Req &Req, GUIConsoleService_VTMSystemControl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTMSystemControl(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 VTMSystemControl(GUIConsoleService_VTMSystemControl_Req &Req, GUIConsoleService_VTMSystemControl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTMSystemControl(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 VTM_controlEntity(GUIConsoleService_VTM_controlEntity_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(GUIConsoleService_Method_VTM_controlEntity, GUIConsoleService_MethodSignature_VTM_controlEntity, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum VTM_controlEntity(GUIConsoleService_VTM_controlEntity_Req &Req, GUIConsoleService_VTM_controlEntity_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTM_controlEntity(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum VTM_controlEntity(GUIConsoleService_VTM_controlEntity_Req &Req, GUIConsoleService_VTM_controlEntity_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTM_controlEntity(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 VTM_controlEntity(GUIConsoleService_VTM_controlEntity_Req &Req, GUIConsoleService_VTM_controlEntity_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = VTM_controlEntity(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()
+	{
+		if (!m_bSysManaged) {
+			delete this;
+		}
+		return m_bSysManaged;
+	}
+
+protected:
+	bool m_bSysManaged;
+	CEntityBase *m_pEntityBase;
+	linkContext m_context;
+	bool bSessionClosed;
+};
+
+///////////////////////////
+
+} // namespace GUIConsole
+#endif // __GUICONSOLE_CLIENT_G_H

+ 249 - 0
Module/mod_guiconsole/GUIConsole_def_g.h

@@ -0,0 +1,249 @@
+#ifndef __GUICONSOLE_DEF_G_H
+#define __GUICONSOLE_DEF_G_H
+
+#pragma once
+
+// This code is generated by spgen tool!
+
+#include "SpHelper.h"
+
+namespace GUIConsole {
+//
+// const goes here
+//
+
+#define GUIConsoleService_Method_OpenLogSender 0
+#define GUIConsoleService_Method_CloseLogSender 1
+#define GUIConsoleService_Method_OpenEntityMonitor 2
+#define GUIConsoleService_Method_CloseEntityMonitor 3
+#define GUIConsoleService_Method_OpenPerformanceSender 4
+#define GUIConsoleService_Method_ClosePerformanceSender 5
+#define GUIConsoleService_Method_VTMSystemControl 6
+#define GUIConsoleService_Method_VTM_controlEntity 7
+
+#define GUIConsoleService_MethodSignature_OpenLogSender -744778557
+#define GUIConsoleService_MethodSignature_CloseLogSender -1838250527
+#define GUIConsoleService_MethodSignature_OpenEntityMonitor 664878859
+#define GUIConsoleService_MethodSignature_CloseEntityMonitor 481662505
+#define GUIConsoleService_MethodSignature_OpenPerformanceSender 1205505908
+#define GUIConsoleService_MethodSignature_ClosePerformanceSender 975418125
+#define GUIConsoleService_MethodSignature_VTMSystemControl -1084584417
+#define GUIConsoleService_MethodSignature_VTM_controlEntity -580226164
+
+#define GUIConsoleService_LogCode_OpenLogSender "QLR040250800"
+#define GUIConsoleService_LogCode_CloseLogSender "QLR040250801"
+#define GUIConsoleService_LogCode_OpenEntityMonitor "QLR040250802"
+#define GUIConsoleService_LogCode_CloseEntityMonitor "QLR040250803"
+#define GUIConsoleService_LogCode_OpenPerformanceSender "QLR040250804"
+#define GUIConsoleService_LogCode_ClosePerformanceSender "QLR040250805"
+#define GUIConsoleService_LogCode_VTMSystemControl "QLR040250806"
+#define GUIConsoleService_LogCode_VTM_controlEntity "QLR040250807"
+
+struct GUIConsoleService_OpenLogSender_Req
+{
+	int reserved1;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reserved1 & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_OpenLogSender_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_CloseLogSender_Req
+{
+	int reserved1;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reserved1 & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_CloseLogSender_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_OpenEntityMonitor_Req
+{
+	int reserved1;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reserved1 & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_OpenEntityMonitor_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_CloseEntityMonitor_Req
+{
+	int reserved1;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reserved1 & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_CloseEntityMonitor_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_OpenPerformanceSender_Req
+{
+	int sendFrequence;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & sendFrequence & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_OpenPerformanceSender_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_ClosePerformanceSender_Req
+{
+	int reserved1;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & reserved1 & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_ClosePerformanceSender_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_VTMSystemControl_Req
+{
+	int rebootFunction;
+	int reserved2;
+	CSimpleStringA reserved3;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & rebootFunction & reserved2 & reserved3;
+	}
+
+};
+
+struct GUIConsoleService_VTMSystemControl_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+struct GUIConsoleService_VTM_controlEntity_Req
+{
+	CSimpleStringA entityName;
+	CSimpleStringA operation;
+	bool isWait;
+	int reserved1;
+	CSimpleStringA reserved2;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & entityName & operation & isWait & reserved1 & reserved2;
+	}
+
+};
+
+struct GUIConsoleService_VTM_controlEntity_Ans
+{
+	bool result;
+	CSimpleStringA additionalMsg;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & result & additionalMsg;
+	}
+
+};
+
+
+///////////////////////////
+
+} // namespace GUIConsole
+
+#endif // __GUICONSOLE_DEF_G_H

+ 34 - 0
Module/mod_guiconsole/GUIConsole_msg_g.h

@@ -0,0 +1,34 @@
+
+#ifndef __GUICONSOLE_MSG_G_H
+#define __GUICONSOLE_MSG_G_H
+
+#pragma once
+
+// This code is generated by spgen tool!
+
+#include "SpHelper.h"
+
+namespace GUIConsole {
+#define eMsg_EntityStatusList 0
+
+#define eMsgSig_EntityStatusList 1504672107
+
+struct EntityStatusList
+{
+	CAutoArray<CSimpleStringA> entityName;
+	CAutoArray<CSimpleStringA> status;
+	CAutoArray<CSimpleStringA> processId;
+	CAutoArray<CSimpleStringA> versionNo;
+	CAutoArray<CSimpleStringA> lastStartTime;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & entityName & status & processId & versionNo & lastStartTime;
+	}
+
+};
+
+///////////////////////////
+
+} // namespace GUIConsole
+#endif // __GUICONSOLE_MSG_G_H

+ 299 - 0
Module/mod_guiconsole/GUIConsole_server_g.h

@@ -0,0 +1,299 @@
+
+#ifndef __GUICONSOLE_SERVER_G_H
+#define __GUICONSOLE_SERVER_G_H
+
+#pragma once
+
+// This code is generated by spgen tool!
+
+#include "GUIConsole_def_g.h"
+
+namespace GUIConsole {
+class GUIConsoleService_ServerSessionBase : public CServerSessionBase
+{
+public:
+	GUIConsoleService_ServerSessionBase()
+	{
+		/// override by user
+	}
+
+	virtual ~GUIConsoleService_ServerSessionBase()
+	{
+		/// override by user
+	}
+
+	virtual bool IsExclusive() { return false; }
+
+	virtual bool IsSessionOverlap() { return true; }
+
+	virtual ErrorCodeEnum GetMessageAttr(DWORD dwMessageID, DWORD dwSignature, bool &bOverlap)
+	{
+		ErrorCodeEnum Error = Error_Succeed;
+		switch (dwMessageID) {
+		case GUIConsoleService_Method_OpenLogSender:
+			if (dwSignature == GUIConsoleService_MethodSignature_OpenLogSender) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_CloseLogSender:
+			if (dwSignature == GUIConsoleService_MethodSignature_CloseLogSender) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_OpenEntityMonitor:
+			if (dwSignature == GUIConsoleService_MethodSignature_OpenEntityMonitor) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_CloseEntityMonitor:
+			if (dwSignature == GUIConsoleService_MethodSignature_CloseEntityMonitor) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_OpenPerformanceSender:
+			if (dwSignature == GUIConsoleService_MethodSignature_OpenPerformanceSender) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_ClosePerformanceSender:
+			if (dwSignature == GUIConsoleService_MethodSignature_ClosePerformanceSender) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_VTMSystemControl:
+			if (dwSignature == GUIConsoleService_MethodSignature_VTMSystemControl) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_VTM_controlEntity:
+			if (dwSignature == GUIConsoleService_MethodSignature_VTM_controlEntity) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		default:
+			Error = Error_MethodNotFound;
+			break;
+		}
+		return Error;
+	}
+
+	int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature)
+	{
+		ErrorCodeEnum Error = Error_Succeed;
+		switch (dwMessageID) {
+		case GUIConsoleService_Method_OpenLogSender:
+			if (dwSignature != GUIConsoleService_MethodSignature_OpenLogSender) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_CloseLogSender:
+			if (dwSignature != GUIConsoleService_MethodSignature_CloseLogSender) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_OpenEntityMonitor:
+			if (dwSignature != GUIConsoleService_MethodSignature_OpenEntityMonitor) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_CloseEntityMonitor:
+			if (dwSignature != GUIConsoleService_MethodSignature_CloseEntityMonitor) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_OpenPerformanceSender:
+			if (dwSignature != GUIConsoleService_MethodSignature_OpenPerformanceSender) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_ClosePerformanceSender:
+			if (dwSignature != GUIConsoleService_MethodSignature_ClosePerformanceSender) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_VTMSystemControl:
+			if (dwSignature != GUIConsoleService_MethodSignature_VTMSystemControl) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		case GUIConsoleService_Method_VTM_controlEntity:
+			if (dwSignature != GUIConsoleService_MethodSignature_VTM_controlEntity) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
+		default:
+			Error = Error_MethodNotFound;
+			break;
+		}
+		return Error;
+	}
+
+	virtual void Handle_OpenLogSender(SpReqAnsContext<GUIConsoleService_OpenLogSender_Req, GUIConsoleService_OpenLogSender_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_CloseLogSender(SpReqAnsContext<GUIConsoleService_CloseLogSender_Req, GUIConsoleService_CloseLogSender_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_OpenEntityMonitor(SpReqAnsContext<GUIConsoleService_OpenEntityMonitor_Req, GUIConsoleService_OpenEntityMonitor_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_CloseEntityMonitor(SpReqAnsContext<GUIConsoleService_CloseEntityMonitor_Req, GUIConsoleService_CloseEntityMonitor_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_OpenPerformanceSender(SpReqAnsContext<GUIConsoleService_OpenPerformanceSender_Req, GUIConsoleService_OpenPerformanceSender_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_ClosePerformanceSender(SpReqAnsContext<GUIConsoleService_ClosePerformanceSender_Req, GUIConsoleService_ClosePerformanceSender_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_VTMSystemControl(SpReqAnsContext<GUIConsoleService_VTMSystemControl_Req, GUIConsoleService_VTMSystemControl_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void Handle_VTM_controlEntity(SpReqAnsContext<GUIConsoleService_VTM_controlEntity_Req, GUIConsoleService_VTM_controlEntity_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
+	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
+	{
+		CAutoBuffer Buf;
+		DWORD dwMessageID;
+		DWORD dwMessageSignature;
+		ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf);
+		if (Error == Error_Succeed) {
+#ifdef DEBUG
+			assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed);
+#else
+			if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) {
+				pTransactionContext->SendAnswer(Error_MethodSignatureFailed);
+				return;
+			}
+#endif
+			switch (dwMessageID) {
+				case GUIConsoleService_Method_OpenLogSender:
+					{
+						SpReqAnsContext<GUIConsoleService_OpenLogSender_Req,GUIConsoleService_OpenLogSender_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_OpenLogSender_Req,GUIConsoleService_OpenLogSender_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_OpenLogSender(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_CloseLogSender:
+					{
+						SpReqAnsContext<GUIConsoleService_CloseLogSender_Req,GUIConsoleService_CloseLogSender_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_CloseLogSender_Req,GUIConsoleService_CloseLogSender_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_CloseLogSender(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_OpenEntityMonitor:
+					{
+						SpReqAnsContext<GUIConsoleService_OpenEntityMonitor_Req,GUIConsoleService_OpenEntityMonitor_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_OpenEntityMonitor_Req,GUIConsoleService_OpenEntityMonitor_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_OpenEntityMonitor(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_CloseEntityMonitor:
+					{
+						SpReqAnsContext<GUIConsoleService_CloseEntityMonitor_Req,GUIConsoleService_CloseEntityMonitor_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_CloseEntityMonitor_Req,GUIConsoleService_CloseEntityMonitor_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_CloseEntityMonitor(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_OpenPerformanceSender:
+					{
+						SpReqAnsContext<GUIConsoleService_OpenPerformanceSender_Req,GUIConsoleService_OpenPerformanceSender_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_OpenPerformanceSender_Req,GUIConsoleService_OpenPerformanceSender_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_OpenPerformanceSender(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_ClosePerformanceSender:
+					{
+						SpReqAnsContext<GUIConsoleService_ClosePerformanceSender_Req,GUIConsoleService_ClosePerformanceSender_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_ClosePerformanceSender_Req,GUIConsoleService_ClosePerformanceSender_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_ClosePerformanceSender(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_VTMSystemControl:
+					{
+						SpReqAnsContext<GUIConsoleService_VTMSystemControl_Req,GUIConsoleService_VTMSystemControl_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_VTMSystemControl_Req,GUIConsoleService_VTMSystemControl_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_VTMSystemControl(ctx);
+					}
+					break;
+				case GUIConsoleService_Method_VTM_controlEntity:
+					{
+						SpReqAnsContext<GUIConsoleService_VTM_controlEntity_Req,GUIConsoleService_VTM_controlEntity_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<GUIConsoleService_VTM_controlEntity_Req,GUIConsoleService_VTM_controlEntity_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_VTM_controlEntity(ctx);
+					}
+					break;
+				default:
+					assert(0);
+					break;
+			}
+			
+		} else {
+			pTransactionContext->SendAnswer(Error);
+		}
+	}
+
+};
+
+
+///////////////////////////
+
+} // namespace GUIConsole
+#endif // __GUICONSOLE_SERVER_G_H

+ 92 - 95
Module/mod_guiconsole/GuiConsole.xml

@@ -1,99 +1,97 @@
 <?xml version="1.0" encoding="gb2312"?>
 <entity name="GUIConsole">
-  <class name="GUIConsoleService" overlap="true" exclusive="false">
-    <twoway name="OpenLogSender" overlap="true">
-		<req>
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="CloseLogSender" overlap="true">
-		<req>
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="OpenEntityMonitor" overlap="true">
-		<req>
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="CloseEntityMonitor" overlap="true">
-		<req>
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	
-	<twoway name="OpenPerformanceSender" overlap="true">
-		<req>
-			<param name="sendFrequence" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="ClosePerformanceSender" overlap="true">
-		<req>
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="VTMSystemControl" overlap="true">
-		<req>
-			<param name="rebootFunction" type="int" />
-			<param name="reserved2" type="int" />				
-			<param name="reserved3" type="string" />
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	<twoway name="VTM_controlEntity" overlap="true">
-		<req>
-			<param name="entityName" type="string" />
-			<param name="operation" type="string" />				
-			<param name="isWait" type="bool" />
-			<param name="reserved1" type="int" />
-			<param name="reserved2" type="string" />	
-		</req>
-		<res>
-			<param name="result" type="bool" />
-			<param name="additionalMsg" type="string" />
-		</res>			
-	</twoway>
-	
-	
+	<class name="GUIConsoleService" overlap="true" exclusive="false">
+		<twoway name="OpenLogSender" overlap="true">
+			<req>
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="CloseLogSender" overlap="true">
+			<req>
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="OpenEntityMonitor" overlap="true">
+			<req>
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="CloseEntityMonitor" overlap="true">
+			<req>
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="OpenPerformanceSender" overlap="true">
+			<req>
+				<param name="sendFrequence" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="ClosePerformanceSender" overlap="true">
+			<req>
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="VTMSystemControl" overlap="true">
+			<req>
+				<param name="rebootFunction" type="int" />
+				<param name="reserved2" type="int" />
+				<param name="reserved3" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+		<twoway name="VTM_controlEntity" overlap="true">
+			<req>
+				<param name="entityName" type="string" />
+				<param name="operation" type="string" />
+				<param name="isWait" type="bool" />
+				<param name="reserved1" type="int" />
+				<param name="reserved2" type="string" />
+			</req>
+			<res>
+				<param name="result" type="bool" />
+				<param name="additionalMsg" type="string" />
+			</res>
+		</twoway>
+	</class>
 	<message name="EntityStatusList">
 		<param name="entityName" type="array_string"/>
 		<param name="status" type="array_string" />
@@ -101,5 +99,4 @@
 		<param name="versionNo" type="array_string" />
 		<param name="lastStartTime" type="array_string" />
 	</message>
-  </class>
 </entity>

+ 1 - 1
Module/mod_interactivecontrol/InteractiveControl_msg_g.h

@@ -1,4 +1,4 @@
-
+
 #ifndef __INTERACTIVECONTROL_MSG_G_H
 #define __INTERACTIVECONTROL_MSG_G_H