Changeset 6314

Show
Ignore:
Timestamp:
06/15/08 12:10:04 (6 months ago)
Author:
emostar
Message:

Allow the plugins to specify with group to add the user into when the user is added.
Pass the group id as an argument to the LIST_ADD signal.
Needs testing from a gui (once it is implemented) to make sure it works...

Location:
trunk/licq
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/licq/include/licq_icqd.h

    r6306 r6314  
    171171      \param szId The user ID to add. 
    172172      \param nPPID The user's protocol plugin ID. 
     173      \param groupId The group id to add the user into. 
    173174      \param _bAuthRequired True if we need to get authorization first. 
    174175  */ 
    175   void ProtoAddUser(const char *szId, unsigned long nPPID, bool _bAuthRequired = false); 
     176  void ProtoAddUser(const char *szId, unsigned long nPPID, bool _bAuthRequired = false, unsigned short groupId = 0); 
    176177 
    177178  //! Remove a user from the local contact list. 
     
    454455  void icqAlertUser(const char* id, unsigned long ppid); 
    455456  void icqAddUser(unsigned long _nUin, bool _bAuthReq = false); 
    456   void icqAddUser(const char *_szId, bool _bAuthReq = false); 
    457   void icqAddUserServer(const char *_szId, bool _bAuthReq); 
     457  void icqAddUser(const char *_szId, bool _bAuthReq = false, unsigned short groupId = 0); 
     458  void icqAddUserServer(const char *_szId, bool _bAuthReq, unsigned short groupId = 0); 
    458459  void icqAddUserServer(unsigned long _nUin, bool _bAuthReq); 
    459460  void icqAddGroup(const char *); 
     
    571572 
    572573  bool AddUserToList(const char *szId, unsigned long PPID, bool bNotify = true, 
    573                      bool bTempUser = false); 
     574                     bool bTempUser = false, unsigned short groupId = 0); 
    574575  bool AddUserToList(unsigned long _nUin, bool bNotify = true); 
    575576  void AddUserToList(ICQUser *); 
  • trunk/licq/src/icqd-srv.cpp

    r6306 r6314  
    4646 
    4747void CICQDaemon::ProtoAddUser(const char *_szId, unsigned long _nPPID, 
    48                               bool _bAuthRequired) 
     48                              bool _bAuthRequired, unsigned short groupId) 
    4949{ 
    5050  if (_nPPID == LICQ_PPID) 
    51     icqAddUser(_szId, _bAuthRequired); 
     51    icqAddUser(_szId, _bAuthRequired, groupId); 
    5252  else 
    5353    PushProtoSignal(new CAddUserSignal(_szId, _bAuthRequired), _nPPID); 
     
    5555 
    5656//-----icqAddUser---------------------------------------------------------- 
    57 void CICQDaemon::icqAddUser(const char *_szId, bool _bAuthRequired) 
     57void CICQDaemon::icqAddUser(const char *_szId, bool _bAuthRequired, unsigned short groupId) 
    5858{ 
    5959  CSrvPacketTcp *p = new CPU_GenericUinList(_szId, ICQ_SNACxFAM_BUDDY, ICQ_SNACxBDY_ADDxTOxLIST); 
     
    8181 
    8282//-----icqAddUserServer-------------------------------------------------------- 
    83 void CICQDaemon::icqAddUserServer(const char *_szId, bool _bAuthRequired) 
     83void CICQDaemon::icqAddUserServer(const char *_szId, bool _bAuthRequired, 
     84    unsigned short groupId) 
    8485{ 
    8586  CSrvPacketTcp *pStart = 0; 
     
    9596 
    9697  CPU_AddToServerList *pAdd = new CPU_AddToServerList(_szId, ICQ_ROSTxNORMAL, 
    97     0, _bAuthRequired); 
     98    groupId, _bAuthRequired); 
    9899  gLog.Info(tr("%sAdding %s to server list...\n"), L_SRVxSTR, _szId); 
    99100  addToModifyUsers(pAdd->SubSequence(), _szId); 
  • trunk/licq/src/icqd.cpp

    r6306 r6314  
    11661166                                     
    11671167bool CICQDaemon::AddUserToList(const char *szId, unsigned long nPPID, 
    1168                                bool bNotify, bool bTempUser) 
     1168                               bool bNotify, bool bTempUser, unsigned short groupId) 
    11691169{ 
    11701170  // Don't add invalid uins 
     
    11861186  // this notify is for local only adds 
    11871187  if (nPPID == LICQ_PPID && m_nTCPSrvSocketDesc != -1 && bNotify && !bTempUser) 
    1188     icqAddUser(szId); 
     1188    icqAddUser(szId, false, groupId); 
    11891189  else if (nPPID != LICQ_PPID && bNotify) 
    11901190    PushProtoSignal(new CAddUserSignal(szId, false), nPPID); 
    11911191   
    1192   PushPluginSignal(new CICQSignal(SIGNAL_UPDATExLIST, LIST_ADD, szId, nPPID)); 
     1192  PushPluginSignal(new CICQSignal(SIGNAL_UPDATExLIST, LIST_ADD, szId, nPPID, groupId)); 
    11931193 
    11941194  return true; 
  • trunk/licq/src/icqpacket.cpp

    r6306 r6314  
    29772977            { 
    29782978              const UserGroupList& userGroups = u->GetGroups(); 
    2979               for (UserGroupList::iterator i = userGroups.begin(); i != userGroups.end(); ++i) 
     2979              for (UserGroupList::iterator iter = userGroups.begin(); iter != userGroups.end(); ++iter) 
    29802980              { 
    2981                 m_nGSID = gUserManager.GetIDFromGroup(*i); 
     2981                m_nGSID = gUserManager.GetIDFromGroup(*iter); 
    29822982                if (m_nGSID != 0) 
    29832983                  break;