diff options
author | Cho <cho@lindenlab.com> | 2013-07-03 01:38:30 +0100 |
---|---|---|
committer | Cho <cho@lindenlab.com> | 2013-07-03 01:38:30 +0100 |
commit | b070533bdaa78fb2d94ec49a2ea3d9a9ada3d437 (patch) | |
tree | 59c17a38ac8343e27d247a44f82ee3b1644feff4 /indra | |
parent | eef8579dd7f9af558041d4d3a4b4aeb39bf280a1 (diff) |
added FB_POSTING and PB_POST_FAILED states to LLFacebookConnect for ACME-663
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfacebookconnect.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llfacebookconnect.h | 6 |
2 files changed, 17 insertions, 5 deletions
diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp index 8a86ff6377..30fb63084b 100644 --- a/indra/newview/llfacebookconnect.cpp +++ b/indra/newview/llfacebookconnect.cpp @@ -128,8 +128,15 @@ class LLFacebookShareResponder : public LLHTTPClient::Responder LOG_CLASS(LLFacebookShareResponder); public: - LLFacebookShareResponder() {} - LLFacebookShareResponder(LLFacebookConnect::share_callback_t cb) : mShareCallback(cb) {} + LLFacebookShareResponder() + { + LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_POSTING); + } + + LLFacebookShareResponder(LLFacebookConnect::share_callback_t cb) : mShareCallback(cb) + { + LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_POSTING); + } virtual void completed(U32 status, const std::string& reason, const LLSD& content) { @@ -137,9 +144,12 @@ public: { toast_user_for_success(); LL_DEBUGS("FacebookConnect") << "Post successful. content: " << content << LL_ENDL; + + LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_CONNECTED); } else { + LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_POST_FAILED); log_facebook_connect_error("Share", status, reason, content.get("error_code"), content.get("error_description")); } @@ -300,7 +310,7 @@ void LLFacebookConnect::disconnectFromFacebook() void LLFacebookConnect::checkConnectionToFacebook(bool auto_connect) { - if ((mConnectionState == FB_NOT_CONNECTED) || (mConnectionState == FB_CONNECTION_FAILED)) + if ((mConnectionState == FB_NOT_CONNECTED) || (mConnectionState == FB_CONNECTION_FAILED) || (mConnectionState == FB_POST_FAILED)) { const bool follow_redirects = false; const F32 timeout = HTTP_REQUEST_EXPIRY_SECS; diff --git a/indra/newview/llfacebookconnect.h b/indra/newview/llfacebookconnect.h index 4e95fc3545..7d6bca5a25 100644 --- a/indra/newview/llfacebookconnect.h +++ b/indra/newview/llfacebookconnect.h @@ -48,7 +48,9 @@ public: FB_NOT_CONNECTED = 0, FB_CONNECTION_IN_PROGRESS = 1, FB_CONNECTED = 2, - FB_CONNECTION_FAILED = 3 + FB_CONNECTION_FAILED = 3, + FB_POSTING = 4, + FB_POST_FAILED = 5 }; typedef boost::function<void(bool ok)> share_callback_t; @@ -74,7 +76,7 @@ public: const LLSD& getContent() const; void setConnectionState(EConnectionState connection_state); - bool isConnected() { return (mConnectionState == FB_CONNECTED); } + bool isConnected() { return ((mConnectionState == FB_CONNECTED) || (mConnectionState == FB_POSTING)); } S32 generation() { return mGeneration; } void openFacebookWeb(std::string url); |