Skip to content

Commit e3915c2

Browse files
committed
added:user information packet for protocol module
1 parent ee6684c commit e3915c2

File tree

5 files changed

+126
-9
lines changed

5 files changed

+126
-9
lines changed

XEngine_Source/MQCore_ProtocolModule/MQCore_ProtocolModule.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ EXPORTS
66
ProtocolModule_Packet_Common
77
ProtocolModule_Packet_MQNumber
88
ProtocolModule_Packet_PassAuth
9+
ProtocolModule_Packet_PassUser
910

1011
ProtocolModule_Parse_Http

XEngine_Source/MQCore_ProtocolModule/ProtocolModule_Packet/ProtocolModule_Packet.cpp

Lines changed: 82 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -317,12 +317,17 @@ BOOL CProtocolModule_Packet::ProtocolModule_Packet_MQNumber(XENGINE_PROTOCOLHDR*
317317
类型:整数型指针
318318
可空:N
319319
意思:输出缓冲区大小
320+
参数.四:nCode
321+
In/Out:In
322+
类型:整数型
323+
可空:N
324+
意思:输入要操作的协议
320325
返回值
321326
类型:逻辑型
322327
意思:是否成功
323328
备注:
324329
*********************************************************************/
325-
BOOL CProtocolModule_Packet::ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen)
330+
BOOL CProtocolModule_Packet::ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode)
326331
{
327332
Protocol_IsErrorOccur = FALSE;
328333

@@ -333,12 +338,84 @@ BOOL CProtocolModule_Packet::ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USE
333338
return FALSE;
334339
}
335340
Json::Value st_JsonRoot;
341+
Json::Value st_JsonAuth;
336342
Json::StreamWriterBuilder st_JsonBuilder;
337343

338-
st_JsonRoot["tszUserName"] = pSt_ProtocolAuth->tszUserName;
339-
st_JsonRoot["tszUserPass"] = pSt_ProtocolAuth->tszUserPass;
340-
st_JsonRoot["enClientType"] = pSt_ProtocolAuth->enClientType;
341-
st_JsonRoot["enDeviceType"] = pSt_ProtocolAuth->enDeviceType;
344+
st_JsonAuth["tszUserName"] = pSt_ProtocolAuth->tszUserName;
345+
st_JsonAuth["tszUserPass"] = pSt_ProtocolAuth->tszUserPass;
346+
st_JsonAuth["enClientType"] = pSt_ProtocolAuth->enClientType;
347+
st_JsonAuth["enDeviceType"] = pSt_ProtocolAuth->enDeviceType;
348+
349+
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
350+
st_JsonRoot["unOperatorCode"] = nCode;
351+
st_JsonRoot["wReserve"] = 0;
352+
st_JsonRoot["byVersion"] = 2;
353+
st_JsonRoot["st_Auth"] = st_JsonAuth;
354+
355+
st_JsonBuilder["emitUTF8"] = true;
356+
357+
*pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length();
358+
memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen);
359+
return TRUE;
360+
}
361+
/********************************************************************
362+
函数名称:ProtocolModule_Packet_PassUser
363+
函数功能:HTTP用户信息打包函数
364+
参数.一:pSt_ProtocolUser
365+
In/Out:In
366+
类型:数据结构指针
367+
可空:N
368+
意思:输入要打包的内容
369+
参数.二:ptszMsgBuffer
370+
In/Out:Out
371+
类型:字符指针
372+
可空:N
373+
意思:输出打好包的缓冲区
374+
参数.三:pInt_MsgLen
375+
In/Out:Out
376+
类型:整数型指针
377+
可空:N
378+
意思:输出缓冲区大小
379+
参数.四:nCode
380+
In/Out:In
381+
类型:整数型
382+
可空:N
383+
意思:输入要操纵的协议
384+
返回值
385+
类型:逻辑型
386+
意思:是否成功
387+
备注:
388+
*********************************************************************/
389+
BOOL CProtocolModule_Packet::ProtocolModule_Packet_PassUser(XENGINE_PROTOCOL_USERINFO* pSt_ProtocolUser, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode)
390+
{
391+
Protocol_IsErrorOccur = FALSE;
392+
393+
if ((NULL == pSt_ProtocolUser) || (NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen))
394+
{
395+
Protocol_IsErrorOccur = TRUE;
396+
Protocol_dwErrorCode = ERROR_MQ_MODULE_PROTOCOL_PARAMENT;
397+
return FALSE;
398+
}
399+
Json::Value st_JsonRoot;
400+
Json::Value st_JsonUser;
401+
Json::StreamWriterBuilder st_JsonBuilder;
402+
403+
st_JsonUser["nIDNumber"] = pSt_ProtocolUser->nIDNumber;
404+
st_JsonUser["nPhoneNumber"] = pSt_ProtocolUser->nPhoneNumber;
405+
st_JsonUser["nUserLevel"] = pSt_ProtocolUser->nUserLevel;
406+
st_JsonUser["nUserState"] = pSt_ProtocolUser->nUserState;
407+
st_JsonUser["tszCreateTime"] = pSt_ProtocolUser->tszCreateTime;
408+
st_JsonUser["tszEMailAddr"] = pSt_ProtocolUser->tszEMailAddr;
409+
st_JsonUser["tszLoginTime"] = pSt_ProtocolUser->tszLoginTime;
410+
st_JsonUser["tszUserName"] = pSt_ProtocolUser->tszUserName;
411+
st_JsonUser["tszUserPass"] = pSt_ProtocolUser->tszUserPass;
412+
413+
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
414+
st_JsonRoot["unOperatorCode"] = nCode;
415+
st_JsonRoot["wReserve"] = 0;
416+
st_JsonRoot["byVersion"] = 2;
417+
st_JsonRoot["st_User"] = st_JsonUser;
418+
342419
st_JsonBuilder["emitUTF8"] = true;
343420

344421
*pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length();

XEngine_Source/MQCore_ProtocolModule/ProtocolModule_Packet/ProtocolModule_Packet.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ class CProtocolModule_Packet
2121
BOOL ProtocolModule_Packet_TCPCommon(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_PROTOCOL_XMQ* pSt_MQProtocol, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszMsgBuffer = NULL, int nMsgLen = 0);
2222
BOOL ProtocolModule_Packet_HttpCommon(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_PROTOCOL_XMQ* pSt_MQProtocol, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszMsgBuffer = NULL, int nMsgLen = 0);
2323
BOOL ProtocolModule_Packet_MQNumber(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_MQNUMBER* pSt_MQNumber, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nNetType);
24-
BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
24+
BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode);
25+
BOOL ProtocolModule_Packet_PassUser(XENGINE_PROTOCOL_USERINFO* pSt_ProtocolUser, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode);
2526
protected:
2627
private:
2728
};

XEngine_Source/MQCore_ProtocolModule/Protocol_Define.h

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,46 @@ extern "C" BOOL ProtocolModule_Packet_MQNumber(XENGINE_PROTOCOLHDR* pSt_Protocol
113113
类型:整数型指针
114114
可空:N
115115
意思:输出缓冲区大小
116+
参数.四:nCode
117+
In/Out:In
118+
类型:整数型
119+
可空:N
120+
意思:输入要操作的协议
121+
返回值
122+
类型:逻辑型
123+
意思:是否成功
124+
备注:
125+
*********************************************************************/
126+
extern "C" BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode);
127+
/********************************************************************
128+
函数名称:ProtocolModule_Packet_PassUser
129+
函数功能:HTTP用户信息打包函数
130+
参数.一:pSt_ProtocolUser
131+
In/Out:In
132+
类型:数据结构指针
133+
可空:N
134+
意思:输入要打包的内容
135+
参数.二:ptszMsgBuffer
136+
In/Out:Out
137+
类型:字符指针
138+
可空:N
139+
意思:输出打好包的缓冲区
140+
参数.三:pInt_MsgLen
141+
In/Out:Out
142+
类型:整数型指针
143+
可空:N
144+
意思:输出缓冲区大小
145+
参数.四:nCode
146+
In/Out:In
147+
类型:整数型
148+
可空:N
149+
意思:输入要操作的协议
116150
返回值
117151
类型:逻辑型
118152
意思:是否成功
119153
备注:
120154
*********************************************************************/
121-
extern "C" BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH* pSt_ProtocolAuth, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
155+
extern "C" BOOL ProtocolModule_Packet_PassUser(XENGINE_PROTOCOL_USERINFO* pSt_ProtocolUser, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode);
122156
/************************************************************************/
123157
/* 解析类函数 */
124158
/************************************************************************/

XEngine_Source/MQCore_ProtocolModule/pch.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,13 @@ extern "C" BOOL ProtocolModule_Packet_MQNumber(XENGINE_PROTOCOLHDR * pSt_Protoco
3939
{
4040
return m_ProtocolPacket.ProtocolModule_Packet_MQNumber(pSt_ProtocolHdr, pSt_MQNumber, ptszMsgBuffer, pInt_MsgLen, nNetType);
4141
}
42-
extern "C" BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH * pSt_ProtocolAuth, TCHAR * ptszMsgBuffer, int* pInt_MsgLen)
42+
extern "C" BOOL ProtocolModule_Packet_PassAuth(XENGINE_PROTOCOL_USERAUTH * pSt_ProtocolAuth, TCHAR * ptszMsgBuffer, int* pInt_MsgLen, int nCode)
4343
{
44-
return m_ProtocolPacket.ProtocolModule_Packet_PassAuth(pSt_ProtocolAuth, ptszMsgBuffer, pInt_MsgLen);
44+
return m_ProtocolPacket.ProtocolModule_Packet_PassAuth(pSt_ProtocolAuth, ptszMsgBuffer, pInt_MsgLen, nCode);
45+
}
46+
extern "C" BOOL ProtocolModule_Packet_PassUser(XENGINE_PROTOCOL_USERINFO * pSt_ProtocolUser, TCHAR * ptszMsgBuffer, int* pInt_MsgLen, int nCode)
47+
{
48+
return m_ProtocolPacket.ProtocolModule_Packet_PassUser(pSt_ProtocolUser, ptszMsgBuffer, pInt_MsgLen, nCode);
4549
}
4650
/************************************************************************/
4751
/* 解析类函数 */

0 commit comments

Comments
 (0)