diff options
author | Steven Bennetts <steve@lindenlab.com> | 2009-06-21 08:04:56 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2009-06-21 08:04:56 +0000 |
commit | 9ec432034dc3c45d7ce763eb02dae4cc7f6b8da8 (patch) | |
tree | 4a505c1e0919af52800b3ffb3eaf135e7d6f9ce6 /indra/newview/lllandmarklist.h | |
parent | 351ebe9fcb76f3b99c2957004bb8493a904869ee (diff) |
merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3
ignore-dead-branch
Diffstat (limited to 'indra/newview/lllandmarklist.h')
-rw-r--r-- | indra/newview/lllandmarklist.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h index c41ba7a0f0..ebf1b65e97 100644 --- a/indra/newview/lllandmarklist.h +++ b/indra/newview/lllandmarklist.h @@ -33,6 +33,7 @@ #ifndef LL_LLLANDMARKLIST_H #define LL_LLLANDMARKLIST_H +#include <boost/function.hpp> #include <map> #include "lllandmark.h" #include "lluuid.h" @@ -45,6 +46,8 @@ class LLInventoryItem; class LLLandmarkList { public: + typedef boost::function<void(LLLandmark*)> loaded_callback_t; + LLLandmarkList() {} ~LLLandmarkList(); @@ -53,7 +56,7 @@ public: //const LLLandmark* getNext() { return mList.getNextData(); } BOOL assetExists(const LLUUID& asset_uuid); - LLLandmark* getAsset(const LLUUID& asset_uuid); + LLLandmark* getAsset(const LLUUID& asset_uuid, loaded_callback_t cb = NULL); static void processGetAssetReply( LLVFS *vfs, const LLUUID& uuid, @@ -63,11 +66,19 @@ public: LLExtStat ext_status ); protected: + void onRegionHandle(const LLUUID& landmark_id); + void makeCallbacks(const LLUUID& landmark_id); + typedef std::map<LLUUID, LLLandmark*> landmark_list_t; landmark_list_t mList; typedef std::set<LLUUID> landmark_bad_list_t; landmark_bad_list_t mBadList; + + // *TODO: make the callback multimap a template class and make use of it + // here and in LLLandmark. + typedef std::multimap<LLUUID, loaded_callback_t> loaded_callback_map_t; + loaded_callback_map_t mLoadedCallbackMap; }; |