Removed homelocation responder (rolled into llagent)
Removed sdhandler from llagent. Removed unused values from llacountingccostmgr Fixed smart pontier creation in llfacebookmaster
parent
cf4fec954c
commit
aba8d5e488
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
//===============================================================================
|
||||
|
|
|
|||
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
** **
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue