forked from metin2/server
51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
|
#ifndef __INC_MESSENGER_MANAGER_H
|
|||
|
#define __INC_MESSENGER_MANAGER_H
|
|||
|
|
|||
|
#include "db.h"
|
|||
|
|
|||
|
class MessengerManager : public singleton<MessengerManager>
|
|||
|
{
|
|||
|
public:
|
|||
|
typedef std::string keyT;
|
|||
|
typedef const std::string & keyA;
|
|||
|
|
|||
|
MessengerManager();
|
|||
|
virtual ~MessengerManager();
|
|||
|
|
|||
|
public:
|
|||
|
void P2PLogin(keyA account);
|
|||
|
void P2PLogout(keyA account);
|
|||
|
|
|||
|
void Login(keyA account);
|
|||
|
void Logout(keyA account);
|
|||
|
|
|||
|
void RequestToAdd(LPCHARACTER ch, LPCHARACTER target);
|
|||
|
void AuthToAdd(keyA account, keyA companion, bool bDeny);
|
|||
|
|
|||
|
void __AddToList(keyA account, keyA companion); // <20><><EFBFBD><EFBFBD> m_Relation, m_InverseRelation <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ҵ<DEBC>
|
|||
|
void AddToList(keyA account, keyA companion);
|
|||
|
|
|||
|
void __RemoveFromList(keyA account, keyA companion); // <20><><EFBFBD><EFBFBD> m_Relation, m_InverseRelation <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ҵ<DEBC>
|
|||
|
void RemoveFromList(keyA account, keyA companion);
|
|||
|
|
|||
|
void RemoveAllList(keyA account);
|
|||
|
|
|||
|
void Initialize();
|
|||
|
|
|||
|
private:
|
|||
|
void SendList(keyA account);
|
|||
|
void SendLogin(keyA account, keyA companion);
|
|||
|
void SendLogout(keyA account, keyA companion);
|
|||
|
|
|||
|
void LoadList(SQLMsg * pmsg);
|
|||
|
|
|||
|
void Destroy();
|
|||
|
|
|||
|
std::set<keyT> m_set_loginAccount;
|
|||
|
std::map<keyT, std::set<keyT> > m_Relation;
|
|||
|
std::map<keyT, std::set<keyT> > m_InverseRelation;
|
|||
|
std::set<DWORD> m_set_requestToAdd;
|
|||
|
};
|
|||
|
|
|||
|
#endif
|