Clean out old OGPX stuff

This commit is contained in:
Drake Arconis
2014-03-01 17:34:22 -05:00
parent 9d6092faaa
commit 71d9084a95
20 changed files with 2 additions and 1002 deletions

View File

@@ -59,7 +59,6 @@ set(llcommon_SOURCE_FILES
llformat.cpp
llframetimer.cpp
llheartbeat.cpp
llindraconfigfile.cpp
llinitparam.cpp
llinstancetracker.cpp
llliveappconfig.cpp
@@ -183,7 +182,6 @@ set(llcommon_HEADER_FILES
llheartbeat.h
llhttpstatuscodes.h
llindexedqueue.h
llindraconfigfile.h
llinitparam.h
llinstancetracker.h
llkeythrottle.h

View File

@@ -1,119 +0,0 @@
/**
* @file llindraconfigfile.cpp
*
*
* This class is an LLLiveFile that has config info for indra
* Currently only whether it's blacklisted
*
* $LicenseInfo:firstyear=2007&license=viewergpl$
*
* Copyright (c) 2007-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
#include "llindraconfigfile.h"
#include "llfile.h"
#include "llsd.h"
#include "llsdserialize.h"
#include "llframetimer.h"
static std::string sConfigDir = "";
static const char indraConfigFileName[] = "indra.xml";
LLIndraConfigFile::LLIndraConfigFile()
: LLLiveFile(filename()),
mConfig(LLSD())
{
}
//static
void LLIndraConfigFile::initClass(const std::string& config_dir)
{
sConfigDir = config_dir;
llinfos << "LLIndraConfigFile::initClass config dir "
<< config_dir << "/" << indraConfigFileName << llendl;
}
LLSD LLIndraConfigFile::getConfig(const std::string& config_name)
{
if (sConfigDir.empty())
{
llerrs << "LLIndraConfigFile::initClass() not called" << llendl;
}
LLFrameTimer::updateFrameTime();
static LLIndraConfigFile the_file;
the_file.checkAndReload();
return the_file.mConfig[config_name];
}
std::string LLIndraConfigFile::filename()
{
std::ostringstream ostr;
ostr << sConfigDir
<< "/" << indraConfigFileName;
return ostr.str();
}
/* virtual */
bool LLIndraConfigFile::loadFile()
{
llinfos << "LLIndraConfigFile::loadFile: reading from "
<< filename() << llendl;
LLSD config;
{
llifstream file(filename());
if (file.is_open())
{
LLSDSerialize::fromXML(config, file);
}
if (config.isUndefined())
{
llinfos << "LLIndraConfigFile::loadFile: file missing, ill-formed,"
" or simply undefined; not changing the blacklist" << llendl;
return false;
}
}
if (config.isMap())
{
mConfig = config;
return true;
}
else
{
llwarns << "LLIndraConfigFile: " << indraConfigFileName << " expects a map; wrong format" << llendl;
return false;
}
}

View File

@@ -1,61 +0,0 @@
/**
* @file llindraconfigfile.h
* @brief manages configuration file for indra.xml
*
* $LicenseInfo:firstyear=2007&license=viewergpl$
*
* Copyright (c) 2007-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
#ifndef LL_LLINDRACONFIGFILE_H
#define LL_LLINDRACONFIGFILE_H
#include "linden_common.h"
#include <string>
#include "lllivefile.h"
#include "llsd.h"
// To use, call LLIndraConfigFile::initClass(config_dir);
// Then whenever getConfig is called, it will check and reload automatically
class LLIndraConfigFile : public LLLiveFile
{
public:
LLIndraConfigFile();
static void initClass(const std::string& config_dir);
static LLSD getConfig(const std::string& config_name);
private:
static std::string filename();
protected:
/* virtual */ bool loadFile();
LLSD mConfig;
};
#endif //LL_LLINDRACONFIGFILE_H

View File

@@ -965,7 +965,6 @@ P(newAgentInventoryVariablePriceResponder);
P(objectCostResponder);
P(objectLinksetsResponder);
P(physicsFlagsResponder);
P(placeAvatarTeleportResponder);
P(productInfoRequestResponder);
P(regionResponder);
P(remoteParcelRequestResponder);

View File

@@ -244,7 +244,6 @@ set(viewer_SOURCE_FILES
llfloaterpathfindingcharacters.cpp
llfloaterpathfindinglinksets.cpp
llfloaterpathfindingobjects.cpp
llfloaterpermissionsmgr.cpp
llfloaterperms.cpp
llfloaterpostcard.cpp
llfloaterpostprocess.cpp
@@ -764,7 +763,6 @@ set(viewer_HEADER_FILES
llfloaterpathfindingcharacters.h
llfloaterpathfindinglinksets.h
llfloaterpathfindingobjects.h
llfloaterpermissionsmgr.h
llfloaterperms.h
llfloaterpostcard.h
llfloaterpostprocess.h

View File

@@ -11101,22 +11101,6 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>PermissionsManagerRect</key>
<map>
<key>Comment</key>
<string>Rectangle for permissions manager window</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Rect</string>
<key>Value</key>
<array>
<integer>0</integer>
<integer>85</integer>
<integer>300</integer>
<integer>0</integer>
</array>
</map>
<key>PickerContextOpacity</key>
<map>
<key>Comment</key>

View File

@@ -50,7 +50,6 @@
#include "llviewerstats.h"
#include "llviewerregion.h"
#include "sgversion.h"
#include "llviewerbuild.h"
#include "lluictrlfactory.h"
#include "lluri.h"
#include "llweb.h"
@@ -140,7 +139,7 @@ LLFloaterAbout::LLFloaterAbout()
+ " (64 bit)"
#endif
+ llformat(" %d.%d.%d (%d) %s %s (%s)\n",
gVersionMajor, gVersionMinor, gVersionPatch, LL_VIEWER_BUILD,
gVersionMajor, gVersionMinor, gVersionPatch, gVersionBuild,
__DATE__, __TIME__,
gVersionChannel));
support_widget->appendColoredText(version, FALSE, FALSE, gColors.getColor("TextFgReadOnlyColor"));

View File

@@ -1,154 +0,0 @@
/**
* @file llfloaterpermissionsmgr.cpp
* @brief for user control of script permissions
*
* $LicenseInfo:firstyear=2003&license=viewergpl$
*
* Copyright (c) 2003-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
#include "llviewerprecompiledheaders.h"
#include "llfloaterpermissionsmgr.h"
#include "llscrollcontainer.h"
#include "lltextbox.h"
#include "llbutton.h"
#include "llagent.h"
#include "llviewerobjectlist.h"
#include "llviewerregion.h"
#include "llstl.h"
// constants
const S32 MIN_PERM_MGR_WIDTH = 100;
const S32 MIN_PERM_MGR_HEIGHT = 100;
const S32 VPAD = 8;
const S32 HPAD = 8;
const S32 LINE = 16;
// statics
LLFloaterPermissionsMgr* LLFloaterPermissionsMgr::sInstance = NULL;
LLFloaterPermissionsMgr* LLFloaterPermissionsMgr::show()
{
if (!sInstance)
{
sInstance = new LLFloaterPermissionsMgr();
sInstance->open(); /* Flawfinder: ignore */
gFloaterView->adjustToFitScreen(sInstance, TRUE);
}
else
{
sInstance->open(); /* Flawfinder: ignore */
}
return sInstance;
}
void LLFloaterPermissionsMgr::processPermissionsList(LLMessageSystem* msg, void**)
{
}
LLFloaterPermissionsMgr::LLFloaterPermissionsMgr() :
LLFloater(std::string("floater_perm_mgr"), std::string("PermissionsManagerRect"), std::string("Permissions Manager"),
TRUE, MIN_PERM_MGR_WIDTH, MIN_PERM_MGR_HEIGHT)
{
S32 y = getRect().getHeight() - VPAD - LINE;
LLRect scrollable_container_rect(0, y, getRect().getWidth(), 0);
LLRect permissions_rect(0, 0, getRect().getWidth() - HPAD - HPAD, 0);
mPermissions = new LLPermissionsView(permissions_rect);
mScroller = new LLScrollContainer(
std::string("permissions container"),
scrollable_container_rect,
mPermissions
);
mScroller->setFollowsAll();
mScroller->setReserveScrollCorner(TRUE);
addChild(mScroller);
}
LLFloaterPermissionsMgr::~LLFloaterPermissionsMgr()
{
}
//
// LLPermissionsView
//
LLPermissionsView::LLPermissionsView(const LLRect &rect) : LLView(std::string("permissions_view"), rect, TRUE, FOLLOWS_NONE)
{
}
void LLPermissionsView::clearPermissionsData()
{
deleteAllChildren();
}
void LLPermissionsView::addPermissionsData(const std::string& object_name, const LLUUID& object_id, U32 permissions_flags)
{
// grow to make room for new element
reshape(getRect().getWidth(), getRect().getHeight() + LINE + VPAD + BTN_HEIGHT + VPAD);
S32 y = getRect().getHeight() - LINE - VPAD;
LLRect label_rect(HPAD, y + LINE, getRect().getWidth(), y);
LLTextBox* text = new LLTextBox(std::string("perm_label"), label_rect, object_name);
text->setFollows(FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM);
addChild(text);
y -= LINE + VPAD;
LLRect btn_rect(HPAD, y + BTN_HEIGHT, 120, y);
LLButton* button = new LLButton(std::string("Revoke permissions"), btn_rect, LLStringUtil::null, boost::bind(&LLPermissionsView::revokePermissions, object_id, permissions_flags));
button->setFollows(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
addChild(button);
/*btn_rect.set(HPAD + 120 + HPAD, y + BTN_HEIGHT, HPAD + 120 + HPAD + 120, y);
button = new LLButton(std::string("Find in world"), btn_rect, LLStringUtil::null, boost::bind(&LLPermissionsView::findObject, object_id, permissions_flags));
button->setFollows(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
addChild(button);*/
}
void LLPermissionsView::revokePermissions(const LLUUID& object_id, U32 permission_flags)
{
LLViewerObject* objectp = gObjectList.findObject(object_id);
if (objectp)
{
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_RevokePermissions);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast(_PREHASH_Data);
msg->addUUIDFast(_PREHASH_ObjectID, object_id);
msg->addU32Fast(_PREHASH_ObjectPermissions, permission_flags);
msg->sendReliable(objectp->getRegion()->getHost());
}
}
/*void LLPermissionsView::findObject(const LLUUID& object_id, U32 permission_flags)
{
}*/

View File

@@ -1,82 +0,0 @@
/**
* @file llfloaterpermissionsmgr.h
* @brief for user control of script permissions
*
* $LicenseInfo:firstyear=2003&license=viewergpl$
*
* Copyright (c) 2003-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
#ifndef LL_LLFLOATERPERMISSIONSMGR_H
#define LL_LLFLOATERPERMISSIONSMGR_H
#include "llfloater.h"
#include <vector>
class LLScrollContainer;
class LLPermissionsView;
class LLFloaterPermissionsMgr
: public LLFloater
{
public:
static LLFloaterPermissionsMgr* show();
// Message system callbacks
static void processPermissionsList(LLMessageSystem* msg, void**);
virtual void onClose(bool app_quitting) { setVisible(FALSE); }
private:
// Must construct by calling show().
LLFloaterPermissionsMgr();
virtual ~LLFloaterPermissionsMgr();
public:
LLPermissionsView* mPermissions;
protected:
LLScrollContainer* mScroller;
static LLFloaterPermissionsMgr* sInstance;
};
class LLPermissionsView : public LLView
{
public:
LLPermissionsView(const LLRect& rect);
virtual ~LLPermissionsView() {};
public:
void clearPermissionsData();
void addPermissionsData(const std::string& object_name, const LLUUID& object_id, U32 permissions_flags);
static void revokePermissions(const LLUUID& object_id, U32 permission_flags);
//static void findObject(const LLUUID& object_id, U32 permission_flags);
};
#endif

View File

@@ -1,332 +0,0 @@
/**
* @file llfloaterteleport.cpp
* @brief floater code for agentd teleports.
*
* $LicenseInfo:firstyear=2008&license=viewergpl$
*
* Copyright (c) 2008, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
//Teleport floater used for agent domain TP. URI text floater.
//Copyright International Business Machines Corporation 2008-9
//Contributed to Linden Research, Inc. under the Second Life Viewer Contribution
//Agreement and licensed as above.
#include "llviewerprecompiledheaders.h" // must be first include
#include "llfloaterteleport.h"
#include "llagent.h" //for hack in teleport start
#include "llchat.h"
#include "llcombobox.h"
#include "llfloaterchat.h"
#include "llsdserialize.h"
#include "llsdutil.h"
#include "llsdutil_math.h"
#include "lluictrlfactory.h" // builds floaters from XML
#include "llurlhistory.h"
#include "lluserauth.h" // for saving placeavatarresponder result
#include "llviewercontrol.h" // for gSavedSettings
#include "llviewerdisplay.h" // for gTeleportDisplay
#include "llviewermessage.h" // for send_agent_movement_complete attempt
#include "llviewerregion.h"
#include "llviewerwindow.h" // for hack in teleport start
#include "llvoavatar.h"
#include "llworld.h"
#include "pipeline.h" // for gPipeline
class AIHTTPTimeoutPolicy;
extern AIHTTPTimeoutPolicy placeAvatarTeleportResponder_timeout;
// OGPX HTTP responder for PlaceAvatar cap used for Teleport
// very similar to the responder in Login, but not as many fields are returned in the TP version
// OGPX TODO: should this be combined with the Login responder for rez_avatar/place?
// OGPX TODO: mResult should not get replaced in result(), instead
// should replace individual LLSD fields in mResult.
class LLPlaceAvatarTeleportResponder : public LLHTTPClient::ResponderWithResult
{
public:
LLPlaceAvatarTeleportResponder()
{
}
~LLPlaceAvatarTeleportResponder()
{
}
/*virtual*/ void error(U32 statusNum, const std::string& reason)
{
LL_INFOS("OGPX") << "LLPlaceAvatarTeleportResponder error in TP "
<< statusNum << " " << reason << LL_ENDL;
LLSD args;
args["REASON"] = reason;
LLNotificationsUtil::add("CouldNotTeleportReason", args);
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
}
/*virtual*/ void result(const LLSD& content)
{
LLSD result;
result["agent_id"] = content["agent_id"]; // need this for send_complete_agent_movement
result["region_x"] = content["region_x"]; // need these for making the first region
result["region_y"] = content["region_y"];
result["login"] = "true"; // this gets checked in idle_startup()
result["session_id"] = content["session_id"];
result["secure_session_id"] = content["secure_session_id"];
result["circuit_code"] = content["circuit_code"];
result["sim_port"] = content["sim_port"];
result["sim_host"] = content["sim_host"];
result["look_at"] = content["look_at"];
// maintaining result seed_capability name for compatibility with legacy login
result["seed_capability"] = content["region_seed_capability"];
result["position"] = content["position"]; // save this for agentmovementcomplete type processing
// Even though we have the pretty print of the complete content returned, we still find it handy
// when scanning SecondLife.log to have these laid out in this way. So they are still here.
LL_DEBUGS("OGPX") << " Teleport placeAvatar responder " << LL_ENDL;
LL_DEBUGS("OGPX") << "agent_id: " << content["agent_id"] << LL_ENDL;
LL_DEBUGS("OGPX") << "region_x: " << content["region_x"] << LL_ENDL;
LL_DEBUGS("OGPX") << "session_id: " << content["session_id"] << LL_ENDL;
LL_DEBUGS("OGPX") << "sim_port: " << content["sim_port"] << LL_ENDL;
LL_DEBUGS("OGPX") << "sim_host: " << content["sim_host"] << LL_ENDL;
LL_DEBUGS("OGPX") << "look_at: " << content["look_at"] << LL_ENDL;
LL_DEBUGS("OGPX") << "position: " << content["position"] << LL_ENDL;
LL_DEBUGS("OGPX") << "seed_capability: " << content["region_seed_capability"] << LL_ENDL;
LL_INFOS("OGPX") << " All the LLSD PlaceAvatarTeleportResponder content: \n " << ll_pretty_print_sd(content) << LL_ENDL; // OGPX
// check "connect" to make sure place_avatar fully successful
if (!content["connect"].asBoolean())
{
// place_avatar failed somewhere
LL_INFOS("OGPX") << "TP failed, connect false in TP PlaceAvatarResponder " << LL_ENDL;
LLSD args;
args["REASON"] = "Place Avatar Failed";
//gViewerWindow->alertXml("CouldNotTeleportReason", args);
LLNotificationsUtil::add("CouldNotTeleportReason",args);
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
return;
}
U64 region_handle;
region_handle = to_region_handle_global(content["region_x"].asInteger(), content["region_y"].asInteger());
LLHost sim_host;
U32 sim_port = strtoul(result["sim_port"].asString().c_str(), NULL, 10);
sim_host.setHostByName(result["sim_host"].asString().c_str());
sim_host.setPort(sim_port);
if (sim_host.isOk())
{
LLMessageSystem* msg = gMessageSystem;
gMessageSystem->enableCircuit(sim_host, TRUE);
msg->newMessageFast(_PREHASH_UseCircuitCode);
msg->nextBlockFast(_PREHASH_CircuitCode);
msg->addU32Fast(_PREHASH_Code, msg->getOurCircuitCode());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->addUUIDFast(_PREHASH_ID, gAgent.getID());
msg->sendReliable(sim_host);
}
else
{
LL_INFOS("OGPX") << "TP failed, could not resolve hostname for UDP messages." << LL_ENDL;
LLSD args;
args["REASON"] = "Failed to resolve host.";
//gViewerWindow->alertXml("CouldNotTeleportReason", args);
LLNotificationsUtil::add("CouldNotTeleportReason", args);
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
return;
}
// Viewer trusts the simulator.
LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host);
regionp->setSeedCapability(content["seed_capability"].asString().c_str());
// process_agent_movement_complete needs the region to still be the old region gAgent.setRegion(regionp);
// placing these in result so they can be set properly in LLUserAuth result
// ...they are only passed in on login, and not on TP
result["session_id"] = gAgent.getSessionID();
result["agent_id"] = gAgent.getID();
result["circuit_code"].asString() = gMessageSystem->mOurCircuitCode; // this is what startup sets, is this proper to do?
// grab the skeleton and root.
result["inventory-skeleton"] = LLUserAuth::getInstance()->mResult["inventory-skeleton"];
result["inventory-root"] = LLUserAuth::getInstance()->mResult["inventory-root"];
LL_DEBUGS("OGPX") << "session_id: " << result["session_id"] << LL_ENDL;
// results need to be stored so process_agent_movement_complete() can pull them
LLUserAuth::getInstance()->mAuthResponse = LLUserAuth::E_OK;
// OGPX TODO: This just reeks of causing problems, because we are using
// ... mResult to store things that we get from other caps....So slamming a
// ... completely new result in on teleport is going to cause issues.
// ... It makes changing the things we save in mResult error prone.
// ... Question is, how should we really be storing the seemingly random things
// ... that we get back from (now) various different caps that used to all come back
// ... in the result of XMLRPC authenticate?
LLUserAuth::getInstance()->mResult = result;
// ... new sim not sending me much without sending it CompleteAgentMovement msg.
//gAgent.setTeleportState( LLAgent::TELEPORT_MOVING ); // process_agent_mv_complete looks for TELEPORT_MOVING
LLVector3 position = ll_vector3_from_sd(result["position"]);
gAgent.setHomePosRegion(region_handle, position); // taken from teleport_finish (not sure regular code path gets this)
send_complete_agent_movement(sim_host);
// Turn off progress msg (also need to do this in all the possible failure places)
// I think we leave this, as the scene is still changing during the
// processing of agentmovementcomeplete message. TELEPORT_NONE resets it anyway
// gViewerWindow->setShowProgress(FALSE);
}
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return placeAvatarTeleportResponder_timeout; }
/*virtual*/ char const* getName(void) const { return "LLPlaceAvatarTeleportResponder"; }
};
// Statics
LLFloaterTeleport* LLFloaterTeleport::sInstance = NULL;
LLFloaterTeleport::LLFloaterTeleport()
: LLFloater("floater_teleport")
{
if(!sInstance)
{
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_teleport.xml");
LLComboBox* regioncombo = getChild<LLComboBox>("teleport_edit");
regioncombo->setAllowTextEntry(TRUE, 256, FALSE); // URL bar needs to allow user text input
// iterate on uri list adding to combobox (couldn't figure out how to add them all in one call)
LLSD regionuri_history = LLURLHistory::getURLHistory("regionuri");
LLSD::array_iterator iter_history = regionuri_history.beginArray();
LLSD::array_iterator iter_end = regionuri_history.endArray();
for(; iter_history != iter_end; ++iter_history)
{
regioncombo->addSimpleElement((*iter_history).asString());
}
// select which is displayed if we have a current URL.
regioncombo->setSelectedByValue(LLSD(gSavedSettings.getString("CmdLineRegionURI")),TRUE);
// TODO : decide if 'enter' when selecting something from the combox box should *not* be sent
// to the floater (p.s. and figure out how to change it)
childSetAction("teleport_btn", onClickTeleport, this);
childSetAction("cancel_btn", onClickCancel, this);
setDefaultBtn("teleport_btn");
}
else
{
sInstance->show(NULL);
}
}
// static
void LLFloaterTeleport::show(void*)
{
if (!sInstance)
{
sInstance = new LLFloaterTeleport();
}
sInstance->open();
}
LLFloaterTeleport::~LLFloaterTeleport()
{
sInstance=NULL;
}
// static
void LLFloaterTeleport::onClickTeleport(void* userdata)
{
std::string placeAvatarCap = LLAppViewer::instance()->getPlaceAvatarCap();
LLSD args;
LLFloaterTeleport* self = (LLFloaterTeleport*)userdata;
std::string text = self->childGetText("teleport_edit");
if (text.find("://",0) == std::string::npos)
{
// if there is no uri, prepend it with http://
text = "http://"+text;
LL_DEBUGS("OGPX") << "Teleport URI was prepended, now " << text << LL_ENDL;
}
LL_DEBUGS("OGPX") << "onClickTeleport! from using place_avatar cap "<< placeAvatarCap << " contains "<< text << LL_ENDL;
LLStringUtil::trim(text); // trim extra spacing
gAgent.setTeleportSourceURL(gSavedSettings.getString("CmdLineRegionURI")); // grab src region name
gSavedSettings.setString("CmdLineRegionURI",text); // save the dst region
args["public_region_seed_capability"] = text;
args["position"] = ll_sd_from_vector3(LLVector3(128, 128, 50)); // default to middle of region above base terrain
LL_INFOS("OGPX") << " args to placeavatar cap " << placeAvatarCap << " on teleport: " << LLSDOStreamer<LLSDXMLFormatter>(args) << LL_ENDL;
LLHTTPClient::post(placeAvatarCap, args, new LLPlaceAvatarTeleportResponder());
gAgent.setTeleportMessage(
LLAgent::sTeleportProgressMessages["requesting"]);
gViewerWindow->setShowProgress(TRUE);
gAgent.teleportCore();
gAgent.setTeleportState( LLAgent::TELEPORT_PLACE_AVATAR ); // teleportcore() sets tp state to legacy path, so reset. ick!
gTeleportDisplayTimer.reset();
self->setVisible(FALSE);
if ( LLURLHistory::appendToURLCollection("regionuri",text))
{
// since URL history only populated on create of sInstance, add to combo list directly
LLComboBox* regioncombo = self->getChild<LLComboBox>("teleport_edit");
// BUG : this should add the new item to the combo box, but doesn't
regioncombo->addSimpleElement(text);
}
}
void LLFloaterTeleport::onClickCancel(void *userdata)
{
LLFloaterTeleport* self = (LLFloaterTeleport*)userdata;
LL_INFOS("OGPX") << "Teleport Cancel " << self->getName() << LL_ENDL;
self->setVisible(FALSE);
}

View File

@@ -1,65 +0,0 @@
/**
* @file llfloaterteleport.h
* @brief floater header for agentd teleports.
*
* $LicenseInfo:firstyear=2008&license=viewergpl$
*
* Copyright (c) 2008, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
// Teleport floater for agent domain TPs using URIs.
//Copyright International Business Machines Corporation 2008-9
//Contributed to Linden Research, Inc. under the Second Life Viewer Contribution
//Agreement and licensed as above.
#ifndef LL_FLOATER_TELEPORT_H
#define LL_FLOATER_TELEPORT_H
#include "llfloater.h"
class LLFloaterTeleport : public LLFloater
{
public:
LLFloaterTeleport();
virtual ~LLFloaterTeleport();
// by convention, this shows the floater and does instance management
static void show(void*);
private:
// when a line editor loses keyboard focus, it is committed.
// commit callbacks are named onCommitWidgetName by convention.
static void onCommitTeleport(LLUICtrl* ctrl, void *userdata);
// by convention, button callbacks are named onClickButtonLabel
static void onClickTeleport(void* userdata);
static void onClickCancel(void *userdata);
// no pointers to widgets here - they are referenced by name
// assuming we just need one, which is typical
static LLFloaterTeleport* sInstance;
};
#endif

View File

@@ -2112,25 +2112,6 @@ bool LLInventoryModel::loadSkeleton(
return rv;
}
//OGPX crap. Since this function is actually functionally the same as its LLSD variant..
// just convert options_t to LLSD and route to the LLSD version. Yuck.
bool LLInventoryModel::loadSkeleton(
const LLInventoryModel::options_t& options,
const LLUUID& owner_id)
{
LLSD options_list;
for(options_t::const_iterator it = options.begin(); it < options.end(); ++it)
{
LLSD entry;
for(response_t::const_iterator it2 = it->begin(); it2 != it->end(); ++it2)
{
entry[it2->first]=it2->second;
}
options_list.append(entry);
}
return loadSkeleton(options_list,owner_id);
}
// This is a brute force method to rebuild the entire parent-child
// relations. The overall operation has O(NlogN) performance, which
// should be sufficient for our needs.

View File

@@ -409,14 +409,6 @@ public:
void addCategory(LLViewerInventoryCategory* category);
void addItem(LLViewerInventoryItem* item);
// methods to load up inventory skeleton & meat. These are used
// during authentication. return true if everything parsed.
typedef std::map<std::string, std::string> response_t;
typedef std::vector<response_t> options_t;
//OGPX really screwed with the login process. This is needed until it's all sorted out.
bool loadSkeleton(const options_t& options, const LLUUID& owner_id);
/** Mutators
** **
*******************************************************************************/

View File

@@ -62,7 +62,6 @@
#include "llui.h"
#include "lluiconstants.h"
#include "llurlhistory.h" // OGPX : regionuri text box has a history of region uris (if FN/LN are loaded at startup)
#include "llviewerbuild.h"
#include "llviewertexturelist.h"
#include "llviewermenu.h" // for handle_preferences()
#include "llviewernetwork.h"
@@ -254,7 +253,7 @@ LLPanelLogin::LLPanelLogin(const LLRect& rect)
gVersionMajor,
gVersionMinor,
gVersionPatch,
LL_VIEWER_BUILD );
gVersionBuild );
LLTextBox* channel_text = getChild<LLTextBox>("channel_text");
channel_text->setTextArg("[CHANNEL]", channel); // though not displayed
channel_text->setTextArg("[VERSION]", version);

View File

@@ -106,39 +106,6 @@ LLSD LLURLHistory::getURLHistory(const std::string& collection)
return LLSD();
}
// OGPX : static function that appends unique values to existing collection.
// returns true if appended, else false.
BOOL LLURLHistory::appendToURLCollection(const std::string& collection, const std::string& url)
{
if (!url.empty())
{
BOOL found_current_url = FALSE;
// make room for the new url if needed
// always append to the end and remove from the front so you have the most recent.
if (sHistorySD[collection].size() >= MAX_URL_COUNT)
{
sHistorySD[collection].erase(0);
}
LLSD::array_iterator iter_history = sHistorySD[collection].beginArray();
LLSD::array_iterator iter_end = sHistorySD[collection].endArray();
for (; iter_history != iter_end; ++iter_history)
{
if ((*iter_history).asString() == url)
{
found_current_url = TRUE;
}
}
if (!found_current_url )
{
sHistorySD[collection].append(LLSD(url));
LLURLHistory::limitSize(collection);
//llinfos << " appending XX" << url << "XX urlcollection: " << LLSDOStreamer<LLSDXMLFormatter>(sHistorySD) << llendl;
return TRUE; // value was unique, needed to be inserted
}
}
return FALSE; // value was empty or already in the collection
}
// static
void LLURLHistory::addURL(const std::string& collection, const std::string& url)
{

View File

@@ -49,9 +49,6 @@ public:
static LLSD getURLHistory(const std::string& collection);
static void addURL(const std::string& collection, const std::string& url);
// OGPX appends url to a collection if it doesn't already exist in the collection.
// this is used in the collection of region URIs that are saved per region
static BOOL appendToURLCollection(const std::string& collection, const std::string& url);
static void removeURL(const std::string& collection, const std::string& url);
static void clear(const std::string& collection);

View File

@@ -40,7 +40,6 @@
#include "lldir.h"
#include "sgversion.h"
#include "llappviewer.h"
#include "llviewerbuild.h"
#include "llviewercontrol.h"
#include "llxmlrpcresponder.h"
#include "llsdutil.h"

View File

@@ -1,37 +0,0 @@
/**
* @file llviewerbuild.h
* @brief Sets viewer build number
*
* $LicenseInfo:firstyear=2001&license=viewergpl$
*
* Copyright (c) 2001-2009, Linden Research, Inc.
*
* Second Life Viewer Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in doc/GPL-license.txt in this distribution, or
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file doc/FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
* $/LicenseInfo$
*/
#include "sgversion.h"
// Set the build number in indra/llcommon/llversionviewer.h!
const S32 LL_VIEWER_BUILD = gVersionBuild;

View File

@@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--agentd teleport floater-->
<floater
name="teleport_floater"
title="Teleport"
can_resize="true"
can_minimize="true"
can_close="true"
can_drag_on_left="false"
width="300"
height="150"
min_width="80"
min_height="150"
>
<text name="teleport_text"
font="SansSerifSmall"
left="10"
bottom_delta="-40"
width="260"
height="16"
follows="left|top"
> Public Region Seed: </text>
<combo_box allow_text_entry="true"
name="teleport_edit"
width="250"
height="20"
left="10"
bottom_delta="-30"
follows="left|top"
hidden="false"
mouse_opaque="true"
max_length="420"
font="SansSerif"
bevel_style="in"
border_style="line"
border_thickness="1"
select_all_on_focus_received="true"
/>
<button
name="teleport_btn"
label="Teleport"
font="SansSerifSmall"
left="10"
bottom_delta="-25"
width="100"
height="20"
follows="top|left"
/>
<button bottom_delta="0" follows="bottom|right" height="20" label="Cancel" right="224"
name="cancel_btn" width="90" />
</floater>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--agentd teleport floater-->
<floater name="teleport_floater" title="Teleportar" >
<text name="teleport_text"> Semillas Región Pública: </text>
<combo_box name="teleport_edit"/>
<button name="teleport_btn" label="Teleportar"/>
<button label="Cancelar" name="cancel_btn"/>
</floater>