summaryrefslogtreecommitdiff
path: root/indra/newview/llsyntaxid.h
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2015-05-28 14:02:36 -0700
committerRider Linden <rider@lindenlab.com>2015-05-28 14:02:36 -0700
commitaa47516e895fcc6c2ee8f43ee94e4be73a92a9da (patch)
tree087cfda5ad345a23b1b5ba4b19403c9034f36994 /indra/newview/llsyntaxid.h
parent7fb7e93a13356655e0827c083072e67fe1823fd4 (diff)
Convert LSL syntax download to coroutine.
Diffstat (limited to 'indra/newview/llsyntaxid.h')
-rw-r--r--indra/newview/llsyntaxid.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llsyntaxid.h b/indra/newview/llsyntaxid.h
index 504fb0997e..47de94cea2 100644
--- a/indra/newview/llsyntaxid.h
+++ b/indra/newview/llsyntaxid.h
@@ -31,6 +31,8 @@
#include "llviewerprecompiledheaders.h"
#include "llsingleton.h"
+#include "lleventcoro.h"
+#include "llcoros.h"
class fetchKeywordsFileResponder;
@@ -40,7 +42,7 @@ class LLSyntaxIdLSL : public LLSingleton<LLSyntaxIdLSL>
friend class fetchKeywordsFileResponder;
private:
- std::list<std::string> mInflightFetches;
+ std::set<std::string> mInflightFetches;
typedef boost::signals2::signal<void()> syntax_id_changed_signal_t;
syntax_id_changed_signal_t mSyntaxIDChangedSignal;
boost::signals2::connection mRegionChangedCallback;
@@ -49,13 +51,15 @@ private:
bool isSupportedVersion(const LLSD& content);
void handleRegionChanged();
void handleCapsReceived(const LLUUID& region_uuid);
- void handleFileFetched(const std::string& filepath);
void setKeywordsXml(const LLSD& content) { mKeywordsXml = content; };
void buildFullFileSpec();
void fetchKeywordsFile(const std::string& filespec);
void loadDefaultKeywordsIntoLLSD();
void loadKeywordsIntoLLSD();
-
+
+ void fetchKeywordsFileCoro(LLCoros::self& self, std::string url, std::string fileSpec);
+ void cacheFile(const std::string &fileSpec, const LLSD& content_ref);
+
std::string mCapabilityURL;
std::string mFullFileSpec;
ELLPath mFilePath;