LLAvatarTracker Class Reference

#include <llcallingcard.h>

Collaboration diagram for LLAvatarTracker:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< LLUUID,
LLRelationship * > 
buddy_map_t

Public Member Functions

void track (const LLUUID &avatar_id, const std::string &name)
void untrack (const LLUUID &avatar_id)
bool isTrackedAgentValid ()
void setTrackedAgentValid (bool valid)
void findAgent ()
void setTrackedCoarseLocation (const LLVector3d &global_pos)
bool haveTrackingInfo ()
void getDegreesAndDist (F32 &rot, F64 &horiz_dist, F64 &vert_dist)
LLVector3d getGlobalPos ()
const LLStringgetName ()
const LLUUIDgetAvatarID ()
S32 addBuddyList (const buddy_map_t &buddies)
void copyBuddyList (buddy_map_t &buddies) const
void terminateBuddy (const LLUUID &id)
const LLRelationshipgetBuddyInfo (const LLUUID &id) const
void setBuddyOnline (const LLUUID &id, bool is_online)
bool isBuddyOnline (const LLUUID &id) const
void setBuddyEmpowered (const LLUUID &id, bool is_empowered)
bool isBuddyEmpowered (const LLUUID &id) const
void empowerList (const buddy_map_t &list, bool grant)
void empower (const LLUUID &id, bool grant)
void registerCallbacks (LLMessageSystem *msg)
void addObserver (LLFriendObserver *observer)
void removeObserver (LLFriendObserver *observer)
void notifyObservers ()
void applyFunctor (LLRelationshipFunctor &f)
 LLAvatarTracker ()
 ~LLAvatarTracker ()

Static Public Member Functions

static LLAvatarTrackerinstance ()
static void formFriendship (const LLUUID &friend_id)

Protected Types

typedef std::vector
< LLFriendObserver * > 
observer_list_t

Protected Member Functions

void deleteTrackingData ()
void agentFound (const LLUUID &prey, const LLVector3d &estimated_global_pos)
void processNotify (LLMessageSystem *msg, bool online)
void processChange (LLMessageSystem *msg)

Static Protected Member Functions

static void processAgentFound (LLMessageSystem *msg, void **)
static void processOnlineNotification (LLMessageSystem *msg, void **)
static void processOfflineNotification (LLMessageSystem *msg, void **)
static void processTerminateFriendship (LLMessageSystem *msg, void **)
static void processChangeUserRights (LLMessageSystem *msg, void **)

Protected Attributes

LLTrackingDatamTrackingData
bool mTrackedAgentValid
U32 mModifyMask
buddy_map_t mBuddyInfo
observer_list_t mObservers

Static Protected Attributes

static LLAvatarTracker sInstance

Private Member Functions

 LLAvatarTracker (const LLAvatarTracker &)
bool operator== (const LLAvatarTracker &)


Detailed Description

Definition at line 84 of file llcallingcard.h.


Member Typedef Documentation

Definition at line 115 of file llcallingcard.h.

typedef std::vector<LLFriendObserver*> LLAvatarTracker::observer_list_t [protected]

Definition at line 181 of file llcallingcard.h.


Constructor & Destructor Documentation

LLAvatarTracker::LLAvatarTracker ( const LLAvatarTracker  )  [private]

LLAvatarTracker::LLAvatarTracker (  ) 

---------------------------------------------------------------------------- Class LLAvatarTracker ----------------------------------------------------------------------------

Definition at line 125 of file llcallingcard.cpp.

LLAvatarTracker::~LLAvatarTracker (  ) 

Definition at line 134 of file llcallingcard.cpp.

References deleteTrackingData(), mBuddyInfo, and mObservers.

Here is the call graph for this function:


Member Function Documentation

static LLAvatarTracker& LLAvatarTracker::instance (  )  [inline, static]

Definition at line 87 of file llcallingcard.h.

References sInstance.

Referenced by LLPanelFriends::addFriend(), agentFound(), LLPanelFriends::applyRightsToFriends(), LLFloaterWorldMap::buildAvatarIDList(), LLCallingCardBridge::buildContextMenu(), LLIMMgr::defaultIMTypeForAgent(), deliver_message(), LLWorldMapView::draw(), LLNetMap::draw(), LLTracker::drawHUDArrow(), LLFloaterWorldMap::flyToAvatar(), formFriendship(), LLFloaterWorldMap::friendsChanged(), LLAgent::friendsChanged(), LLCallingCardBridge::getIcon(), LLCallingCardBridge::getLabelSuffix(), LLTracker::getTrackedPositionGlobal(), handle_track_avatar(), LLBeginIMSession::handleEvent(), LLPanelFriends::handleRemove(), LLTrackingData::haveTrackingInfo(), idle_startup(), LLIMMgr::inviteToSession(), is_agent_friend(), is_agent_mappable(), LLCallingCardBridge::LLCallingCardBridge(), LLIMMgr::LLIMMgr(), LLPanelFriends::LLPanelFriends(), LLPanelFriends::modifyRightsConfirmation(), LLIMMgr::noteMutedUsers(), LLIMMgr::noteOfflineUsers(), LLFloaterWorldMap::observeFriends(), LLAgent::observeFriends(), LLFloaterWorldMap::onAvatarComboPrearrange(), LLPanelFriends::onClickIM(), LLPanelFriends::onClickProfile(), LLCallingCardBridge::openItem(), CoarseLocationUpdate::post(), processAgentFound(), processChangeUserRights(), processNotify(), processOfflineNotification(), processOnlineNotification(), processTerminateFriendship(), LLPanelFriends::refreshNames(), LLPanelFriends::refreshRightsChangeList(), LLTracker::render3D(), LLPanelAvatar::setAvatarID(), LLPanelAvatar::setOnlineStatus(), LLTracker::stopTrackingAvatar(), LLFloaterWorldMap::teleport(), LLFloaterWorldMap::teleportToAvatar(), LLTracker::trackAvatar(), LLViewerRegion::updateCoarseLocations(), LLCallingCardBridge::~LLCallingCardBridge(), LLIMMgr::~LLIMMgr(), and LLPanelFriends::~LLPanelFriends().

void LLAvatarTracker::track ( const LLUUID avatar_id,
const std::string &  name 
)

void LLAvatarTracker::untrack ( const LLUUID avatar_id  ) 

bool LLAvatarTracker::isTrackedAgentValid (  )  [inline]

Definition at line 91 of file llcallingcard.h.

References mTrackedAgentValid.

void LLAvatarTracker::setTrackedAgentValid ( bool  valid  )  [inline]

Definition at line 92 of file llcallingcard.h.

References mTrackedAgentValid.

Referenced by agentFound().

Here is the caller graph for this function:

void LLAvatarTracker::findAgent (  ) 

void LLAvatarTracker::setTrackedCoarseLocation ( const LLVector3d global_pos  ) 

Definition at line 179 of file llcallingcard.cpp.

References mTrackingData, and LLTrackingData::setTrackedCoarseLocation().

Referenced by CoarseLocationUpdate::post(), and LLViewerRegion::updateCoarseLocations().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLAvatarTracker::haveTrackingInfo (  ) 

Definition at line 187 of file llcallingcard.cpp.

References LLTrackingData::haveTrackingInfo(), and mTrackingData.

Referenced by LLTracker::getTrackedPositionGlobal(), LLTracker::render3D(), LLFloaterWorldMap::teleport(), and LLFloaterWorldMap::teleportToAvatar().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::getDegreesAndDist ( F32 rot,
F64 horiz_dist,
F64 vert_dist 
)

LLVector3d LLAvatarTracker::getGlobalPos (  ) 

const LLString & LLAvatarTracker::getName ( void   ) 

Definition at line 243 of file llcallingcard.cpp.

References LLTrackingData::mName, mTrackingData, and LLStringBase< char >::null.

Referenced by LLTracker::render3D().

Here is the caller graph for this function:

const LLUUID & LLAvatarTracker::getAvatarID (  ) 

S32 LLAvatarTracker::addBuddyList ( const buddy_map_t buddies  ) 

Definition at line 267 of file llcallingcard.cpp.

References LLFriendObserver::ADD, gCacheName, LLCacheName::getName(), LLRelationship::getRightsGrantedTo(), LLRelationship::isOnline(), lldebugs, llendl, llwarns, mBuddyInfo, mModifyMask, and notifyObservers().

Referenced by idle_startup().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::copyBuddyList ( buddy_map_t buddies  )  const

Definition at line 307 of file llcallingcard.cpp.

References mBuddyInfo.

Referenced by LLPanelFriends::refreshNames().

Here is the caller graph for this function:

void LLAvatarTracker::terminateBuddy ( const LLUUID id  ) 

const LLRelationship * LLAvatarTracker::getBuddyInfo ( const LLUUID id  )  const

void LLAvatarTracker::setBuddyOnline ( const LLUUID id,
bool  is_online 
)

Definition at line 343 of file llcallingcard.cpp.

References get_ptr_in_map(), lldebugs, llendl, llwarns, mBuddyInfo, mModifyMask, LLFriendObserver::ONLINE, and LLRelationship::online().

Referenced by processNotify().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLAvatarTracker::isBuddyOnline ( const LLUUID id  )  const

Definition at line 359 of file llcallingcard.cpp.

References get_ptr_in_map(), LLRelationship::isOnline(), and mBuddyInfo.

Referenced by LLCallingCardBridge::buildContextMenu(), LLCallingCardBridge::getIcon(), LLBeginIMSession::handleEvent(), LLPanelFriends::onClickProfile(), and LLCallingCardBridge::openItem().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::setBuddyEmpowered ( const LLUUID id,
bool  is_empowered 
)

Definition at line 370 of file llcallingcard.cpp.

References get_ptr_in_map(), LLRelationship::GRANT_MODIFY_OBJECTS, LLRelationship::grantRights(), mBuddyInfo, mModifyMask, and LLFriendObserver::POWERS.

Here is the call graph for this function:

bool LLAvatarTracker::isBuddyEmpowered ( const LLUUID id  )  const

Definition at line 380 of file llcallingcard.cpp.

References get_ptr_in_map(), LLRelationship::GRANT_MODIFY_OBJECTS, LLRelationship::isRightGrantedTo(), and mBuddyInfo.

Here is the call graph for this function:

void LLAvatarTracker::empowerList ( const buddy_map_t list,
bool  grant 
)

Definition at line 400 of file llcallingcard.cpp.

References llendl, and llwarns.

void LLAvatarTracker::empower ( const LLUUID id,
bool  grant 
)

Definition at line 390 of file llcallingcard.cpp.

Referenced by LLPanelFriends::handleRemove().

Here is the caller graph for this function:

void LLAvatarTracker::registerCallbacks ( LLMessageSystem msg  ) 

void LLAvatarTracker::addObserver ( LLFriendObserver observer  ) 

void LLAvatarTracker::removeObserver ( LLFriendObserver observer  ) 

Definition at line 488 of file llcallingcard.cpp.

References mObservers.

Referenced by LLCallingCardBridge::~LLCallingCardBridge(), LLIMMgr::~LLIMMgr(), and LLPanelFriends::~LLPanelFriends().

Here is the caller graph for this function:

void LLAvatarTracker::notifyObservers (  ) 

Definition at line 495 of file llcallingcard.cpp.

References mModifyMask, mObservers, and LLFriendObserver::NONE.

Referenced by addBuddyList(), formFriendship(), LLPanelFriends::handleRemove(), processChange(), processNotify(), and processTerminateFriendship().

Here is the caller graph for this function:

void LLAvatarTracker::applyFunctor ( LLRelationshipFunctor f  ) 

Definition at line 507 of file llcallingcard.cpp.

References mBuddyInfo.

Referenced by LLFloaterWorldMap::buildAvatarIDList(), and LLAgent::friendsChanged().

Here is the caller graph for this function:

void LLAvatarTracker::formFriendship ( const LLUUID friend_id  )  [static]

Definition at line 696 of file llcallingcard.cpp.

References LLFriendObserver::ADD, get_ptr_in_map(), LLRelationship::GRANT_ONLINE_STATUS, instance(), mBuddyInfo, mModifyMask, and notifyObservers().

Referenced by friendship_offer_callback(), and process_improved_im().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::deleteTrackingData (  )  [protected]

Definition at line 455 of file llcallingcard.cpp.

References mTrackingData, and NULL.

Referenced by processNotify(), track(), untrack(), and ~LLAvatarTracker().

Here is the caller graph for this function:

void LLAvatarTracker::agentFound ( const LLUUID prey,
const LLVector3d estimated_global_pos 
) [protected]

Definition at line 547 of file llcallingcard.cpp.

References LLTrackingData::agentFound(), instance(), mTrackingData, and setTrackedAgentValid().

Referenced by processAgentFound().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processAgentFound ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 531 of file llcallingcard.cpp.

References _PREHASH_AgentBlock, _PREHASH_GlobalX, _PREHASH_GlobalY, _PREHASH_Hunter, _PREHASH_LocationBlock, _PREHASH_Prey, agentFound(), LLMessageSystem::getF64Fast(), LLMessageSystem::getUUIDFast(), instance(), LLVector3d::mdV, VX, and VY.

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processOnlineNotification ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 558 of file llcallingcard.cpp.

References instance(), lldebugs, llendl, and processNotify().

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processOfflineNotification ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 565 of file llcallingcard.cpp.

References instance(), lldebugs, llendl, and processNotify().

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processTerminateFriendship ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 714 of file llcallingcard.cpp.

References get_ptr_in_map(), LLMessageSystem::getUUID(), instance(), mBuddyInfo, mModifyMask, notifyObservers(), and LLFriendObserver::REMOVE.

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processChangeUserRights ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 619 of file llcallingcard.cpp.

References instance(), lldebugs, llendl, and processChange().

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAvatarTracker::processNotify ( LLMessageSystem msg,
bool  online 
) [protected]

void LLAvatarTracker::processChange ( LLMessageSystem msg  )  [protected]

bool LLAvatarTracker::operator== ( const LLAvatarTracker  )  [private]


Member Data Documentation

Definition at line 172 of file llcallingcard.h.

Referenced by instance().

Definition at line 182 of file llcallingcard.h.

Referenced by addObserver(), notifyObservers(), removeObserver(), and ~LLAvatarTracker().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:39:26 2008 for SecondLife by  doxygen 1.5.5