00001
00032 #ifndef LL_LLWEARABLELIST_H
00033 #define LL_LLWEARABLELIST_H
00034
00035 #include "llwearable.h"
00036 #include "lluuid.h"
00037 #include "llassetstorage.h"
00038
00039 class LLWearableList
00040 {
00041 public:
00042 LLWearableList() {}
00043 ~LLWearableList();
00044
00045 S32 getLength() { return mList.size(); }
00046
00047 void getAsset(
00048 const LLAssetID& assetID,
00049 const LLString& wearable_name,
00050 LLAssetType::EType asset_type,
00051 void(*asset_arrived_callback)(LLWearable*, void* userdata),
00052 void* userdata );
00053
00054 LLWearable* createWearableMatchedToInventoryItem( LLWearable* old_wearable, LLViewerInventoryItem* item );
00055 LLWearable* createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name = std::string() );
00056 LLWearable* createCopy( LLWearable* old_wearable );
00057 LLWearable* createNewWearable( EWearableType type );
00058
00059
00060 static void processGetAssetReply(const char* filename, const LLAssetID& assetID, void* user_data, S32 status, LLExtStat ext_status);
00061
00062 protected:
00063 std::map< LLUUID, LLWearable* > mList;
00064 };
00065
00066 extern LLWearableList gWearableList;
00067
00068 #endif // LL_LLWEARABLELIST_H