forked from metin2/server
Add project files.
This commit is contained in:
70
game/src/p2p.h
Normal file
70
game/src/p2p.h
Normal file
@@ -0,0 +1,70 @@
|
||||
|
||||
#ifndef P2P_MANAGER_H_
|
||||
#define P2P_MANAGER_H_
|
||||
|
||||
#include <boost/unordered_map.hpp>
|
||||
|
||||
#include "input.h"
|
||||
#include "../../common/stl.h"
|
||||
|
||||
typedef struct _CCI
|
||||
{
|
||||
char szName[CHARACTER_NAME_MAX_LEN + 1];
|
||||
DWORD dwPID;
|
||||
BYTE bEmpire;
|
||||
long lMapIndex;
|
||||
BYTE bChannel;
|
||||
|
||||
LPDESC pkDesc;
|
||||
} CCI;
|
||||
|
||||
class P2P_MANAGER : public singleton<P2P_MANAGER>
|
||||
{
|
||||
public:
|
||||
P2P_MANAGER();
|
||||
~P2P_MANAGER();
|
||||
|
||||
// <20>Ʒ<EFBFBD> Register* Unregister* pair<69><72><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ƾ<EFBFBD><C6BE> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||
void RegisterAcceptor(LPDESC d);
|
||||
void UnregisterAcceptor(LPDESC d);
|
||||
|
||||
void RegisterConnector(LPDESC d);
|
||||
void UnregisterConnector(LPDESC d);
|
||||
|
||||
void EraseUserByDesc(LPDESC d); // <20>ش<EFBFBD> desc<73><63> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
void FlushOutput();
|
||||
|
||||
void Boot(LPDESC d); // p2p ó<><C3B3><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>. (<28><> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||
|
||||
void Send(const void * c_pvData, int iSize, LPDESC except = NULL);
|
||||
|
||||
void Login(LPDESC d, const TPacketGGLogin * p);
|
||||
void Logout(const char * c_pszName);
|
||||
|
||||
CCI * Find(const char * c_pszName);
|
||||
CCI * FindByPID(DWORD pid);
|
||||
|
||||
int GetCount();
|
||||
int GetEmpireUserCount(int idx);
|
||||
int GetDescCount();
|
||||
void GetP2PHostNames(std::string& hostNames);
|
||||
|
||||
private:
|
||||
void Logout(CCI * pkCCI);
|
||||
|
||||
CInputProcessor * m_pkInputProcessor;
|
||||
int m_iHandleCount;
|
||||
|
||||
typedef boost::unordered_map<std::string, CCI *, stringhash> TCCIMap;
|
||||
typedef boost::unordered_map<DWORD, CCI*> TPIDCCIMap;
|
||||
|
||||
TR1_NS::unordered_set<LPDESC> m_set_pkPeers;
|
||||
TCCIMap m_map_pkCCI;
|
||||
TPIDCCIMap m_map_dwPID_pkCCI;
|
||||
int m_aiEmpireUserCount[EMPIRE_MAX_NUM];
|
||||
};
|
||||
|
||||
#endif /* P2P_MANAGER_H_ */
|
||||
|
Reference in New Issue
Block a user