diff options
Diffstat (limited to 'indra/viewer_components/updater')
4 files changed, 24 insertions, 18 deletions
| diff --git a/indra/viewer_components/updater/llupdatedownloader.cpp b/indra/viewer_components/updater/llupdatedownloader.cpp index 382689afa0..cd4b108c1a 100644 --- a/indra/viewer_components/updater/llupdatedownloader.cpp +++ b/indra/viewer_components/updater/llupdatedownloader.cpp @@ -27,9 +27,10 @@  #include "llupdatedownloader.h"  #include "httpcommon.h" -#include <stdexcept> +#include "llexception.h"  #include <boost/format.hpp>  #include <boost/lexical_cast.hpp> +#include <boost/throw_exception.hpp>  #include <curl/curl.h>  #include "lldir.h"  #include "llevents.h" @@ -85,11 +86,11 @@ private:  namespace {  	class DownloadError: -		public std::runtime_error +		public LLException  	{  	public:  		DownloadError(const char * message): -			std::runtime_error(message) +			LLException(message)  		{  			; // No op.  		} @@ -467,7 +468,7 @@ void LLUpdateDownloader::Implementation::initializeCurlGet(std::string const & u  	if(!mCurl)  	{ -		throw DownloadError("failed to initialize curl"); +		BOOST_THROW_EXCEPTION(DownloadError("failed to initialize curl"));  	}      throwOnCurlError(curl_easy_setopt(mCurl.get(), CURLOPT_NOSIGNAL, true));  	throwOnCurlError(curl_easy_setopt(mCurl.get(), CURLOPT_FOLLOWLOCATION, true)); @@ -508,7 +509,7 @@ void LLUpdateDownloader::Implementation::resumeDownloading(size_t startByte)  	mHeaderList = curl_slist_append(mHeaderList, rangeHeaderFormat.str().c_str());  	if(mHeaderList == 0)  	{ -		throw DownloadError("cannot add Range header"); +		BOOST_THROW_EXCEPTION(DownloadError("cannot add Range header"));  	}  	throwOnCurlError(curl_easy_setopt(mCurl.get(), CURLOPT_HTTPHEADER, mHeaderList)); @@ -524,7 +525,7 @@ void LLUpdateDownloader::Implementation::startDownloading(LLURI const & uri, std  	mDownloadData["hash"] = hash;  	mDownloadData["current_version"] = ll_get_version();  	LLSD path = uri.pathArray(); -	if(path.size() == 0) throw DownloadError("no file path"); +	if(path.size() == 0) BOOST_THROW_EXCEPTION(DownloadError("no file path"));  	std::string fileName = path[path.size() - 1].asString();  	std::string filePath = gDirUtilp->getExpandedFilename(LL_PATH_TEMP, fileName);  	mDownloadData["path"] = filePath; @@ -547,9 +548,9 @@ void LLUpdateDownloader::Implementation::throwOnCurlError(CURLcode code)  	if(code != CURLE_OK) {  		const char * errorString = curl_easy_strerror(code);  		if(errorString != 0) { -			throw DownloadError(curl_easy_strerror(code)); +			BOOST_THROW_EXCEPTION(DownloadError(curl_easy_strerror(code)));  		} else { -			throw DownloadError("unknown curl error"); +			BOOST_THROW_EXCEPTION(DownloadError("unknown curl error"));  		}  	} else {  		; // No op. diff --git a/indra/viewer_components/updater/llupdateinstaller.cpp b/indra/viewer_components/updater/llupdateinstaller.cpp index 4432c6574e..9f9a08f590 100644 --- a/indra/viewer_components/updater/llupdateinstaller.cpp +++ b/indra/viewer_components/updater/llupdateinstaller.cpp @@ -30,17 +30,18 @@  #include "llupdateinstaller.h"  #include "lldir.h"   #include "llsd.h" +#include "llexception.h"  #if defined(LL_WINDOWS)  #pragma warning(disable: 4702)      // disable 'unreachable code' so we can use lexical_cast (really!).  #endif  #include <boost/lexical_cast.hpp> -#include <stdexcept> +#include <boost/throw_exception.hpp>  namespace { -	struct RelocateError: public std::runtime_error +	struct RelocateError: public LLException  	{ -		RelocateError(): std::runtime_error("llupdateinstaller: RelocateError") {} +		RelocateError(): LLException("llupdateinstaller: RelocateError") {}  	};  	std::string copy_to_temp(std::string const & path) @@ -48,7 +49,7 @@ namespace {  		std::string scriptFile = gDirUtilp->getBaseFileName(path);  		std::string newPath = gDirUtilp->getExpandedFilename(LL_PATH_TEMP, scriptFile);  		apr_status_t status = apr_file_copy(path.c_str(), newPath.c_str(), APR_FILE_SOURCE_PERMS, gAPRPoolp); -		if(status != APR_SUCCESS) throw RelocateError(); +		if(status != APR_SUCCESS) BOOST_THROW_EXCEPTION(RelocateError());  		return newPath;  	} diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index 788955a1b2..0bdd1ede43 100644 --- a/indra/viewer_components/updater/llupdaterservice.cpp +++ b/indra/viewer_components/updater/llupdaterservice.cpp @@ -35,6 +35,7 @@  #include <boost/scoped_ptr.hpp>  #include <boost/weak_ptr.hpp> +#include <boost/throw_exception.hpp>  #include "lldir.h"  #include "llsdserialize.h"  #include "llfile.h" @@ -190,8 +191,9 @@ void LLUpdaterServiceImpl::initialize(const std::string&  channel,  {  	if(mIsChecking || mIsDownloading)  	{ -		throw LLUpdaterService::UsageError("LLUpdaterService::initialize call " -										   "while updater is running."); +		BOOST_THROW_EXCEPTION( +			LLUpdaterService::UsageError("LLUpdaterService::initialize call " +										 "while updater is running."));  	}  	mChannel = channel; @@ -222,8 +224,9 @@ void LLUpdaterServiceImpl::startChecking(bool install_if_ready)  {  	if(mChannel.empty() || mVersion.empty())  	{ -		throw LLUpdaterService::UsageError("Set params before call to " -			"LLUpdaterService::startCheck()."); +		BOOST_THROW_EXCEPTION( +			LLUpdaterService::UsageError("Set params before call to " +										 "LLUpdaterService::startCheck()."));  	}  	mIsChecking = true; diff --git a/indra/viewer_components/updater/llupdaterservice.h b/indra/viewer_components/updater/llupdaterservice.h index 95bbe1695c..78e8c6b290 100644 --- a/indra/viewer_components/updater/llupdaterservice.h +++ b/indra/viewer_components/updater/llupdaterservice.h @@ -29,16 +29,17 @@  #include <boost/shared_ptr.hpp>  #include <boost/function.hpp>  #include "llhasheduniqueid.h" +#include "llexception.h"  class LLUpdaterServiceImpl;  class LLUpdaterService  {  public: -	class UsageError: public std::runtime_error +	class UsageError: public LLException  	{  	public: -		UsageError(const std::string& msg) : std::runtime_error(msg) {} +		UsageError(const std::string& msg) : LLException(msg) {}  	};  	// Name of the event pump through which update events will be delivered. | 
