summaryrefslogtreecommitdiff
path: root/indra/newview/lllandmarklist.h
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2009-06-21 08:04:56 +0000
committerSteven Bennetts <steve@lindenlab.com>2009-06-21 08:04:56 +0000
commit9ec432034dc3c45d7ce763eb02dae4cc7f6b8da8 (patch)
tree4a505c1e0919af52800b3ffb3eaf135e7d6f9ce6 /indra/newview/lllandmarklist.h
parent351ebe9fcb76f3b99c2957004bb8493a904869ee (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.h13
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;
};