summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.h
diff options
context:
space:
mode:
authorNyx Linden <nyx@lindenlab.com>2013-01-24 16:22:49 -0500
committerNyx Linden <nyx@lindenlab.com>2013-01-24 16:22:49 -0500
commit11fe124ae96721b0d0f960732e8628fe0e2f84c4 (patch)
treea8525988388de004be72251c0d7783a61d314888 /indra/newview/llappearancemgr.h
parentcebde0a32b4a8163010d9cbf5e6b3036865ed943 (diff)
parentb40fad02de170b5da179cacc22f32f5f25ffd7cb (diff)
merging in viewer-beta.
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
Diffstat (limited to 'indra/newview/llappearancemgr.h')
-rwxr-xr-x[-rw-r--r--]indra/newview/llappearancemgr.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index c1d561781d..bb4c9ee5a2 100644..100755
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -35,7 +35,6 @@
#include "llinventoryobserver.h"
#include "llviewerinventory.h"
-class LLWearable;
class LLWearableHoldingPattern;
class LLInventoryCallback;
class LLOutfitUnLockTimer;
@@ -93,6 +92,9 @@ public:
// Find the Current Outfit folder.
const LLUUID getCOF() const;
+ S32 getCOFVersion() const;
+
+ S32 mLastUpdateRequestCOFVersion;
// Finds the folder link to the currently worn outfit
const LLViewerInventoryItem *getBaseOutfitLink();
@@ -107,6 +109,7 @@ public:
// Update the displayed outfit name in UI.
void updatePanelOutfitName(const std::string& name);
+ void purgeBaseOutfitLink(const LLUUID& category);
void createBaseOutfitLink(const LLUUID& category, LLPointer<LLInventoryCallback> link_waiter);
void updateAgentWearables(LLWearableHoldingPattern* holder, bool append);
@@ -126,15 +129,17 @@ public:
LLPointer<LLInventoryCallback> cb);
// Add COF link to individual item.
- void addCOFItemLink(const LLUUID& item_id, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL);
- void addCOFItemLink(const LLInventoryItem *item, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL);
+ void addCOFItemLink(const LLUUID& item_id, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL, const std::string description = "");
+ void addCOFItemLink(const LLInventoryItem *item, bool do_update = true, LLPointer<LLInventoryCallback> cb = NULL, const std::string description = "");
+ // Find COF entries referencing the given item.
+ LLInventoryModel::item_array_t findCOFItemLinks(const LLUUID& item_id);
+
// Remove COF entries
- void removeCOFItemLinks(const LLUUID& item_id, bool do_update = true);
- void removeCOFLinksOfType(LLWearableType::EType type, bool do_update = true);
-
- // Add COF link to ensemble folder.
- void addEnsembleLink(LLInventoryCategory* item, bool do_update = true);
+ void removeCOFItemLinks(const LLUUID& item_id);
+ void removeCOFLinksOfType(LLWearableType::EType type);
+ void removeAllClothesFromAvatar();
+ void removeAllAttachmentsFromAvatar();
//has the current outfit changed since it was loaded?
bool isOutfitDirty() { return mOutfitIsDirty; }
@@ -162,6 +167,7 @@ public:
bool updateBaseOutfit();
//Remove clothing or detach an object from the agent (a bodypart cannot be removed)
+ void removeItemsFromAvatar(const uuid_vec_t& item_ids);
void removeItemFromAvatar(const LLUUID& item_id);
@@ -182,6 +188,8 @@ public:
bool isInUpdateAppearanceFromCOF() { return mIsInUpdateAppearanceFromCOF; }
+ void requestServerAppearanceUpdate(LLCurl::ResponderPtr responder_ptr = NULL);
+
protected:
LLAppearanceMgr();
~LLAppearanceMgr();
@@ -201,9 +209,7 @@ private:
LLInventoryModel::item_array_t& gest_items,
bool follow_folder_links);
- void purgeCategory(const LLUUID& category, bool keep_outfit_links);
- void purgeBaseOutfitLink(const LLUUID& category);
-
+ void purgeCategory(const LLUUID& category, bool keep_outfit_links, LLInventoryModel::item_array_t* keep_items = NULL);
static void onOutfitRename(const LLSD& notification, const LLSD& response);
void setOutfitLocked(bool locked);