summaryrefslogtreecommitdiff
path: root/indra/newview/llcallingcard.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llcallingcard.h')
-rw-r--r--indra/newview/llcallingcard.h10
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&);