Skip to content

Commit 2bba5be

Browse files
committed
added:all client list for p2ppeer module
1 parent 2d72539 commit 2bba5be

File tree

5 files changed

+71
-0
lines changed

5 files changed

+71
-0
lines changed

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/P2XPPeer_Define.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,25 @@ extern "C" BOOL P2XPPeer_Manage_GetLList(LPCSTR lpszPubAddr, CHAR*** pppszP2XPCl
160160
*********************************************************************/
161161
extern "C" BOOL P2XPPeer_Manage_GetWList(CHAR*** pppszP2XPClient, int* pInt_ListCount);
162162
/********************************************************************
163+
函数名称:P2XPPeer_Manage_GetAllList
164+
函数功能:获取所有客户端
165+
参数.一:pppszP2XPClient
166+
In/Out:Out
167+
类型:三级指针
168+
可空:N
169+
意思:输出客户端列表
170+
参数.二:pInt_ListCount
171+
In/Out:Out
172+
类型:整数型指针
173+
可空:N
174+
意思:输出客户端个数
175+
返回值
176+
类型:逻辑型
177+
意思:是否成功
178+
备注:
179+
*********************************************************************/
180+
extern "C" BOOL P2XPPeer_Manage_GetAllList(TCHAR*** pppszP2XPClient, int* pInt_ListCount);
181+
/********************************************************************
163182
函数名称:P2XPPeer_Manage_Set
164183
函数功能:设置指定客户的节点信息
165184
参数.一:lpszAddr

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/P2XPPeer_Manage/P2XPPeer_Manage.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,52 @@ BOOL CP2XPPeer_Manage::P2XPPeer_Manage_GetWList(TCHAR*** pppszP2XPClient, int* p
388388
return TRUE;
389389
}
390390
/********************************************************************
391+
函数名称:P2XPPeer_Manage_GetAllList
392+
函数功能:获取所有客户端
393+
参数.一:pppszP2XPClient
394+
In/Out:Out
395+
类型:三级指针
396+
可空:N
397+
意思:输出客户端列表
398+
参数.二:pInt_ListCount
399+
In/Out:Out
400+
类型:整数型指针
401+
可空:N
402+
意思:输出客户端个数
403+
返回值
404+
类型:逻辑型
405+
意思:是否成功
406+
备注:
407+
*********************************************************************/
408+
BOOL CP2XPPeer_Manage::P2XPPeer_Manage_GetAllList(TCHAR*** pppszP2XPClient, int* pInt_ListCount)
409+
{
410+
PeerManage_IsErrorOccur = FALSE;
411+
412+
if ((NULL == pppszP2XPClient) || (NULL == pInt_ListCount))
413+
{
414+
PeerManage_IsErrorOccur = TRUE;
415+
PeerManage_dwErrorCode = ERROR_XENGINE_P2XP_PEER_MANAGE_GETWLIST_PARAMENT;
416+
return FALSE;
417+
}
418+
if (stl_MapPeerAddr.size() <= 0)
419+
{
420+
PeerManage_IsErrorOccur = TRUE;
421+
PeerManage_dwErrorCode = ERROR_XENGINE_P2XP_PEER_MANAGE_GETWLIST_NOTFOUND;
422+
return FALSE;
423+
}
424+
BaseLib_OperatorMemory_Malloc((XPPPMEM)pppszP2XPClient, stl_MapPeerAddr.size(), 128);
425+
426+
st_rwLocker.lock_shared();
427+
unordered_map<string, LPNETENGINE_P2XP_PEERINFO>::const_iterator stl_MapIterator = stl_MapPeerAddr.begin();
428+
for (int i = 0; stl_MapIterator != stl_MapPeerAddr.end(); stl_MapIterator++, i++)
429+
{
430+
_tcscpy((*pppszP2XPClient)[i], stl_MapIterator->first.c_str());
431+
}
432+
*pInt_ListCount = stl_MapClients.size();
433+
st_rwLocker.unlock_shared();
434+
return TRUE;
435+
}
436+
/********************************************************************
391437
函数名称:P2XPPeer_Manage_Set
392438
函数功能:设置指定客户的节点信息
393439
参数.一:lpszAddr

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/P2XPPeer_Manage/P2XPPeer_Manage.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class CP2XPPeer_Manage
2323
BOOL P2XPPeer_Manage_GetLan(LPCTSTR lpszPubAddr, LPCTSTR lpszPriAddr, XENGINE_P2XPPEER_PROTOCOL*** pppSt_P2XPClient, int* pInt_ListCount); //获取公网下的局域网IP地址列表
2424
BOOL P2XPPeer_Manage_GetLList(LPCTSTR lpszPubAddr, TCHAR*** pppszP2XPClient, int* pInt_ListCount);
2525
BOOL P2XPPeer_Manage_GetWList(TCHAR*** pppszP2XPClient, int* pInt_ListCount);
26+
BOOL P2XPPeer_Manage_GetAllList(TCHAR*** pppszP2XPClient, int* pInt_ListCount);
2627
BOOL P2XPPeer_Manage_Set(LPCTSTR lpszAddr,XENGINE_P2XP_PEERINFO st_PeerInfo); //设置指定客户的节点信息
2728
BOOL P2XPPeer_Manage_Delete(LPCTSTR lpszUserName); //从列表中删除一个节点
2829
BOOL P2XPPeer_Manage_DelAll(); //清空节点列表

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/XStorage_P2XPPeer.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ EXPORTS
99
P2XPPeer_Manage_GetLan
1010
P2XPPeer_Manage_GetLList
1111
P2XPPeer_Manage_GetWList
12+
P2XPPeer_Manage_GetAllList
1213
P2XPPeer_Manage_Set
1314
P2XPPeer_Manage_Delete
1415
P2XPPeer_Manage_DelAll

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/pch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ extern "C" BOOL P2XPPeer_Manage_GetWList(TCHAR * **pppszP2XPClient, int* pInt_Li
4949
{
5050
return m_P2PPeerManage.P2XPPeer_Manage_GetWList(pppszP2XPClient, pInt_ListCount);
5151
}
52+
extern "C" BOOL P2XPPeer_Manage_GetAllList(TCHAR * **pppszP2XPClient, int* pInt_ListCount)
53+
{
54+
return m_P2PPeerManage.P2XPPeer_Manage_GetAllList(pppszP2XPClient, pInt_ListCount);
55+
}
5256
extern "C" BOOL P2XPPeer_Manage_Set(LPCTSTR lpszAddr, XENGINE_P2XP_PEERINFO st_PeerInfo)
5357
{
5458
return m_P2PPeerManage.P2XPPeer_Manage_Set(lpszAddr, st_PeerInfo);

0 commit comments

Comments
 (0)