diff options
author | William Todd Stinson <stinson@lindenlab.com> | 2012-10-16 15:19:31 -0700 |
---|---|---|
committer | William Todd Stinson <stinson@lindenlab.com> | 2012-10-16 15:19:31 -0700 |
commit | 8f9da8b37d1983a2c2c69efec0ec9c8db9230c1a (patch) | |
tree | f99f53363efaa8ebc6379aa7d6f0969760286d14 /indra/viewer_components/updater/llupdatechecker.h | |
parent | 4ddd7968757393657055f61bb51bef7c6e721ebf (diff) | |
parent | e7a5dc7cda09e65f8592793990c494a978a21271 (diff) |
Pull and merge from https://bitbucket.org/lindenlab/viewer-development.
Diffstat (limited to 'indra/viewer_components/updater/llupdatechecker.h')
-rw-r--r-- | indra/viewer_components/updater/llupdatechecker.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/indra/viewer_components/updater/llupdatechecker.h b/indra/viewer_components/updater/llupdatechecker.h index d882169068..23f62a7c5e 100644 --- a/indra/viewer_components/updater/llupdatechecker.h +++ b/indra/viewer_components/updater/llupdatechecker.h @@ -29,6 +29,7 @@ #include <boost/shared_ptr.hpp> +#include "llhttpclient.h" // // Implements asynchronous checking for updates. @@ -36,7 +37,36 @@ class LLUpdateChecker { public: class Client; - class Implementation; + class Implementation: + + public LLHTTPClient::Responder + { + public: + Implementation(Client & client); + ~Implementation(); + void checkVersion(std::string const & protocolVersion, std::string const & hostUrl, + std::string const & servicePath, std::string channel, std::string version); + + // Responder: + virtual void completed(U32 status, + const std::string & reason, + const LLSD& content); + virtual void error(U32 status, const std::string & reason); + + private: + static const char * sProtocolVersion; + + Client & mClient; + LLHTTPClient mHttpClient; + bool mInProgress; + std::string mVersion; + + std::string buildUrl(std::string const & protocolVersion, std::string const & hostUrl, + std::string const & servicePath, std::string channel, std::string version); + + LOG_CLASS(LLUpdateChecker::Implementation); + }; + // An exception that may be raised on check errors. class CheckError; @@ -48,7 +78,7 @@ public: std::string const & servicePath, std::string channel, std::string version); private: - boost::shared_ptr<Implementation> mImplementation; + LLPointer<Implementation> mImplementation; }; |