merge changes for CHOP-963
commit
2192a024ac
|
|
@ -108,6 +108,16 @@
|
|||
<string>CmdLineGridChoice</string>
|
||||
</map>
|
||||
|
||||
<key>update-service</key>
|
||||
<map>
|
||||
<key>desc</key>
|
||||
<string>Override the url base for the update query.</string>
|
||||
<key>count</key>
|
||||
<integer>1</integer>
|
||||
<key>map-to</key>
|
||||
<string>CmdLineUpdateService</string>
|
||||
</map>
|
||||
|
||||
<key>help</key>
|
||||
<map>
|
||||
<key>desc</key>
|
||||
|
|
|
|||
|
|
@ -1760,6 +1760,17 @@
|
|||
<key>Value</key>
|
||||
<string />
|
||||
</map>
|
||||
<key>CmdLineUpdateService</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Override the url base for the update query.</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string />
|
||||
</map>
|
||||
<key>CmdLineHelperURI</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -3048,13 +3048,19 @@ namespace {
|
|||
void LLAppViewer::initUpdater()
|
||||
{
|
||||
// Initialize the updater service.
|
||||
// Generate URL to the udpater service
|
||||
// Get Channel
|
||||
// Get Version
|
||||
std::string url = gSavedSettings.getString("UpdaterServiceURL");
|
||||
|
||||
/*****************************************************************
|
||||
* Previously, the url was derived from the settings
|
||||
* UpdaterServiceURL
|
||||
* UpdaterServicePath
|
||||
* it is now obtained from the grid manager. The settings above
|
||||
* are no longer used.
|
||||
*****************************************************************/
|
||||
std::string channel = LLVersionInfo::getChannel();
|
||||
std::string version = LLVersionInfo::getVersion();
|
||||
std::string service_path = gSavedSettings.getString("UpdaterServicePath");
|
||||
|
||||
U32 check_period = gSavedSettings.getU32("UpdaterServiceCheckPeriod");
|
||||
bool willing_to_test;
|
||||
LL_DEBUGS("UpdaterService") << "channel " << channel << LL_ENDL;
|
||||
|
|
@ -3079,9 +3085,7 @@ void LLAppViewer::initUpdater()
|
|||
}
|
||||
|
||||
mUpdater->setAppExitCallback(boost::bind(&LLAppViewer::forceQuit, this));
|
||||
mUpdater->initialize(url,
|
||||
service_path,
|
||||
channel,
|
||||
mUpdater->initialize(channel,
|
||||
version,
|
||||
gPlatform,
|
||||
getOSInfo().getOSVersionString(),
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ const std::string GRID_LABEL_VALUE = "label";
|
|||
const std::string GRID_ID_VALUE = "grid_login_id";
|
||||
/// the url for the login cgi script
|
||||
const std::string GRID_LOGIN_URI_VALUE = "login_uri";
|
||||
/// url base for update queries
|
||||
const std::string GRID_UPDATE_SERVICE_URL = "update_query_url_base";
|
||||
///
|
||||
const std::string GRID_HELPER_URI_VALUE = "helper_uri";
|
||||
/// the splash page url
|
||||
|
|
@ -63,6 +65,8 @@ const std::string DEFAULT_LOGIN_PAGE = "http://viewer-login.agni.lindenlab.com/"
|
|||
|
||||
const std::string MAIN_GRID_LOGIN_URI = "https://login.agni.lindenlab.com/cgi-bin/login.cgi";
|
||||
|
||||
const std::string SL_UPDATE_QUERY_URL = "https://update.secondlife.com/update";
|
||||
|
||||
const std::string MAIN_GRID_SLURL_BASE = "http://maps.secondlife.com/secondlife/";
|
||||
const std::string SYSTEM_GRID_APP_SLURL_BASE = "secondlife:///app";
|
||||
|
||||
|
|
@ -120,12 +124,14 @@ void LLGridManager::initialize(const std::string& grid_file)
|
|||
MAIN_GRID_LOGIN_URI,
|
||||
"https://secondlife.com/helpers/",
|
||||
DEFAULT_LOGIN_PAGE,
|
||||
SL_UPDATE_QUERY_URL,
|
||||
"Agni");
|
||||
addSystemGrid("Second Life Beta Test Grid (Aditi)",
|
||||
"util.aditi.lindenlab.com",
|
||||
"https://login.aditi.lindenlab.com/cgi-bin/login.cgi",
|
||||
"http://aditi-secondlife.webdev.lindenlab.com/helpers/",
|
||||
DEFAULT_LOGIN_PAGE,
|
||||
SL_UPDATE_QUERY_URL,
|
||||
"Aditi");
|
||||
|
||||
LLSD other_grids;
|
||||
|
|
@ -332,6 +338,7 @@ void LLGridManager::addSystemGrid(const std::string& label,
|
|||
const std::string& login_uri,
|
||||
const std::string& helper,
|
||||
const std::string& login_page,
|
||||
const std::string& update_url_base,
|
||||
const std::string& login_id)
|
||||
{
|
||||
LLSD grid = LLSD::emptyMap();
|
||||
|
|
@ -341,6 +348,7 @@ void LLGridManager::addSystemGrid(const std::string& label,
|
|||
grid[GRID_LOGIN_URI_VALUE] = LLSD::emptyArray();
|
||||
grid[GRID_LOGIN_URI_VALUE].append(login_uri);
|
||||
grid[GRID_LOGIN_PAGE_VALUE] = login_page;
|
||||
grid[GRID_UPDATE_SERVICE_URL] = update_url_base;
|
||||
grid[GRID_IS_SYSTEM_GRID_VALUE] = true;
|
||||
grid[GRID_LOGIN_IDENTIFIER_TYPES] = LLSD::emptyArray();
|
||||
grid[GRID_LOGIN_IDENTIFIER_TYPES].append(CRED_IDENTIFIER_TYPE_AGENT);
|
||||
|
|
@ -537,6 +545,30 @@ std::string LLGridManager::getGridLoginID()
|
|||
return mGridList[mGrid][GRID_ID_VALUE];
|
||||
}
|
||||
|
||||
std::string LLGridManager::getUpdateServiceURL()
|
||||
{
|
||||
std::string update_url_base = gSavedSettings.getString("CmdLineUpdateService");;
|
||||
if ( !update_url_base.empty() )
|
||||
{
|
||||
LL_INFOS2("UpdaterService","GridManager")
|
||||
<< "Update URL base overridden from command line: " << update_url_base
|
||||
<< LL_ENDL;
|
||||
}
|
||||
else if ( mGridList[mGrid].has(GRID_UPDATE_SERVICE_URL) )
|
||||
{
|
||||
update_url_base = mGridList[mGrid][GRID_UPDATE_SERVICE_URL].asString();
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS2("UpdaterService","GridManager")
|
||||
<< "The grid property '" << GRID_UPDATE_SERVICE_URL
|
||||
<< "' is not defined for the grid '" << mGrid << "'"
|
||||
<< LL_ENDL;
|
||||
}
|
||||
|
||||
return update_url_base;
|
||||
}
|
||||
|
||||
void LLGridManager::updateIsInProductionGrid()
|
||||
{
|
||||
mIsInProductionGrid = false;
|
||||
|
|
|
|||
|
|
@ -139,6 +139,14 @@ class LLGridManager : public LLSingleton<LLGridManager>
|
|||
* I am not sure which is which
|
||||
*/
|
||||
|
||||
//@}
|
||||
/* ================================================================
|
||||
* @name Update Related Properties
|
||||
* @{
|
||||
*/
|
||||
/// Get the update service URL base (host and path) for the selected grid
|
||||
std::string getUpdateServiceURL();
|
||||
|
||||
//@}
|
||||
|
||||
/* ================================================================
|
||||
|
|
@ -207,6 +215,7 @@ class LLGridManager : public LLSingleton<LLGridManager>
|
|||
const std::string& login,
|
||||
const std::string& helper,
|
||||
const std::string& login_page,
|
||||
const std::string& update_url_base,
|
||||
const std::string& login_id = "");
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ void LLGridManager::addSystemGrid(const std::string& label,
|
|||
const std::string& login,
|
||||
const std::string& helper,
|
||||
const std::string& login_page,
|
||||
const std::string& update_url_base,
|
||||
const std::string& login_id)
|
||||
{
|
||||
}
|
||||
|
|
@ -208,9 +209,7 @@ std::string const & LLUpdaterService::pumpName(void)
|
|||
return wakka;
|
||||
}
|
||||
bool LLUpdaterService::updateReadyToInstall(void) { return false; }
|
||||
void LLUpdaterService::initialize(const std::string& url,
|
||||
const std::string& path,
|
||||
const std::string& channel,
|
||||
void LLUpdaterService::initialize(const std::string& channel,
|
||||
const std::string& version,
|
||||
const std::string& platform,
|
||||
const std::string& platform_version,
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ const char *gSampleGridFile =
|
|||
" <array>"
|
||||
" <string>myloginuri</string>"
|
||||
" </array>"
|
||||
" <key>update_query_url_base</key><string>https://update.secondlife.com/update</string>"
|
||||
" <key>keyname</key><string>util.foobar.lindenlab.com</string>"
|
||||
" </map>"
|
||||
" </map>"
|
||||
|
|
@ -185,6 +186,9 @@ namespace tut
|
|||
ensure_equals("id for agni",
|
||||
std::string("Agni"),
|
||||
LLGridManager::getInstance()->getGridId("util.agni.lindenlab.com"));
|
||||
ensure_equals("update url base for Agni", // relies on agni being the default
|
||||
std::string("https://update.secondlife.com/update"),
|
||||
LLGridManager::getInstance()->getUpdateServiceURL());
|
||||
ensure_equals("label for agni",
|
||||
LLGridManager::getInstance()->getGridLabel("util.agni.lindenlab.com"),
|
||||
std::string("Second Life Main Grid (Agni)"));
|
||||
|
|
@ -256,6 +260,9 @@ namespace tut
|
|||
ensure_equals("id for agni",
|
||||
LLGridManager::getInstance()->getGridId("util.agni.lindenlab.com"),
|
||||
std::string("Agni"));
|
||||
ensure_equals("update url base for Agni", // relies on agni being the default
|
||||
std::string("https://update.secondlife.com/update"),
|
||||
LLGridManager::getInstance()->getUpdateServiceURL());
|
||||
ensure_equals("label for agni",
|
||||
LLGridManager::getInstance()->getGridLabel("util.agni.lindenlab.com"),
|
||||
std::string("Second Life Main Grid (Agni)"));
|
||||
|
|
@ -384,6 +391,9 @@ namespace tut
|
|||
ensure_equals("getLoginPage",
|
||||
LLGridManager::getInstance()->getLoginPage(),
|
||||
std::string("http://viewer-login.agni.lindenlab.com/"));
|
||||
ensure_equals("update url base for Agni", // relies on agni being the default
|
||||
std::string("https://update.secondlife.com/update"),
|
||||
LLGridManager::getInstance()->getUpdateServiceURL());
|
||||
ensure("Is Agni a production grid", LLGridManager::getInstance()->isInProductionGrid());
|
||||
std::vector<std::string> uris;
|
||||
LLGridManager::getInstance()->getLoginURIs(uris);
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ LLUpdateChecker::LLUpdateChecker(LLUpdateChecker::Client & client):
|
|||
}
|
||||
|
||||
|
||||
void LLUpdateChecker::checkVersion(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
void LLUpdateChecker::checkVersion(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -71,7 +70,7 @@ void LLUpdateChecker::checkVersion(std::string const & hostUrl,
|
|||
unsigned char uniqueid[MD5HEX_STR_SIZE],
|
||||
bool willing_to_test)
|
||||
{
|
||||
mImplementation->checkVersion(hostUrl, servicePath, channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
mImplementation->checkVersion(urlBase, channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -99,8 +98,7 @@ LLUpdateChecker::Implementation::~Implementation()
|
|||
}
|
||||
|
||||
|
||||
void LLUpdateChecker::Implementation::checkVersion(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
void LLUpdateChecker::Implementation::checkVersion(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -112,8 +110,7 @@ void LLUpdateChecker::Implementation::checkVersion(std::string const & hostUrl,
|
|||
{
|
||||
mInProgress = true;
|
||||
|
||||
mHostUrl = hostUrl;
|
||||
mServicePath = servicePath;
|
||||
mUrlBase = urlBase;
|
||||
mChannel = channel;
|
||||
mVersion = version;
|
||||
mPlatform = platform;
|
||||
|
|
@ -123,7 +120,7 @@ void LLUpdateChecker::Implementation::checkVersion(std::string const & hostUrl,
|
|||
|
||||
mProtocol = sProtocolVersion;
|
||||
|
||||
std::string checkUrl = buildUrl(hostUrl, servicePath, channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
std::string checkUrl = buildUrl(urlBase, channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
LL_INFOS("UpdaterService") << "checking for updates at " << checkUrl << LL_ENDL;
|
||||
|
||||
mHttpClient.get(checkUrl, this);
|
||||
|
|
@ -158,7 +155,7 @@ void LLUpdateChecker::Implementation::completed(U32 status,
|
|||
if (mProtocol == sProtocolVersion)
|
||||
{
|
||||
mProtocol = sLegacyProtocolVersion;
|
||||
std::string retryUrl = buildUrl(mHostUrl, mServicePath, mChannel, mVersion, mPlatform, mPlatformVersion, mUniqueId, mWillingToTest);
|
||||
std::string retryUrl = buildUrl(mUrlBase, mChannel, mVersion, mPlatform, mPlatformVersion, mUniqueId, mWillingToTest);
|
||||
|
||||
LL_WARNS("UpdaterService")
|
||||
<< "update response using " << sProtocolVersion
|
||||
|
|
@ -203,8 +200,7 @@ void LLUpdateChecker::Implementation::error(U32 status, const std::string & reas
|
|||
}
|
||||
|
||||
|
||||
std::string LLUpdateChecker::Implementation::buildUrl(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
std::string LLUpdateChecker::Implementation::buildUrl(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -213,7 +209,6 @@ std::string LLUpdateChecker::Implementation::buildUrl(std::string const & hostUr
|
|||
bool willing_to_test)
|
||||
{
|
||||
LLSD path;
|
||||
path.append(servicePath);
|
||||
path.append(mProtocol);
|
||||
path.append(channel);
|
||||
path.append(version);
|
||||
|
|
@ -224,5 +219,5 @@ std::string LLUpdateChecker::Implementation::buildUrl(std::string const & hostUr
|
|||
path.append(willing_to_test ? "testok" : "testno");
|
||||
path.append((char*)uniqueid);
|
||||
}
|
||||
return LLURI::buildHTTP(hostUrl, path).asString();
|
||||
return LLURI::buildHTTP(urlBase, path).asString();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ public:
|
|||
public:
|
||||
Implementation(Client & client);
|
||||
~Implementation();
|
||||
void checkVersion(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
void checkVersion(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -68,16 +67,14 @@ public:
|
|||
LLHTTPClient mHttpClient;
|
||||
bool mInProgress;
|
||||
std::string mVersion;
|
||||
std::string mHostUrl;
|
||||
std::string mServicePath;
|
||||
std::string mUrlBase;
|
||||
std::string mChannel;
|
||||
std::string mPlatform;
|
||||
std::string mPlatformVersion;
|
||||
unsigned char mUniqueId[MD5HEX_STR_SIZE];
|
||||
bool mWillingToTest;
|
||||
|
||||
std::string buildUrl(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
std::string buildUrl(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -95,8 +92,7 @@ public:
|
|||
LLUpdateChecker(Client & client);
|
||||
|
||||
// Check status of current app on the given host for the channel and version provided.
|
||||
void checkVersion(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
void checkVersion(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "lldir.h"
|
||||
#include "llsdserialize.h"
|
||||
#include "llfile.h"
|
||||
#include "llviewernetwork.h"
|
||||
|
||||
#if LL_WINDOWS
|
||||
#pragma warning (disable : 4355) // 'this' used in initializer list: yes, intentionally
|
||||
|
|
@ -93,8 +94,6 @@ class LLUpdaterServiceImpl :
|
|||
static const std::string sListenerName;
|
||||
|
||||
std::string mProtocolVersion;
|
||||
std::string mUrl;
|
||||
std::string mPath;
|
||||
std::string mChannel;
|
||||
std::string mVersion;
|
||||
std::string mPlatform;
|
||||
|
|
@ -120,9 +119,7 @@ public:
|
|||
LLUpdaterServiceImpl();
|
||||
virtual ~LLUpdaterServiceImpl();
|
||||
|
||||
void initialize(const std::string& url,
|
||||
const std::string& path,
|
||||
const std::string& channel,
|
||||
void initialize(const std::string& channel,
|
||||
const std::string& version,
|
||||
const std::string& platform,
|
||||
const std::string& platform_version,
|
||||
|
|
@ -183,9 +180,7 @@ LLUpdaterServiceImpl::~LLUpdaterServiceImpl()
|
|||
LLEventPumps::instance().obtain("mainloop").stopListening(sListenerName);
|
||||
}
|
||||
|
||||
void LLUpdaterServiceImpl::initialize(const std::string& url,
|
||||
const std::string& path,
|
||||
const std::string& channel,
|
||||
void LLUpdaterServiceImpl::initialize(const std::string& channel,
|
||||
const std::string& version,
|
||||
const std::string& platform,
|
||||
const std::string& platform_version,
|
||||
|
|
@ -198,8 +193,6 @@ void LLUpdaterServiceImpl::initialize(const std::string& url,
|
|||
"while updater is running.");
|
||||
}
|
||||
|
||||
mUrl = url;
|
||||
mPath = path;
|
||||
mChannel = channel;
|
||||
mVersion = version;
|
||||
mPlatform = platform;
|
||||
|
|
@ -207,8 +200,6 @@ void LLUpdaterServiceImpl::initialize(const std::string& url,
|
|||
memcpy(mUniqueId, uniqueid, MD5HEX_STR_SIZE);
|
||||
mWillingToTest = willing_to_test;
|
||||
LL_DEBUGS("UpdaterService")
|
||||
<< "\n url: " << mUrl
|
||||
<< "\n path: " << mPath
|
||||
<< "\n channel: " << mChannel
|
||||
<< "\n version: " << mVersion
|
||||
<< "\n uniqueid: " << mUniqueId
|
||||
|
|
@ -228,7 +219,7 @@ void LLUpdaterServiceImpl::setBandwidthLimit(U64 bytesPerSecond)
|
|||
|
||||
void LLUpdaterServiceImpl::startChecking(bool install_if_ready)
|
||||
{
|
||||
if(mUrl.empty() || mChannel.empty() || mVersion.empty())
|
||||
if(mChannel.empty() || mVersion.empty())
|
||||
{
|
||||
throw LLUpdaterService::UsageError("Set params before call to "
|
||||
"LLUpdaterService::startCheck().");
|
||||
|
|
@ -415,7 +406,7 @@ void LLUpdaterServiceImpl::response(LLSD const & content)
|
|||
|
||||
setState(LLUpdaterService::UP_TO_DATE);
|
||||
}
|
||||
else
|
||||
else if ( content.isMap() && content.has("url") )
|
||||
{
|
||||
// there is an update available...
|
||||
stopTimer();
|
||||
|
|
@ -439,6 +430,12 @@ void LLUpdaterServiceImpl::response(LLSD const & content)
|
|||
<< LL_ENDL;
|
||||
mUpdateDownloader.download(url, content["hash"].asString(), mNewChannel, mNewVersion, more_info, required);
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS("UpdaterService") << "Invalid update query response ignored; retry in "
|
||||
<< mCheckPeriod << " seconds" << LL_ENDL;
|
||||
restartTimer(mCheckPeriod);
|
||||
}
|
||||
}
|
||||
|
||||
void LLUpdaterServiceImpl::downloadComplete(LLSD const & data)
|
||||
|
|
@ -565,8 +562,26 @@ bool LLUpdaterServiceImpl::onMainLoop(LLSD const & event)
|
|||
}
|
||||
else
|
||||
{
|
||||
mUpdateChecker.checkVersion(mUrl, mPath, mChannel, mVersion, mPlatform, mPlatformVersion, mUniqueId, mWillingToTest);
|
||||
setState(LLUpdaterService::CHECKING_FOR_UPDATE);
|
||||
std::string query_url = LLGridManager::getInstance()->getUpdateServiceURL();
|
||||
if ( !query_url.empty() )
|
||||
{
|
||||
mUpdateChecker.checkVersion(query_url, mChannel, mVersion,
|
||||
mPlatform, mPlatformVersion, mUniqueId,
|
||||
mWillingToTest);
|
||||
setState(LLUpdaterService::CHECKING_FOR_UPDATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS("UpdaterService")
|
||||
<< "No updater service defined for grid '" << LLGridManager::getInstance()->getGrid()
|
||||
<< "' will check again in " << mCheckPeriod << " seconds"
|
||||
<< LL_ENDL;
|
||||
// Because the grid can be changed after the viewer is started (when the first check takes place)
|
||||
// but before the user logs in, the next check may be on a different grid, so set the retry timer
|
||||
// even though this check did not happen. The default time is once an hour, and if we're not
|
||||
// doing the check anyway the performance impact is completely insignificant.
|
||||
restartTimer(mCheckPeriod);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -610,9 +625,7 @@ LLUpdaterService::~LLUpdaterService()
|
|||
{
|
||||
}
|
||||
|
||||
void LLUpdaterService::initialize(const std::string& url,
|
||||
const std::string& path,
|
||||
const std::string& channel,
|
||||
void LLUpdaterService::initialize(const std::string& channel,
|
||||
const std::string& version,
|
||||
const std::string& platform,
|
||||
const std::string& platform_version,
|
||||
|
|
@ -620,7 +633,7 @@ void LLUpdaterService::initialize(const std::string& url,
|
|||
const bool& willing_to_test
|
||||
)
|
||||
{
|
||||
mImpl->initialize(url, path, channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
mImpl->initialize(channel, version, platform, platform_version, uniqueid, willing_to_test);
|
||||
}
|
||||
|
||||
void LLUpdaterService::setCheckPeriod(unsigned int seconds)
|
||||
|
|
|
|||
|
|
@ -71,9 +71,7 @@ public:
|
|||
LLUpdaterService();
|
||||
~LLUpdaterService();
|
||||
|
||||
void initialize(const std::string& url,
|
||||
const std::string& path,
|
||||
const std::string& channel,
|
||||
void initialize(const std::string& channel,
|
||||
const std::string& version,
|
||||
const std::string& platform,
|
||||
const std::string& platform_version,
|
||||
|
|
|
|||
|
|
@ -44,8 +44,7 @@
|
|||
*****************************************************************************/
|
||||
LLUpdateChecker::LLUpdateChecker(LLUpdateChecker::Client & client)
|
||||
{}
|
||||
void LLUpdateChecker::checkVersion(std::string const & hostUrl,
|
||||
std::string const & servicePath,
|
||||
void LLUpdateChecker::checkVersion(std::string const & urlBase,
|
||||
std::string const & channel,
|
||||
std::string const & version,
|
||||
std::string const & platform,
|
||||
|
|
@ -91,6 +90,21 @@ bool LLDir::setCacheDir(const std::string &path){ return true; }
|
|||
void LLDir::dumpCurrentDirectories() {}
|
||||
void LLDir::updatePerAccountChatLogsDir() {}
|
||||
|
||||
#include "llviewernetwork.h"
|
||||
LLGridManager::LLGridManager() :
|
||||
mGrid("test.grid.lindenlab.com"),
|
||||
mIsInProductionGrid(false)
|
||||
{
|
||||
}
|
||||
std::string LLGridManager::getUpdateServiceURL()
|
||||
{
|
||||
return "https://update.secondlife.com/update";
|
||||
}
|
||||
LLGridManager::~LLGridManager()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
std::string LLDir::getExpandedFilename(ELLPath location,
|
||||
const std::string &filename) const
|
||||
{
|
||||
|
|
@ -179,10 +193,10 @@ namespace tut
|
|||
try
|
||||
{
|
||||
unsigned char id1[MD5HEX_STR_SIZE] = "11111111111111111111111111111111";
|
||||
updater.initialize(test_url, "update" ,test_channel, test_version, "win", "1.2.3", id1, true);
|
||||
updater.initialize(test_channel, test_version, "win", "1.2.3", id1, true);
|
||||
updater.startChecking();
|
||||
unsigned char id2[MD5HEX_STR_SIZE] = "22222222222222222222222222222222";
|
||||
updater.initialize("other_url", "update", test_channel, test_version, "win", "4.5.6", id2, true);
|
||||
updater.initialize(test_channel, test_version, "win", "4.5.6", id2, true);
|
||||
}
|
||||
catch(LLUpdaterService::UsageError)
|
||||
{
|
||||
|
|
@ -197,7 +211,7 @@ namespace tut
|
|||
DEBUG;
|
||||
LLUpdaterService updater;
|
||||
unsigned char id[MD5HEX_STR_SIZE] = "33333333333333333333333333333333";
|
||||
updater.initialize(test_url, "update", test_channel, test_version, "win", "7.8.9", id, true);
|
||||
updater.initialize(test_channel, test_version, "win", "7.8.9", id, true);
|
||||
updater.startChecking();
|
||||
ensure(updater.isChecking());
|
||||
updater.stopChecking();
|
||||
|
|
|
|||
Loading…
Reference in New Issue