diff options
author | Rider Linden <rider@lindenlab.com> | 2015-05-28 14:02:36 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2015-05-28 14:02:36 -0700 |
commit | aa47516e895fcc6c2ee8f43ee94e4be73a92a9da (patch) | |
tree | 087cfda5ad345a23b1b5ba4b19403c9034f36994 /indra/newview/llsyntaxid.h | |
parent | 7fb7e93a13356655e0827c083072e67fe1823fd4 (diff) |
Convert LSL syntax download to coroutine.
Diffstat (limited to 'indra/newview/llsyntaxid.h')
-rw-r--r-- | indra/newview/llsyntaxid.h | 10 |
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; |