00001 00032 #ifndef LL_LLLANDMARKLIST_H 00033 #define LL_LLLANDMARKLIST_H 00034 00035 #include <map> 00036 #include "lllandmark.h" 00037 #include "lluuid.h" 00038 #include "llassetstorage.h" 00039 00040 class LLMessageSystem; 00041 class LLLineEditor; 00042 class LLInventoryItem; 00043 00044 class LLLandmarkList 00045 { 00046 public: 00047 LLLandmarkList() {} 00048 ~LLLandmarkList(); 00049 00050 //S32 getLength() { return mList.getLength(); } 00051 //const LLLandmark* getFirst() { return mList.getFirstData(); } 00052 //const LLLandmark* getNext() { return mList.getNextData(); } 00053 00054 BOOL assetExists(const LLUUID& asset_uuid); 00055 LLLandmark* getAsset(const LLUUID& asset_uuid); 00056 static void processGetAssetReply( 00057 LLVFS *vfs, 00058 const LLUUID& uuid, 00059 LLAssetType::EType type, 00060 void* user_data, 00061 S32 status, 00062 LLExtStat ext_status ); 00063 00064 protected: 00065 typedef std::map<LLUUID, LLLandmark*> landmark_list_t; 00066 landmark_list_t mList; 00067 00068 typedef std::set<LLUUID> landmark_bad_list_t; 00069 landmark_bad_list_t mBadList; 00070 }; 00071 00072 00073 extern LLLandmarkList gLandmarkList; 00074 00075 #endif // LL_LLLANDMARKLIST_H