Advertisement
SergiuAndreiM

messenger_manager.h

Jul 2nd, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.51 KB | None | 0 0
  1. #ifndef __INC_MESSENGER_MANAGER_H
  2. #define __INC_MESSENGER_MANAGER_H
  3.  
  4. #include "db.h"
  5.  
  6. class MessengerManager : public singleton<MessengerManager>
  7. {
  8.     public:
  9.         typedef std::string keyT;
  10.         #ifdef ENABLE_MESSENGER_BLOCK
  11.         typedef std::string keyBL;
  12.         #endif     
  13.         typedef const std::string & keyA;
  14.  
  15.         MessengerManager();
  16.         virtual ~MessengerManager();
  17.  
  18.     public:
  19.         void    P2PLogin(keyA account);
  20.         void    P2PLogout(keyA account);
  21.  
  22.         void    Login(keyA account);
  23.         void    Logout(keyA account);
  24.  
  25.         void    RequestToAdd(LPCHARACTER ch, LPCHARACTER target);
  26.         bool    AuthToAdd(keyA account, keyA companion, bool bDeny);
  27.  
  28.         void    __AddToList(keyA account, keyA companion);  // ½ÇÁ¦ m_Relation, m_InverseRelation ¼öÁ¤ÇÏ´Â ¸Þ¼Òµå
  29.         void    AddToList(keyA account, keyA companion);
  30.  
  31.         void    __RemoveFromList(keyA account, keyA companion); // ½ÇÁ¦ m_Relation, m_InverseRelation ¼öÁ¤ÇÏ´Â ¸Þ¼Òµå
  32.         void    RemoveFromList(keyA account, keyA companion);  
  33.  
  34.         #ifdef ENABLE_MESSENGER_BLOCK
  35.         void    __AddToBlockList(keyA account, keyA companion); // 실제 m_Relation, m_InverseRelation 수정하는 메소드
  36.         void    AddToBlockList(keyA account, keyA companion);
  37.         bool    IsBlocked(keyA account, keyA companion);
  38.         bool    IsBlocked_Target(keyA account, keyA companion);
  39.         bool    IsBlocked_Me(keyA account, keyA companion);
  40.         bool    IsFriend(keyA account, keyA companion);
  41.         void    __RemoveFromBlockList(keyA account, keyA companion); // 실제 m_Relation, m_InverseRelation 수정하는 메소드
  42.         void    RemoveFromBlockList(keyA account, keyA companion);
  43.         void    RemoveAllBlockList(keyA account);
  44.         void    EkleLan(keyA account, keyA companion);
  45.         #endif 
  46.  
  47.         void    RemoveAllList(keyA account);
  48.  
  49.         void    Initialize();
  50.  
  51.     private:
  52.         void    SendList(keyA account);
  53.         void    SendLogin(keyA account, keyA companion);
  54.         void    SendLogout(keyA account, keyA companion);
  55.  
  56.         void    LoadList(SQLMsg * pmsg);
  57.  
  58.         #ifdef ENABLE_MESSENGER_BLOCK
  59.         void    SendBlockLogin(keyA account, keyA companion);
  60.         void    SendBlockLogout(keyA account, keyA companion);
  61.         void    LoadBlockList(SQLMsg * pmsg);
  62.         void    SendBlockList(keyA account);
  63.         #endif
  64.  
  65.         void    Destroy();
  66.  
  67.         std::set<keyT>          m_set_loginAccount;
  68.         std::map<keyT, std::set<keyT> > m_Relation;
  69.         std::map<keyT, std::set<keyT> > m_InverseRelation;
  70.         std::set<DWORD>         m_set_requestToAdd;
  71.         #ifdef ENABLE_MESSENGER_BLOCK
  72.         std::map<keyT, std::set<keyT> > m_BlockRelation;
  73.         std::map<keyT, std::set<keyT> > m_InverseBlockRelation;
  74.         std::set<DWORD>         m_set_requestToBlockAdd;
  75.         #endif     
  76. };
  77.  
  78. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement