From aba8d5e488d771f3d30ee75f0fbca30747adb7d1 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 9 Jun 2015 13:06:09 -0700
Subject: Removed homelocation responder (rolled into llagent) Removed
 sdhandler from llagent. Removed unused values from llacountingccostmgr Fixed
 smart pontier creation in llfacebook

---
 indra/llmessage/llavatarnamecache.cpp     |   1 -
 indra/newview/CMakeLists.txt              |   2 -
 indra/newview/llaccountingcostmanager.cpp |   4 --
 indra/newview/llaccountingcostmanager.h   |   2 -
 indra/newview/llagent.cpp                 | 100 +++++++++++++--------------
 indra/newview/llagent.h                   |  12 +---
 indra/newview/llfacebookconnect.cpp       |  10 +--
 indra/newview/llhomelocationresponder.cpp | 108 ------------------------------
 indra/newview/llhomelocationresponder.h   |  44 ------------
 9 files changed, 58 insertions(+), 225 deletions(-)
 delete mode 100755 indra/newview/llhomelocationresponder.cpp
 delete mode 100755 indra/newview/llhomelocationresponder.h

diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp
index 5d9daca37a..e4b8642c4d 100755
--- a/indra/llmessage/llavatarnamecache.cpp
+++ b/indra/llmessage/llavatarnamecache.cpp
@@ -135,7 +135,6 @@ namespace LLAvatarNameCache
 	// Erase expired names from cache
 	void eraseUnrefreshed();
 
-    //bool expirationFromCacheControl(LLCore::HttpHeaders *headers, F64 *expires);
     bool expirationFromCacheControl(const LLSD& headers, F64 *expires);
 
     // This is a coroutine.  The only parameter that can be specified as a reference is the self
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 3553e3a612..bebc82e847 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -326,7 +326,6 @@ set(viewer_SOURCE_FILES
     llgroupmgr.cpp
     llhasheduniqueid.cpp
     llhints.cpp
-    llhomelocationresponder.cpp
     llhttpretrypolicy.cpp
     llhudeffect.cpp
     llhudeffectbeam.cpp
@@ -931,7 +930,6 @@ set(viewer_HEADER_FILES
     llhasheduniqueid.h
     llhints.h
     llhttpretrypolicy.h
-    llhomelocationresponder.h
     llhudeffect.h
     llhudeffectbeam.h
     llhudeffectlookat.h
diff --git a/indra/newview/llaccountingcostmanager.cpp b/indra/newview/llaccountingcostmanager.cpp
index 6337fbe444..f928c84ecb 100755
--- a/indra/newview/llaccountingcostmanager.cpp
+++ b/indra/newview/llaccountingcostmanager.cpp
@@ -35,13 +35,9 @@
 //===============================================================================
 LLAccountingCostManager::LLAccountingCostManager():
     mHttpRequest(),
-    mHttpHeaders(),
-    mHttpOptions(),
     mHttpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID)
 {	
     mHttpRequest = LLCore::HttpRequest::ptr_t(new LLCore::HttpRequest());
-    mHttpHeaders = LLCore::HttpHeaders::ptr_t(new LLCore::HttpHeaders(), false);
-    mHttpOptions = LLCore::HttpOptions::ptr_t(new LLCore::HttpOptions(), false);
     //mHttpPolicy = LLCore::HttpRequest::DEFAULT_POLICY_ID;
 
 }
diff --git a/indra/newview/llaccountingcostmanager.h b/indra/newview/llaccountingcostmanager.h
index f4d45d43cb..34748894e3 100755
--- a/indra/newview/llaccountingcostmanager.h
+++ b/indra/newview/llaccountingcostmanager.h
@@ -80,8 +80,6 @@ private:
     void accountingCostCoro(LLCoros::self& self, std::string url, eSelectionType selectionType, const LLHandle<LLAccountingCostObserver> observerHandle);
 
     LLCore::HttpRequest::ptr_t		mHttpRequest;
-    LLCore::HttpHeaders::ptr_t		mHttpHeaders;
-    LLCore::HttpOptions::ptr_t		mHttpOptions;
     LLCore::HttpRequest::policy_t	mHttpPolicy;
 };
 //===============================================================================
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index df304d66c3..230447b256 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -52,7 +52,6 @@
 #include "llfloatertools.h"
 #include "llgroupactions.h"
 #include "llgroupmgr.h"
-#include "llhomelocationresponder.h"
 #include "llhudmanager.h"
 #include "lljoystickbutton.h"
 #include "llmorphview.h"
@@ -95,7 +94,6 @@
 #include "lscript_byteformat.h"
 #include "stringize.h"
 #include "boost/foreach.hpp"
-#include "llhttpsdhandler.h"
 #include "llcorehttputil.h"
 
 using namespace LLAvatarAppearanceDefines;
@@ -363,11 +361,7 @@ LLAgent::LLAgent() :
 	mMaturityPreferenceNumRetries(0U),
 	mLastKnownRequestMaturity(SIM_ACCESS_MIN),
 	mLastKnownResponseMaturity(SIM_ACCESS_MIN),
-	mHttpRequest(),
-	mHttpHeaders(),
-	mHttpOptions(),
 	mHttpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID),
-	mHttpPriority(0),
 	mTeleportState(TELEPORT_NONE),
 	mRegionp(NULL),
 
@@ -470,15 +464,8 @@ void LLAgent::init()
 
 	LLAppCoreHttp & app_core_http(LLAppViewer::instance()->getAppCoreHttp());
 
-	mHttpRequest = LLCore::HttpRequest::ptr_t(new LLCore::HttpRequest());
-	mHttpHeaders = LLCore::HttpHeaders::ptr_t(new LLCore::HttpHeaders(), false);
-	mHttpOptions = LLCore::HttpOptions::ptr_t(new LLCore::HttpOptions(), false);
 	mHttpPolicy = app_core_http.getPolicy(LLAppCoreHttp::AP_AGENT);
 
-    // Now ensure that we get regular callbacks to poll for completion.
-    mBoundListener = LLEventPumps::instance().obtain("mainloop").
-        listen(LLEventPump::inventName(), boost::bind(&LLAgent::pollHttp, this, _1));
-
 	mInitialized = TRUE;
 }
 
@@ -496,10 +483,6 @@ void LLAgent::cleanup()
 	{
 		mTeleportFailedSlot.disconnect();
 	}
-    if (mBoundListener.connected())
-    {
-        mBoundListener.disconnect();
-    }
 }
 
 //-----------------------------------------------------------------------------
@@ -522,17 +505,6 @@ LLAgent::~LLAgent()
 	mTeleportSourceSLURL = NULL;
 }
 
-//-----------------------------------------------------------------------------
-// pollHttp
-//  Polling done once per frame on the "mainloop" to support HTTP processing.
-//-----------------------------------------------------------------------------
-bool LLAgent::pollHttp(const LLSD&)
-{
-    mHttpRequest->update(0L);
-    return false;
-}
-
-
 // Handle any actions that need to be performed when the main app gains focus
 // (such as through alt-tab).
 //-----------------------------------------------------------------------------
@@ -2359,27 +2331,9 @@ void LLAgent::setStartPosition( U32 location_id )
 
     body["HomeLocation"] = homeLocation;
 
-    // This awkward idiom warrants explanation.
-    // For starters, LLSDMessage::ResponderAdapter is ONLY for testing the new
-    // LLSDMessage functionality with a pre-existing LLHTTPClient::Responder.
-    // In new code, define your reply/error methods on the same class as the
-    // sending method, bind them to local LLEventPump objects and pass those
-    // LLEventPump names in the request LLSD object.
-    // When testing old code, the new LLHomeLocationResponder object
-    // is referenced by an LLHTTPClient::ResponderPtr, so when the
-    // ResponderAdapter is deleted, the LLHomeLocationResponder will be too.
-    // We must trust that the underlying LLHTTPClient code will eventually
-    // fire either the reply callback or the error callback; either will cause
-    // the ResponderAdapter to delete itself.
-    LLSDMessage::ResponderAdapter*
-        adapter(new LLSDMessage::ResponderAdapter(new LLHomeLocationResponder()));
-
-    request["message"] = "HomeLocation";
-    request["payload"] = body;
-    request["reply"]   = adapter->getReplyName();
-    request["error"]   = adapter->getErrorName();
-
-    gAgent.getRegion()->getCapAPI().post(request);
+    if (!requestPostCapability("HomeLocation", body, 
+            boost::bind(&LLAgent::setStartPositionSuccess, this, _1)))
+        LL_WARNS() << "Unable to post to HomeLocation capability." << LL_ENDL;
 
     const U32 HOME_INDEX = 1;
     if( HOME_INDEX == location_id )
@@ -2388,6 +2342,53 @@ void LLAgent::setStartPosition( U32 location_id )
     }
 }
 
+void LLAgent::setStartPositionSuccess(const LLSD &result)
+{
+    LLVector3 agent_pos;
+    bool      error = true;
+
+    do {
+        // was the call to /agent/<agent-id>/home-location successful?
+        // If not, we keep error set to true
+        if (!result.has("success"))
+            break;
+
+        if (0 != strncmp("true", result["success"].asString().c_str(), 4))
+            break;
+
+        // did the simulator return a "justified" home location?
+        // If no, we keep error set to true
+        if (!result.has("HomeLocation"))
+            break;
+
+        if ((!result["HomeLocation"].has("LocationPos")) ||
+                (!result["HomeLocation"]["LocationPos"].has("X")) ||
+                (!result["HomeLocation"]["LocationPos"].has("Y")) ||
+                (!result["HomeLocation"]["LocationPos"].has("Z")))
+            break;
+
+        agent_pos.mV[VX] = result["HomeLocation"]["LocationPos"]["X"].asInteger();
+        agent_pos.mV[VY] = result["HomeLocation"]["LocationPos"]["Y"].asInteger();
+        agent_pos.mV[VZ] = result["HomeLocation"]["LocationPos"]["Z"].asInteger();
+
+        error = false;
+
+    } while (0);
+
+    if (error)
+    {
+        LL_WARNS() << "Error in response to home position set." << LL_ENDL;
+    }
+    else
+    {
+        LL_INFOS() << "setting home position" << LL_ENDL;
+
+        LLViewerRegion *viewer_region = gAgent.getRegion();
+        setHomePosRegion(viewer_region->getHandle(), agent_pos);
+    }
+}
+
+#if 1
 struct HomeLocationMapper: public LLCapabilityListener::CapabilityMapper
 {
     // No reply message expected
@@ -2414,6 +2415,7 @@ struct HomeLocationMapper: public LLCapabilityListener::CapabilityMapper
 };
 // Need an instance of this class so it will self-register
 static HomeLocationMapper homeLocationMapper;
+#endif
 
 void LLAgent::requestStopMotion( LLMotion* motion )
 {
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 745c0b063a..0ba3dea427 100755
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -62,7 +62,6 @@ class LLSLURL;
 class LLPauseRequestHandle;
 class LLUIColor;
 class LLTeleportRequest;
-class LLHttpSDHandler;
 
 
 
@@ -234,6 +233,8 @@ public:
 	void			setHomePosRegion(const U64& region_handle, const LLVector3& pos_region);
 	BOOL			getHomePosGlobal(LLVector3d* pos_global);
 private:
+    void            setStartPositionSuccess(const LLSD &result);
+
 	BOOL 			mHaveHomePosition;
 	U64				mHomeRegionHandle;
 	LLVector3		mHomePosRegion;
@@ -767,12 +768,7 @@ private:
 	unsigned int                    mMaturityPreferenceNumRetries;
 	U8                              mLastKnownRequestMaturity;
 	U8                              mLastKnownResponseMaturity;
-	LLCore::HttpRequest::ptr_t		mHttpRequest;
-	LLCore::HttpHeaders::ptr_t		mHttpHeaders;
-	LLCore::HttpOptions::ptr_t		mHttpOptions;
 	LLCore::HttpRequest::policy_t	mHttpPolicy;
-	LLCore::HttpRequest::priority_t	mHttpPriority;
-    LLTempBoundListener             mBoundListener;
 
 	bool            isMaturityPreferenceSyncedWithServer() const;
 	void 			sendMaturityPreferenceToServer(U8 pPreferredMaturity);
@@ -787,8 +783,6 @@ private:
 	void 			handleMaturity(const LLSD &pNewValue);
 	bool 			validateMaturity(const LLSD& newvalue);
 
-    bool            pollHttp(const LLSD &);
-
 
 /**                    Access
  **                                                                            **
@@ -937,8 +931,6 @@ public:
 	/// HTTP using the agent's policy settings and headers.  
     bool requestPostCapability(const std::string &capName, LLSD &postData, httpCallback_t cbSuccess = NULL, httpCallback_t cbFailure = NULL);
     bool requestGetCapability(const std::string &capName, httpCallback_t cbSuccess = NULL, httpCallback_t cbFailure = NULL);
-//	LLCore::HttpHandle	requestPostCapability(const std::string &cap, const std::string &url, LLSD &postData, LLHttpSDHandler *usrhndlr = NULL);
-//    LLCore::HttpHandle	requestGetCapability(const std::string &cap, const std::string &url, LLHttpSDHandler *usrhndlr = NULL);
 
 /**                    Utility
  **                                                                            **
diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp
index d1ed4e8ba4..a295910379 100755
--- a/indra/newview/llfacebookconnect.cpp
+++ b/indra/newview/llfacebookconnect.cpp
@@ -131,7 +131,7 @@ void LLFacebookConnect::facebookConnectCoro(LLCoros::self& self, std::string aut
     LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
         httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("FacebookConnect", httpPolicy));
     LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);
-    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions);
+    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions, false);
 
     LLSD putData;
     if (!authCode.empty())
@@ -217,7 +217,7 @@ void LLFacebookConnect::facebookShareCoro(LLCoros::self& self, std::string route
     LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
         httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("FacebookConnect", httpPolicy));
     LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);
-    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions);
+    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions, false);
 
     httpOpts->setWantHeaders(true);
 
@@ -239,8 +239,8 @@ void LLFacebookConnect::facebookShareImageCoro(LLCoros::self& self, std::string
     LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
         httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("FacebookConnect", httpPolicy));
     LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);
-    LLCore::HttpHeaders::ptr_t httpHeaders(new LLCore::HttpHeaders);
-    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions);
+    LLCore::HttpHeaders::ptr_t httpHeaders(new LLCore::HttpHeaders, false);
+    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions, false);
 
     httpOpts->setWantHeaders(true);
 
@@ -386,7 +386,7 @@ void LLFacebookConnect::facebookConnectInfoCoro(LLCoros::self& self)
     LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
         httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("FacebookConnect", httpPolicy));
     LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);
-    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions);
+    LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions, false);
 
     httpOpts->setWantHeaders(true);
 
diff --git a/indra/newview/llhomelocationresponder.cpp b/indra/newview/llhomelocationresponder.cpp
deleted file mode 100755
index d0492bcdb4..0000000000
--- a/indra/newview/llhomelocationresponder.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/** 
- * @file llhomelocationresponder.cpp
- * @author Meadhbh Hamrick
- * @brief Processes responses to the HomeLocation CapReq
- *
- * $LicenseInfo:firstyear=2008&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- * 
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
- * $/LicenseInfo$
- */
-
-/* File Inclusions */
-#include "llviewerprecompiledheaders.h"
-
-#include "llhomelocationresponder.h"
-#include "llsdutil.h"
-#include "llagent.h"
-#include "llviewerregion.h"
-
-void LLHomeLocationResponder::httpSuccess()
-{
-  const LLSD& content = getContent();
-  LLVector3 agent_pos;
-  bool      error = true;
-
-  do {
-
-    // was the call to /agent/<agent-id>/home-location successful?
-    // If not, we keep error set to true
-    if( ! content.has("success") )
-    {
-      break;
-    }
-
-    if( 0 != strncmp("true", content["success"].asString().c_str(), 4 ) )
-    {
-      break;
-    }
-
-    // did the simulator return a "justified" home location?
-    // If no, we keep error set to true
-    if( ! content.has( "HomeLocation" ) )
-    {
-      break;
-    }
-
-    if( ! content["HomeLocation"].has("LocationPos") )
-    {
-      break;
-    }
-
-    if( ! content["HomeLocation"]["LocationPos"].has("X") )
-    {
-      break;
-    }
-
-    agent_pos.mV[VX] = content["HomeLocation"]["LocationPos"]["X"].asInteger();
-
-    if( ! content["HomeLocation"]["LocationPos"].has("Y") )
-    {
-      break;
-    }
-
-    agent_pos.mV[VY] = content["HomeLocation"]["LocationPos"]["Y"].asInteger();
-
-    if( ! content["HomeLocation"]["LocationPos"].has("Z") )
-    {
-      break;
-    }
-
-    agent_pos.mV[VZ] = content["HomeLocation"]["LocationPos"]["Z"].asInteger();
-
-    error = false;
-  } while( 0 );
-
-  if( error )
-  {
-    failureResult(HTTP_INTERNAL_ERROR, "Invalid server response content", content);
-  }
-  else
-  {
-    LL_INFOS() << "setting home position" << LL_ENDL;
-
-    LLViewerRegion *viewer_region = gAgent.getRegion();
-    gAgent.setHomePosRegion( viewer_region->getHandle(), agent_pos );
-  }
-}
-
-void LLHomeLocationResponder::httpFailure()
-{
-  LL_WARNS() << dumpResponse() << LL_ENDL;
-}
diff --git a/indra/newview/llhomelocationresponder.h b/indra/newview/llhomelocationresponder.h
deleted file mode 100755
index adc6c8cb58..0000000000
--- a/indra/newview/llhomelocationresponder.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/** 
- * @file llhomelocationresponder.h
- * @author Meadhbh Hamrick
- * @brief Processes responses to the HomeLocation CapReq
- *
- * $LicenseInfo:firstyear=2008&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- * 
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
- * $/LicenseInfo$
- */
- 
- /* Macro Definitions */
-#ifndef LL_LLHOMELOCATIONRESPONDER_H
-#define LL_LLHOMELOCATIONRESPONDER_H
-
-/* File Inclusions */
-#include "llhttpclient.h"
-
-/* Typedef, Enum, Class, Struct, etc. */
-class LLHomeLocationResponder : public LLHTTPClient::Responder
-{
-	LOG_CLASS(LLHomeLocationResponder);
-private:
-	/* virtual */ void httpSuccess();
-	/* virtual */ void httpFailure();
-};
-
-#endif
-- 
cgit v1.2.3