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.h42
1 files changed, 26 insertions, 16 deletions
diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h
index b744d821c7..27bbca493d 100644
--- a/indra/newview/llinventorymodel.h
+++ b/indra/newview/llinventorymodel.h
@@ -72,6 +72,8 @@ class LLInventoryCollectFunctor;
class LLInventoryModel
{
public:
+ friend class LLInventoryModelFetchDescendentsResponder;
+
enum EHasChildren
{
CHILDREN_NO,
@@ -282,9 +284,6 @@ public:
// Make sure we have the descendents in the structure. Returns true
// if a fetch was performed.
bool fetchDescendentsOf(const LLUUID& folder_id);
-
- // Add categories to a list to be fetched in bulk.
- static void bulkFetch(std::string url);
// call this method to request the inventory.
//void requestFromServer(const LLUUID& agent_id);
@@ -369,15 +368,7 @@ public:
// Utility Functions
void removeItem(const LLUUID& item_id);
- // start and stop background breadth-first fetching of inventory contents
- // this gets triggered when performing a filter-search
- static void startBackgroundFetch(const LLUUID& cat_id = LLUUID::null); // start fetch process
static void findLostItems();
- static BOOL backgroundFetchActive();
- 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
@@ -477,14 +468,11 @@ private:
LLUUID mLibraryRootFolderID;
LLUUID mLibraryOwnerID;
- // completing the fetch once per session should be sufficient
- static BOOL sBackgroundFetchActive;
static BOOL sTimelyFetchPending;
static S32 sNumFetchRetries;
static LLFrameTimer sFetchTimer;
static F32 sMinTimeBetweenFetches;
static F32 sMaxTimeBetweenFetches;
- static S16 sBulkFetchCount;
// Expected inventory cache version
const static S32 sCurrentInvCacheVersion;
@@ -510,11 +498,33 @@ private:
public:
// *NOTE: DEBUG functionality
void dumpInventory() const;
- static bool isBulkFetchProcessingComplete();
+
+ ////////////////////////////////////////////////////////////////////////////////
+ // Bulk / Background Fetch
+
+public:
+ // Start and stop background breadth-first fetching of inventory contents.
+ // This gets triggered when performing a filter-search
+ void startBackgroundFetch(const LLUUID& cat_id = LLUUID::null);
+ static BOOL backgroundFetchActive();
+ static bool isEverythingFetched();
+ static void backgroundFetch(void*); // background fetch idle function
+ static void incrBulkFetch(S16 fetching) { sBulkFetchCount+=fetching; if (sBulkFetchCount<0) sBulkFetchCount=0; }
static void stopBackgroundFetch(); // stop fetch process
+ static bool isBulkFetchProcessingComplete();
+
+ // Add categories to a list to be fetched in bulk.
+ static void bulkFetch(std::string url);
- static BOOL sFullFetchStarted;
+private:
+ static BOOL sMyInventoryFetchStarted;
+ static BOOL sLibraryFetchStarted;
static BOOL sAllFoldersFetched;
+ static void setAllFoldersFetched();
+
+ // completing the fetch once per session should be sufficient
+ static BOOL sBackgroundFetchActive;
+ static S16 sBulkFetchCount;
};
// a special inventory model for the agent