Skip to content

Commit 05e7243

Browse files
committed
modify:SessionModule_Client_GetListAddr support select addr or user
1 parent 6244f4f commit 05e7243

File tree

5 files changed

+25
-6
lines changed

5 files changed

+25
-6
lines changed

XEngine_Source/MQCore_SessionModule/SessionModule_Client/SessionModule_Client.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,12 +417,17 @@ bool CSessionModule_Client::SessionModule_Client_GetExist(LPCXSTR lpszClientAddr
417417
类型:整数型指针
418418
可空:N
419419
意思:输出列表个数
420+
参数.三:bAddr
421+
In/Out:In
422+
类型:逻辑型
423+
可空:Y
424+
意思:是否获取地址列表,否则用户列表
420425
返回值
421426
类型:逻辑型
422427
意思:是否成功
423428
备注:
424429
*********************************************************************/
425-
bool CSessionModule_Client::SessionModule_Client_GetListAddr(XCHAR*** ppptszClientList, int* pInt_ListCount)
430+
bool CSessionModule_Client::SessionModule_Client_GetListAddr(XCHAR*** ppptszClientList, int* pInt_ListCount, bool bAddr)
426431
{
427432
Session_IsErrorOccur = false;
428433

@@ -433,7 +438,14 @@ bool CSessionModule_Client::SessionModule_Client_GetListAddr(XCHAR*** ppptszClie
433438
unordered_map<tstring, XENGINE_SESSIONINFO>::iterator stl_MapIterator = stl_MapSession.begin();
434439
for (int i = 0; stl_MapIterator != stl_MapSession.end(); stl_MapIterator++, i++)
435440
{
436-
_tcsxcpy((*ppptszClientList)[i], stl_MapIterator->second.tszUserAddr);
441+
if (bAddr)
442+
{
443+
_tcsxcpy((*ppptszClientList)[i], stl_MapIterator->second.tszUserAddr);
444+
}
445+
else
446+
{
447+
_tcsxcpy((*ppptszClientList)[i], stl_MapIterator->second.st_UserInfo.tszUserName);
448+
}
437449
}
438450
st_Locker.unlock_shared();
439451
return true;

XEngine_Source/MQCore_SessionModule/SessionModule_Client/SessionModule_Client.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class CSessionModule_Client
3434
bool SessionModule_Client_GetInfoByUser(LPCXSTR lpszUserName, XENGINE_PROTOCOL_USERINFO* pSt_UserInfo);
3535
bool SessionModule_Client_GetType(LPCXSTR lpszSessionStr, int* pInt_NetType);
3636
bool SessionModule_Client_GetExist(LPCXSTR lpszClientAddr = NULL, LPCXSTR lpszClientUser = NULL);
37-
bool SessionModule_Client_GetListAddr(XCHAR*** ppptszClientList, int* pInt_ListCount);
37+
bool SessionModule_Client_GetListAddr(XCHAR*** ppptszClientList, int* pInt_ListCount, bool bAddr = true);
3838
private:
3939
shared_mutex st_Locker;
4040
private:

XEngine_Source/MQCore_SessionModule/Session_Define.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,14 @@ extern "C" bool SessionModule_Client_GetExist(LPCXSTR lpszClientAddr = NULL, LPC
205205
类型:整数型指针
206206
可空:N
207207
意思:输出列表个数
208+
参数.三:bAddr
209+
In/Out:In
210+
类型:逻辑型
211+
可空:Y
212+
意思:是否获取地址列表,否则用户列表
208213
返回值
209214
类型:逻辑型
210215
意思:是否成功
211216
备注:
212217
*********************************************************************/
213-
extern "C" bool SessionModule_Client_GetListAddr(XCHAR*** ppptszClientList, int* pInt_ListCount);
218+
extern "C" bool SessionModule_Client_GetListAddr(XCHAR * **ppptszClientList, int* pInt_ListCount, bool bAddr = true);

XEngine_Source/MQCore_SessionModule/pch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ extern "C" bool SessionModule_Client_GetExist(LPCXSTR lpszClientAddr, LPCXSTR lp
6969
{
7070
return m_SessionClient.SessionModule_Client_GetExist(lpszClientAddr, lpszClientUser);
7171
}
72-
extern "C" bool SessionModule_Client_GetListAddr(XCHAR * **ppptszClientList, int* pInt_ListCount)
72+
extern "C" bool SessionModule_Client_GetListAddr(XCHAR * **ppptszClientList, int* pInt_ListCount, bool bAddr)
7373
{
74-
return m_SessionClient.SessionModule_Client_GetListAddr(ppptszClientList, pInt_ListCount);
74+
return m_SessionClient.SessionModule_Client_GetListAddr(ppptszClientList, pInt_ListCount, bAddr);
7575
}

XEngine_Source/XQueue_ProtocolHdr.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ typedef struct
6363
XBYTE byAttrResver5 : 1;
6464
XBYTE byAttrResver6 : 1;
6565
XBYTE byAttrResver7 : 1;
66+
XBYTE byAttrResver;
67+
XSHOT nAttrResver;
6668
}XENGINE_PROTOCOL_MSGATTR, * LPXENGINE_PROTOCOL_MSGATTR;
6769
//消息队列服务协议
6870
typedef struct

0 commit comments

Comments
 (0)