summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorymodelbackgroundfetch.h
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-06-21 10:21:52 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-06-21 10:21:52 -0700
commitc8970618567e867b619c9fb5e225978bc5f66781 (patch)
treed5ec9d2f27d887e9a39b1109469ca405b14c6a85 /indra/newview/llinventorymodelbackgroundfetch.h
parent6be9f280ff5b2e2eba3bb9c3f14d7166579d1a49 (diff)
parenta069e0d3db0e0771e54768a702fa18e57415992e (diff)
Merge with q/viewer-release
Diffstat (limited to 'indra/newview/llinventorymodelbackgroundfetch.h')
-rw-r--r--indra/newview/llinventorymodelbackgroundfetch.h86
1 files changed, 30 insertions, 56 deletions
diff --git a/indra/newview/llinventorymodelbackgroundfetch.h b/indra/newview/llinventorymodelbackgroundfetch.h
index c1e37eda8f..04f96586d7 100644
--- a/indra/newview/llinventorymodelbackgroundfetch.h
+++ b/indra/newview/llinventorymodelbackgroundfetch.h
@@ -33,39 +33,15 @@
#ifndef LL_LLINVENTORYMODELBACKGROUNDFETCH_H
#define LL_LLINVENTORYMODELBACKGROUNDFETCH_H
-// Seraph clean this up
-#include "llassettype.h"
-#include "llfoldertype.h"
-#include "lldarray.h"
-#include "llframetimer.h"
-#include "llhttpclient.h"
+#include "llsingleton.h"
#include "lluuid.h"
-#include "llpermissionsflags.h"
-#include "llstring.h"
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-
-// Seraph clean this up
-class LLInventoryObserver;
-class LLInventoryObject;
-class LLInventoryItem;
-class LLInventoryCategory;
-class LLViewerInventoryItem;
-class LLViewerInventoryCategory;
-class LLViewerInventoryItem;
-class LLViewerInventoryCategory;
-class LLMessageSystem;
-class LLInventoryCollectFunctor;
-
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class LLInventoryModelBackgroundFetch
//
-// This class handles background fetch.
+// This class handles background fetches, which are fetches of
+// inventory folder. Fetches can be recursive or not.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
class LLInventoryModelBackgroundFetch : public LLSingleton<LLInventoryModelBackgroundFetch>
{
friend class LLInventoryModelFetchDescendentsResponder;
@@ -75,48 +51,37 @@ public:
~LLInventoryModelBackgroundFetch();
// Start and stop background breadth-first fetching of inventory contents.
- // This gets triggered when performing a filter-search
+ // This gets triggered when performing a filter-search.
void start(const LLUUID& cat_id = LLUUID::null, BOOL recursive = TRUE);
- BOOL backgroundFetchActive();
- bool isEverythingFetched();
- void incrBulkFetch(S16 fetching);
- void stopBackgroundFetch(); // stop fetch process
- bool isBulkFetchProcessingComplete();
- // Add categories to a list to be fetched in bulk.
- void bulkFetch(std::string url);
+ BOOL backgroundFetchActive() const;
+ bool isEverythingFetched() const; // completing the fetch once per session should be sufficient
- bool libraryFetchStarted();
- bool libraryFetchCompleted();
- bool libraryFetchInProgress();
+ bool libraryFetchStarted() const;
+ bool libraryFetchCompleted() const;
+ bool libraryFetchInProgress() const;
- bool inventoryFetchStarted();
- bool inventoryFetchCompleted();
- bool inventoryFetchInProgress();
- void findLostItems();
+ bool inventoryFetchStarted() const;
+ bool inventoryFetchCompleted() const;
+ bool inventoryFetchInProgress() const;
- void setAllFoldersFetched();
+ void findLostItems();
+protected:
+ void incrBulkFetch(S16 fetching);
+ bool isBulkFetchProcessingComplete() const;
+ void bulkFetch(std::string url);
- static void backgroundFetchCB(void*); // background fetch idle function
void backgroundFetch();
-
- struct FetchQueueInfo
- {
- FetchQueueInfo(const LLUUID& id, BOOL recursive) :
- mCatUUID(id), mRecursive(recursive)
- {
- }
- LLUUID mCatUUID;
- BOOL mRecursive;
- };
-protected:
+ static void backgroundFetchCB(void*); // background fetch idle function
+ void stopBackgroundFetch(); // stop fetch process
+
+ void setAllFoldersFetched();
bool fetchQueueContainsNoDescendentsOf(const LLUUID& cat_id) const;
private:
BOOL mRecursiveInventoryFetchStarted;
BOOL mRecursiveLibraryFetchStarted;
BOOL mAllFoldersFetched;
- // completing the fetch once per session should be sufficient
BOOL mBackgroundFetchActive;
S16 mBulkFetchCount;
BOOL mTimelyFetchPending;
@@ -126,6 +91,15 @@ private:
F32 mMinTimeBetweenFetches;
F32 mMaxTimeBetweenFetches;
+ struct FetchQueueInfo
+ {
+ FetchQueueInfo(const LLUUID& id, BOOL recursive) :
+ mCatUUID(id), mRecursive(recursive)
+ {
+ }
+ LLUUID mCatUUID;
+ BOOL mRecursive;
+ };
typedef std::deque<FetchQueueInfo> fetch_queue_t;
fetch_queue_t mFetchQueue;
};