Changeset 6370

Show
Ignore:
Timestamp:
07/01/08 05:55:33 (3 months ago)
Author:
flynd
Message:

Added function to get user id of an owner. Added a DropOwner?() that takes the locked object as parameter like the other drop functions.

Location:
trunk/licq
Files:
2 modified

Legend:

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

    r6364 r6370  
    12651265  ICQOwner *FetchOwner(unsigned long, unsigned short); 
    12661266  void DropOwner(unsigned long); 
     1267 
     1268  /** 
     1269   * Release owner lock 
     1270   */ 
     1271  void DropOwner(ICQOwner* owner); 
     1272 
    12671273  bool IsOnList(const char *, unsigned long); 
    12681274  ICQOwner *FindOwner(const char *, unsigned long); 
     1275 
     1276  /** 
     1277   * Get user id for an owner 
     1278   * 
     1279   * @param ppid Protocol id 
     1280   * @return User id of owner or empty string if no such owner exists 
     1281   */ 
     1282  std::string OwnerId(unsigned long ppid); 
    12691283 
    12701284  // ICQ Protocol only (from original Licq) 
  • trunk/licq/src/user.cpp

    r6364 r6370  
    835835} 
    836836 
     837string CUserManager::OwnerId(unsigned long ppid) 
     838{ 
     839  ICQOwner* owner = FetchOwner(ppid, LOCK_R); 
     840  if (owner == NULL) 
     841    return ""; 
     842 
     843  string ret = owner->IdString(); 
     844  DropOwner(ppid); 
     845  return ret; 
     846} 
     847 
    837848/*--------------------------------------------------------------------------- 
    838849 * CUserManager::AddUser 
     
    13681379  } 
    13691380  UnlockOwnerList(); 
     1381} 
     1382 
     1383void CUserManager::DropOwner(ICQOwner* owner) 
     1384{ 
     1385  if (owner == NULL) 
     1386    return; 
     1387  owner->Unlock(); 
    13701388} 
    13711389