diff options
Diffstat (limited to 'indra/newview/llcallingcard.h')
-rw-r--r-- | indra/newview/llcallingcard.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h index 228239b5ba..bd58b2fbe6 100644 --- a/indra/newview/llcallingcard.h +++ b/indra/newview/llcallingcard.h @@ -150,6 +150,12 @@ public: void removeObserver(LLFriendObserver* observer); void notifyObservers(); + // Observers interested in updates of a particular avatar. + // On destruction these observers are NOT deleted. + void addParticularFriendObserver(const LLUUID& buddy_id, LLFriendObserver* observer); + void removeParticularFriendObserver(const LLUUID& buddy_id, LLFriendObserver* observer); + void notifyParticularFriendObservers(const LLUUID& buddy_id); + /** * Stores flag for change and id of object change applies to * @@ -199,6 +205,10 @@ protected: typedef std::vector<LLFriendObserver*> observer_list_t; observer_list_t mObservers; + typedef std::set<LLFriendObserver*> observer_set_t; + typedef std::map<LLUUID, observer_set_t> observer_map_t; + observer_map_t mParticularFriendObserverMap; + private: // do not implement LLAvatarTracker(const LLAvatarTracker&); |