summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorymodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llinventorymodel.h')
-rw-r--r--indra/newview/llinventorymodel.h31
1 files changed, 26 insertions, 5 deletions
diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h
index 46288700d2..950e8866bb 100644
--- a/indra/newview/llinventorymodel.h
+++ b/indra/newview/llinventorymodel.h
@@ -204,7 +204,7 @@ public:
// Calling this method with an inventory item will either change
// an existing item with a matching item_id, or will add the item
// to the current inventory. Returns the change mask generated by
- // the update. No notifcation will be sent to observers. This
+ // the update. No notification will be sent to observers. This
// method will only generate network traffic if the item had to be
// reparented.
// *NOTE: In usage, you will want to perform cache accounting
@@ -231,7 +231,7 @@ public:
// delete a particular inventory object by ID. This will purge one
// object from the internal data structures maintaining a
- // cosistent internal state. No cache accounting, observer
+ // consistent internal state. No cache accounting, observer
// notification, or server update is performed. Purges linked items.
void deleteObject(const LLUUID& id);
@@ -240,12 +240,12 @@ public:
void purgeObject(const LLUUID& id);
void purgeLinkedObjects(const LLUUID& id);
- // This is a method which collects the descendents of the id
+ // This is a method which collects the descendants of the id
// provided. If the category is not found, no action is
// taken. This method goes through the long winded process of
// removing server representation of folders and items while doing
// cache accounting in a fairly efficient manner. This method does
- // not notify observers (though maybe it shouldd...)
+ // not notify observers (though maybe it should...)
void purgeDescendentsOf(const LLUUID& id);
// This method optimally removes the referenced categories and
@@ -394,6 +394,22 @@ public:
static bool isEverythingFetched();
static void backgroundFetch(void*); // background fetch idle function
static void incrBulkFetch(S16 fetching) { sBulkFetchCount+=fetching; if (sBulkFetchCount<0) sBulkFetchCount=0; }
+
+
+ // Data about the agent's root folder and root library folder
+ // are stored here, rather than in LLAgent where it used to be, because
+ // gInventory is a singleton and represents the agent's inventory.
+ // The "library" is actually the inventory of a special agent,
+ // usually Alexandria Linden.
+ LLUUID getRootFolderID() const;
+ LLUUID getLibraryOwnerID() const;
+ LLUUID getLibraryRootFolderID() const;
+
+ // These are set during login with data from the server
+ void setRootFolderID(const LLUUID& id);
+ void setLibraryOwnerID(const LLUUID& id);
+ void setLibraryRootFolderID(const LLUUID& id);
+
protected:
// Internal methods which add inventory and make sure that all of
@@ -446,7 +462,7 @@ protected:
item_array_t* getUnlockedItemArray(const LLUUID& id);
protected:
- // Varaibles used to track what has changed since the last notify.
+ // Variables used to track what has changed since the last notify.
U32 mModifyMask;
typedef std::set<LLUUID> changed_items_t;
changed_items_t mChangedItemIDs;
@@ -477,6 +493,11 @@ protected:
typedef std::set<LLInventoryObserver*> observer_list_t;
observer_list_t mObservers;
+ // Agent inventory folder information.
+ LLUUID mRootFolderID;
+ LLUUID mLibraryRootFolderID;
+ LLUUID mLibraryOwnerID;
+
// completing the fetch once per session should be sufficient
static BOOL sBackgroundFetchActive;
static BOOL sTimelyFetchPending;