From b33c37c28d94e45e67c9176e420d6e386970f6dd Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Fri, 14 May 2010 13:51:33 -0700 Subject: Set the imprudence viewer version in xml --- linden/indra/llcommon/llversionviewer.h | 13 +++- linden/indra/newview/CMakeLists.txt | 3 + .../indra/newview/app_settings/viewerversion.xml | 25 ++++++ linden/indra/newview/floaterlogin.cpp | 1 - linden/indra/newview/hippoUpdate.cpp | 2 +- linden/indra/newview/llappviewer.cpp | 69 +++++++++-------- linden/indra/newview/llfloaterabout.cpp | 21 +++-- linden/indra/newview/llfloaterreporter.cpp | 25 +++--- linden/indra/newview/llnotify.cpp | 1 - linden/indra/newview/llpanellogin.cpp | 25 +++--- linden/indra/newview/llstartup.cpp | 8 +- linden/indra/newview/lluserauth.cpp | 2 - linden/indra/newview/llviewerassetstorage.cpp | 1 - linden/indra/newview/llviewerbuild.h | 6 +- linden/indra/newview/llviewercontrol.cpp | 1 - linden/indra/newview/llviewermedia.cpp | 4 +- linden/indra/newview/viewerversion.cpp | 89 ++++++++++++++++++++++ linden/indra/newview/viewerversion.h | 79 +++++++++++++++++++ 18 files changed, 287 insertions(+), 88 deletions(-) create mode 100644 linden/indra/newview/app_settings/viewerversion.xml create mode 100644 linden/indra/newview/viewerversion.cpp create mode 100644 linden/indra/newview/viewerversion.h (limited to 'linden/indra') diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h index 799ad5f..ab74a3f 100644 --- a/linden/indra/llcommon/llversionviewer.h +++ b/linden/indra/llcommon/llversionviewer.h @@ -33,19 +33,26 @@ #ifndef LL_LLVERSIONVIEWER_H #define LL_LLVERSIONVIEWER_H +// Version info should be accessed using newview\viewerversion.h -- MC + const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 23; const S32 LL_VERSION_PATCH = 5; const S32 LL_VERSION_BUILD = 136262; -const char * const LL_CHANNEL = "Imprudence"; - const char * const LL_VIEWER_NAME = "Second Life"; + +// These aren't used anymore. +// The channel is ViewerChannelName in settings.xml +// The Imprudence version is set in app_settings\viewerversion.xml -- MC + +/*const char * const LL_CHANNEL = "Imprudence"; + const char * const IMP_VIEWER_NAME = "Imprudence"; const S32 IMP_VERSION_MAJOR = 1; const S32 IMP_VERSION_MINOR = 3; const S32 IMP_VERSION_PATCH = 0; -const char * const IMP_VERSION_TEST = "beta 4"; +const char * const IMP_VERSION_TEST = "beta 4";*/ #endif diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index 1af5e9e..70d4257 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -468,6 +468,7 @@ set(viewer_SOURCE_FILES rlvmultistringsearch.cpp rlvextensions.cpp rlvfloaterbehaviour.cpp + viewerversion.cpp ) set(VIEWER_BINARY_NAME "imprudence-bin" CACHE STRING @@ -905,6 +906,7 @@ set(viewer_HEADER_FILES rlvmultistringsearch.h rlvextensions.h rlvfloaterbehaviour.h + viewerversion.h ) source_group("CMake Rules" FILES ViewerInstall.cmake) @@ -1313,6 +1315,7 @@ set(viewer_APPSETTINGS_FILES app_settings/trees.xml app_settings/ultra_graphics.xml app_settings/viewerart.xml + app_settings/viewerversion.xml ${CMAKE_SOURCE_DIR}/../etc/message.xml ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg ) diff --git a/linden/indra/newview/app_settings/viewerversion.xml b/linden/indra/newview/app_settings/viewerversion.xml new file mode 100644 index 0000000..0ef2332 --- /dev/null +++ b/linden/indra/newview/app_settings/viewerversion.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/floaterlogin.cpp b/linden/indra/newview/floaterlogin.cpp index f1afc53..78aa0a2 100644 --- a/linden/indra/newview/floaterlogin.cpp +++ b/linden/indra/newview/floaterlogin.cpp @@ -8,7 +8,6 @@ #include #include "llviewercontrol.h" -#include "llviewerbuild.h" #include "llcombobox.h" #include "llscrolllistctrl.h" #include "llmd5.h" diff --git a/linden/indra/newview/hippoUpdate.cpp b/linden/indra/newview/hippoUpdate.cpp index 872ca30..f6947ad 100644 --- a/linden/indra/newview/hippoUpdate.cpp +++ b/linden/indra/newview/hippoUpdate.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +//#include #include "llviewercontrol.h" #include "llviewernetwork.h" #include "llweb.h" diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index e5a915a..22b18ce 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -35,7 +35,6 @@ #include "llappviewer.h" #include "llprimitive.h" -#include "llversionviewer.h" #include "llfeaturemanager.h" #include "lluictrlfactory.h" #include "lltexteditor.h" @@ -151,6 +150,7 @@ #include "llflexibleobject.h" #include "llvosurfacepatch.h" #include "llslider.h" +#include "viewerversion.h" // includes for idle() idleShutdown() #include "llviewercontrol.h" @@ -577,7 +577,7 @@ bool LLAppViewer::init() // Need to do this initialization before we do anything else, since anything // that touches files should really go through the lldir API - gDirUtilp->initAppDirs(IMP_VIEWER_NAME); + gDirUtilp->initAppDirs(ViewerVersion::getImpViewerName()); // set skin search path to default, will be overridden later // this allows simple skinned file lookups to work gDirUtilp->setSkinFolder("default"); @@ -601,15 +601,15 @@ bool LLAppViewer::init() // Build a string representing the current version number. gCurrentVersion = llformat("%s %d.%d.%d %s / %s %d.%d.%d.%d", gSavedSettings.getString("VersionChannelName").c_str(), - IMP_VERSION_MAJOR, - IMP_VERSION_MINOR, - IMP_VERSION_PATCH, - IMP_VERSION_TEST, - LL_VIEWER_NAME, - LL_VERSION_MAJOR, - LL_VERSION_MINOR, - LL_VERSION_PATCH, - LL_VERSION_BUILD ); + ViewerVersion::getImpMajorVersion(), + ViewerVersion::getImpMinorVersion(), + ViewerVersion::getImpPatchVersion(), + ViewerVersion::getImpTestVersion().c_str(), + ViewerVersion::getLLViewerName().c_str(), + ViewerVersion::getLLMajorVersion(), + ViewerVersion::getLLMinorVersion(), + ViewerVersion::getLLPatchVersion(), + ViewerVersion::getLLBuildVersion() ); ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -1685,6 +1685,9 @@ std::string LLAppViewer::getSettingsFilename(const std::string& location_key, bool LLAppViewer::initConfiguration() { + // init Imprudence version - MC + ViewerVersion::initViewerVersion(); + //Set up internal pointers gSettings[sGlobalSettingsName] = &gSavedSettings; gSettings[sPerAccountSettingsName] = &gSavedPerAccountSettings; @@ -1732,7 +1735,7 @@ bool LLAppViewer::initConfiguration() // gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, getSettingsFilename("Default", "Global"))); gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "settings_imprudence.xml")); - gSavedSettings.setString("VersionChannelName", IMP_VIEWER_NAME); + gSavedSettings.setString("VersionChannelName", ViewerVersion::getImpViewerName()); //*FIX:Mani - Set default to disabling watchdog mainloop // timeout for mac and linux. There is no call stack info @@ -1970,7 +1973,7 @@ bool LLAppViewer::initConfiguration() mYieldTime = gSavedSettings.getS32("YieldTime"); // XUI:translate - gSecondLife = IMP_VIEWER_NAME; + gSecondLife = ViewerVersion::getImpViewerName(); // Read skin/branding settings if specified. //if (! gDirUtilp->getSkinDir().empty() ) @@ -2339,14 +2342,14 @@ void LLAppViewer::writeSystemInfo() gDebugInfo["SLLog"] = LLError::logFileName(); gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); - gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; - gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; - gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; - gDebugInfo["ClientInfo"]["ImpTestVersion"] = IMP_VERSION_TEST; - gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; - gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; - gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; - gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD; + gDebugInfo["ClientInfo"]["ImpMajorVersion"] = ViewerVersion::getImpMajorVersion(); + gDebugInfo["ClientInfo"]["ImpMinorVersion"] = ViewerVersion::getImpMinorVersion(); + gDebugInfo["ClientInfo"]["ImpPatchVersion"] = ViewerVersion::getImpPatchVersion(); + gDebugInfo["ClientInfo"]["ImpTestVersion"] = ViewerVersion::getImpTestVersion(); + gDebugInfo["ClientInfo"]["MajorVersion"] = ViewerVersion::getLLMajorVersion(); + gDebugInfo["ClientInfo"]["MinorVersion"] = ViewerVersion::getLLMinorVersion(); + gDebugInfo["ClientInfo"]["PatchVersion"] = ViewerVersion::getLLPatchVersion(); + gDebugInfo["ClientInfo"]["BuildVersion"] = ViewerVersion::getLLBuildVersion(); gDebugInfo["CAFilename"] = gDirUtilp->getCAFile(); @@ -2433,14 +2436,14 @@ void LLAppViewer::handleViewerCrash() //to check against no matter what gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); - gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; - gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; - gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; - gDebugInfo["ClientInfo"]["ImpTestVersion"] = IMP_VERSION_TEST; - gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; - gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; - gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; - gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD; + gDebugInfo["ClientInfo"]["ImpMajorVersion"] = ViewerVersion::getImpMajorVersion(); + gDebugInfo["ClientInfo"]["ImpMinorVersion"] = ViewerVersion::getImpMinorVersion(); + gDebugInfo["ClientInfo"]["ImpPatchVersion"] = ViewerVersion::getImpPatchVersion(); + gDebugInfo["ClientInfo"]["ImpTestVersion"] = ViewerVersion::getImpTestVersion(); + gDebugInfo["ClientInfo"]["MajorVersion"] = ViewerVersion::getLLMajorVersion(); + gDebugInfo["ClientInfo"]["MinorVersion"] = ViewerVersion::getLLMinorVersion(); + gDebugInfo["ClientInfo"]["PatchVersion"] = ViewerVersion::getLLPatchVersion(); + gDebugInfo["ClientInfo"]["BuildVersion"] = ViewerVersion::getLLBuildVersion(); LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); if ( parcel && parcel->getMusicURL()[0]) @@ -4115,10 +4118,10 @@ void LLAppViewer::handleLoginComplete() // Store some data to DebugInfo in case of a freeze. gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); - gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; - gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; - gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; - gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD; + gDebugInfo["ClientInfo"]["MajorVersion"] = ViewerVersion::getLLMajorVersion(); + gDebugInfo["ClientInfo"]["MinorVersion"] = ViewerVersion::getLLMinorVersion(); + gDebugInfo["ClientInfo"]["PatchVersion"] = ViewerVersion::getLLPatchVersion(); + gDebugInfo["ClientInfo"]["BuildVersion"] = ViewerVersion::getLLBuildVersion(); gDebugInfo["SettingsFilename"] = gSavedSettings.getString("ClientSettingsFile"); gDebugInfo["CAFilename"] = gDirUtilp->getCAFile(); gDebugInfo["ViewerExePath"] = gDirUtilp->getExecutablePathAndName(); diff --git a/linden/indra/newview/llfloaterabout.cpp b/linden/indra/newview/llfloaterabout.cpp index 772428e..7e6c43f 100644 --- a/linden/indra/newview/llfloaterabout.cpp +++ b/linden/indra/newview/llfloaterabout.cpp @@ -50,8 +50,6 @@ #include "llagent.h" #include "llviewerstats.h" #include "llviewerregion.h" -#include "llversionviewer.h" -#include "llviewerbuild.h" #include "lluictrlfactory.h" #include "lluri.h" #include "llweb.h" @@ -61,6 +59,7 @@ #include "llglheaders.h" #include "llmediamanager.h" #include "llwindow.h" +#include "viewerversion.h" #if LL_WINDOWS #include "lldxhardware.h" @@ -118,10 +117,10 @@ LLFloaterAbout::LLFloaterAbout() // Version string std::string version = llformat( "%s %d.%d.%d %s / %s %d.%d.%d (%d), %s %s\n", - IMP_VIEWER_NAME, - IMP_VERSION_MAJOR, IMP_VERSION_MINOR, IMP_VERSION_PATCH, IMP_VERSION_TEST, - LL_VIEWER_NAME, - LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD, + ViewerVersion::getImpViewerName().c_str(), + ViewerVersion::getImpMajorVersion(), ViewerVersion::getImpMinorVersion(), ViewerVersion::getImpPatchVersion(), ViewerVersion::getImpTestVersion().c_str(), + ViewerVersion::getLLViewerName().c_str(), + ViewerVersion::getLLMajorVersion(), ViewerVersion::getLLMinorVersion(), ViewerVersion::getLLPatchVersion(), ViewerVersion::getLLBuildVersion(), __DATE__, __TIME__); support_widget->appendColoredText(version, FALSE, FALSE, gColors.getColor("TextFgReadOnlyColor")); @@ -315,13 +314,13 @@ void LLFloaterAbout::show(void*) static std::string get_viewer_release_notes_url() { std::ostringstream version; - version << IMP_VERSION_MAJOR << "." - << IMP_VERSION_MINOR << "." - << IMP_VERSION_PATCH; + version << ViewerVersion::getImpMajorVersion() << "." + << ViewerVersion::getImpMinorVersion() << "." + << ViewerVersion::getImpPatchVersion(); // Append the test version if it's not empty - if( strcmp(IMP_VERSION_TEST, "") != 0 ) - version << "-" << IMP_VERSION_TEST; + if( !(ViewerVersion::getImpTestVersion().empty()) ) + version << "-" << ViewerVersion::getImpTestVersion(); std::ostringstream url; url << RELEASE_NOTES_BASE_URL << version.str(); diff --git a/linden/indra/newview/llfloaterreporter.cpp b/linden/indra/newview/llfloaterreporter.cpp index 7a5f2ba..a7f41ea 100644 --- a/linden/indra/newview/llfloaterreporter.cpp +++ b/linden/indra/newview/llfloaterreporter.cpp @@ -45,7 +45,6 @@ #include "llinventory.h" #include "llstring.h" #include "llsys.h" -#include "llversionviewer.h" #include "message.h" #include "v3math.h" @@ -79,9 +78,9 @@ #include "llfloateravatarpicker.h" #include "lldir.h" #include "llselectmgr.h" -#include "llviewerbuild.h" #include "lluictrlfactory.h" #include "llviewernetwork.h" +#include "viewerversion.h" #include "llassetuploadresponders.h" @@ -738,10 +737,10 @@ LLSD LLFloaterReporter::gatherReport() if ( mReportType == BUG_REPORT) { - summary << short_platform << " V" << LL_VERSION_MAJOR << "." - << LL_VERSION_MINOR << "." - << LL_VERSION_PATCH << "." - << LL_VIEWER_BUILD + summary << short_platform << " V" << ViewerVersion::getLLMajorVersion() << "." + << ViewerVersion::getLLMinorVersion() << "." + << ViewerVersion::getLLPatchVersion() << "." + << ViewerVersion::getLLBuildVersion() << " (" << regionp->getName() << ")" << "[" << category_name << "] " << "\"" << childGetValue("summary_edit").asString() << "\""; @@ -759,10 +758,10 @@ LLSD LLFloaterReporter::gatherReport() std::ostringstream details; if (mReportType != BUG_REPORT) { - details << "V" << LL_VERSION_MAJOR << "." // client version moved to body of email for abuse reports - << LL_VERSION_MINOR << "." - << LL_VERSION_PATCH << "." - << LL_VIEWER_BUILD << std::endl << std::endl; + details << "V" << ViewerVersion::getLLMajorVersion() << "." // client version moved to body of email for abuse reports + << ViewerVersion::getLLMinorVersion() << "." + << ViewerVersion::getLLPatchVersion() << "." + << ViewerVersion::getLLBuildVersion() << std::endl << std::endl; } std::string object_name = childGetText("object_name"); std::string owner_name = childGetText("owner_name"); @@ -783,9 +782,9 @@ LLSD LLFloaterReporter::gatherReport() std::string version_string; version_string = llformat( "%d.%d.%d %s %s %s %s", - LL_VERSION_MAJOR, - LL_VERSION_MINOR, - LL_VERSION_PATCH, + ViewerVersion::getLLMajorVersion(), + ViewerVersion::getLLMinorVersion(), + ViewerVersion::getLLPatchVersion(), platform, gSysCPU.getFamily().c_str(), gGLManager.mGLRenderer.c_str(), diff --git a/linden/indra/newview/llnotify.cpp b/linden/indra/newview/llnotify.cpp index a436d2d..2afd185 100644 --- a/linden/indra/newview/llnotify.cpp +++ b/linden/indra/newview/llnotify.cpp @@ -54,7 +54,6 @@ #include "llfloaterchat.h" // for add_chat_history() #include "lloverlaybar.h" // for gOverlayBar #include "lluictrlfactory.h" -#include "llversionviewer.h" #include "hippoGridManager.h" diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index df5601a..8dde683 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp @@ -45,7 +45,6 @@ #include "llfontgl.h" #include "llmd5.h" #include "llsecondlifeurls.h" -#include "llversionviewer.h" #include "v4color.h" #include "llbutton.h" @@ -64,7 +63,6 @@ #include "llui.h" #include "lluiconstants.h" #include "llurlsimstring.h" -#include "llviewerbuild.h" #include "llviewerimagelist.h" #include "llviewermenu.h" // for handle_preferences() #include "llviewernetwork.h" @@ -76,6 +74,7 @@ #include "llhttpclient.h" #include "llweb.h" #include "llwebbrowserctrl.h" +#include "viewerversion.h" #include "llfloaterhtml.h" @@ -264,17 +263,17 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, std::string imp_channel = gSavedSettings.getString("VersionChannelName"); std::string imp_version = llformat("%d.%d.%d %s", - IMP_VERSION_MAJOR, - IMP_VERSION_MINOR, - IMP_VERSION_PATCH, - IMP_VERSION_TEST ); + ViewerVersion::getImpMajorVersion(), + ViewerVersion::getImpMinorVersion(), + ViewerVersion::getImpPatchVersion(), + ViewerVersion::getImpTestVersion().c_str() ); - std::string ll_channel = LL_VIEWER_NAME; + std::string ll_channel = ViewerVersion::getLLViewerName(); std::string ll_version = llformat("%d.%d.%d (%d)", - LL_VERSION_MAJOR, - LL_VERSION_MINOR, - LL_VERSION_PATCH, - LL_VIEWER_BUILD ); + ViewerVersion::getLLMajorVersion(), + ViewerVersion::getLLMinorVersion(), + ViewerVersion::getLLPatchVersion(), + ViewerVersion::getLLBuildVersion() ); LLTextBox* channel_text = getChild("channel_text"); channel_text->setTextArg("[CHANNEL]", imp_channel); @@ -845,8 +844,8 @@ void LLPanelLogin::loadLoginPage() // Channel and Version std::string version = llformat("%d.%d.%d %s", - IMP_VERSION_MAJOR, IMP_VERSION_MINOR, - IMP_VERSION_PATCH, IMP_VERSION_TEST); + ViewerVersion::getImpMajorVersion(), ViewerVersion::getImpMinorVersion(), + ViewerVersion::getImpPatchVersion(), ViewerVersion::getImpTestVersion().c_str() ); char* curl_channel = curl_escape(gSavedSettings.getString("VersionChannelName").c_str(), 0); char* curl_version = curl_escape(version.c_str(), 0); diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index 9a6e6a0..e2b6cc5 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp @@ -73,7 +73,6 @@ #include "llsecondlifeurls.h" #include "llstring.h" #include "lluserrelations.h" -#include "llversionviewer.h" #include "llvfs.h" #include "llxorcipher.h" // saved password, MAC address #include "message.h" @@ -185,6 +184,7 @@ #include "llwlparammanager.h" #include "llwaterparammanager.h" #include "llagentlanguage.h" +#include "viewerversion.h" #include "jcfloater_animation_list.h" @@ -504,9 +504,9 @@ bool idle_startup() if(!start_messaging_system( message_template_path, port, - LL_VERSION_MAJOR, - LL_VERSION_MINOR, - LL_VERSION_PATCH, + ViewerVersion::getLLMajorVersion(), + ViewerVersion::getLLMinorVersion(), + ViewerVersion::getLLPatchVersion(), FALSE, std::string(), responder, diff --git a/linden/indra/newview/lluserauth.cpp b/linden/indra/newview/lluserauth.cpp index b19692f..d76ed72 100644 --- a/linden/indra/newview/lluserauth.cpp +++ b/linden/indra/newview/lluserauth.cpp @@ -38,9 +38,7 @@ #include #include "lldir.h" -#include "llversionviewer.h" #include "llappviewer.h" -#include "llviewerbuild.h" #include "llviewercontrol.h" #include "llxmlrpctransaction.h" #include "llmd5.h" diff --git a/linden/indra/newview/llviewerassetstorage.cpp b/linden/indra/newview/llviewerassetstorage.cpp index c32e67e..a041f3a 100644 --- a/linden/indra/newview/llviewerassetstorage.cpp +++ b/linden/indra/newview/llviewerassetstorage.cpp @@ -36,7 +36,6 @@ #include "llagent.h" #include "llviewerassetstorage.h" -#include "llviewerbuild.h" #include "llvfile.h" #include "llvfs.h" diff --git a/linden/indra/newview/llviewerbuild.h b/linden/indra/newview/llviewerbuild.h index b93c45c..daf520b 100644 --- a/linden/indra/newview/llviewerbuild.h +++ b/linden/indra/newview/llviewerbuild.h @@ -30,8 +30,10 @@ * $/LicenseInfo$ */ -#include "llversionviewer.h" +// This file is not used anymore -- MC + +//#include "llversionviewer.h" // Set the build number in indra/llcommon/llversionviewer.h! -const S32 LL_VIEWER_BUILD = LL_VERSION_BUILD; +//const S32 LL_VIEWER_BUILD = LL_VERSION_BUILD; diff --git a/linden/indra/newview/llviewercontrol.cpp b/linden/indra/newview/llviewercontrol.cpp index 8bbef79..cca737c 100644 --- a/linden/indra/newview/llviewercontrol.cpp +++ b/linden/indra/newview/llviewercontrol.cpp @@ -65,7 +65,6 @@ #include "llnotify.h" #include "llkeyboard.h" #include "llerrorcontrol.h" -#include "llversionviewer.h" #include "llappviewer.h" #include "llvosurfacepatch.h" #include "llvowlsky.h" diff --git a/linden/indra/newview/llviewermedia.cpp b/linden/indra/newview/llviewermedia.cpp index b6dd9d6..6bcf8ce 100644 --- a/linden/indra/newview/llviewermedia.cpp +++ b/linden/indra/newview/llviewermedia.cpp @@ -38,8 +38,8 @@ #include "llviewercontrol.h" #include "llviewerimage.h" #include "llviewerwindow.h" -#include "llversionviewer.h" #include "llviewerimagelist.h" +#include "viewerversion.h" #include "llevent.h" // LLSimpleListener #include "llmediamanager.h" @@ -443,7 +443,7 @@ void LLViewerMediaImpl::updateBrowserUserAgent() // http://www.mozilla.org/build/revised-user-agent-strings.html std::ostringstream codec; codec << "SecondLife/"; - codec << LL_VERSION_MAJOR << "." << LL_VERSION_MINOR << "." << LL_VERSION_PATCH << "." << LL_VERSION_BUILD; + codec << ViewerVersion::getLLMajorVersion() << "." << ViewerVersion::getLLMinorVersion() << "." << ViewerVersion::getLLPatchVersion() << "." << ViewerVersion::getLLBuildVersion(); codec << " (" << channel << "; " << skin_name << " skin)"; llinfos << codec.str() << llendl; LLMediaManager::setBrowserUserAgent( codec.str() ); diff --git a/linden/indra/newview/viewerversion.cpp b/linden/indra/newview/viewerversion.cpp new file mode 100644 index 0000000..95c8f76 --- /dev/null +++ b/linden/indra/newview/viewerversion.cpp @@ -0,0 +1,89 @@ +/** +* @file viewerversion.cpp +* @brief set the viewer version in xml +* +* $LicenseInfo:firstyear=2009&license=viewergpl$ +* +* Copyright (c) 2010, McCabe Maxsted +* +* Imprudence Viewer Source Code +* The source code in this file ("Source Code") is provided to you +* under the terms of the GNU General Public License, version 2.0 +* ("GPL"). 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 SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO +* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, +* COMPLETENESS OR PERFORMANCE. +* $/LicenseInfo$ +*/ + +#include "llviewerprecompiledheaders.h" + +#include "lldir.h" +#include "llxmltree.h" +#include "viewerversion.h" + + +S32 ViewerVersion::sVersionMajor = 0; +S32 ViewerVersion::sVersionMinor = 0; +S32 ViewerVersion::sVersionPatch = 0; +std::string ViewerVersion::sVersionTest = ""; + +const std::string ViewerVersion::sViewerName = "Imprudence"; + +ViewerVersion::ViewerVersion() +{ +} + +bool ViewerVersion::initViewerVersion() +{ + std::string file_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "viewerversion.xml"); + + if (!gDirUtilp->fileExists(file_path)) + { + llwarns << "Unable to find viewerversion.xml in app_settings folder" << llendl; + return false; + } + else + { + LLXMLNodePtr root; + + if (!LLXMLNode::parseFile(file_path, root, NULL)) + { + llwarns << "Unable to parse version file: " << file_path << llendl; + return false; + } + + if (root.isNull()) // shouldn't ever happen + { + llwarns << "Error while trying to read viewerversion.xml" << llendl; + return false; + } + + LLXMLNodePtr child_nodep = root->getFirstChild(); + while (child_nodep.notNull()) + { + child_nodep->getAttributeS32("version_major", sVersionMajor); + child_nodep->getAttributeS32("version_minor", sVersionMinor); + child_nodep->getAttributeS32("version_patch", sVersionPatch); + child_nodep->getAttributeString("version_test", sVersionTest); + + child_nodep = child_nodep->getNextSibling(); + } + + llinfos << "Version set to: " << sVersionMajor << "." << sVersionMinor << "." << sVersionPatch << " " << sVersionTest << llendl; + + return true; + } +} diff --git a/linden/indra/newview/viewerversion.h b/linden/indra/newview/viewerversion.h new file mode 100644 index 0000000..d67cee5 --- /dev/null +++ b/linden/indra/newview/viewerversion.h @@ -0,0 +1,79 @@ +/** +* @file viewerversion.h +* @brief set the viewer version in xml +* +* $LicenseInfo:firstyear=2009&license=viewergpl$ +* +* Copyright (c) 2010, McCabe Maxsted +* +* Imprudence Viewer Source Code +* The source code in this file ("Source Code") is provided to you +* under the terms of the GNU General Public License, version 2.0 +* ("GPL"). 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 SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO +* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, +* COMPLETENESS OR PERFORMANCE. +* $/LicenseInfo$ +*/ + +#ifndef VIEWERVERSION_H +#define VIEWERVERSION_H + +#include "llversionviewer.h" // for LL versioning only + +class ViewerVersion +{ +public: + ViewerVersion(); + /*virtual*/ ~ViewerVersion(); + + static bool initViewerVersion(); + + // Returns the major version of Imprudence + static S32 getImpMajorVersion() { return sVersionMajor; } + // Returns the minor version of Imprudence + static S32 getImpMinorVersion() { return sVersionMinor; } + // Returns the patch version of Imprudence + static S32 getImpPatchVersion() { return sVersionPatch; } + // Returns the test version of Imprudence + static std::string getImpTestVersion() { return sVersionTest; } + // Returns the name of the viewer. Currently always "Imprudence" + static std::string getImpViewerName() { return sViewerName; } + + // Returns the major version of Second Life + static S32 getLLMajorVersion() { return LL_VERSION_MAJOR; } + // Returns the minor version of Second Life + static S32 getLLMinorVersion() { return LL_VERSION_MINOR; } + // Returns the patch version of Second Life + static S32 getLLPatchVersion() { return LL_VERSION_PATCH; } + // Returns the build version of Second Life + static S32 getLLBuildVersion() { return LL_VERSION_BUILD; } + // Returns the name of the LL viewer ("Second Life") + static std::string getLLViewerName() { return LL_VIEWER_NAME; } + + // Note that the viewer channel is set in settings.xml + // as VersionChannelName. LL_VIEWER_CHANNEL is not + // used in Imprudence + +private: + static S32 sVersionMajor; + static S32 sVersionMinor; + static S32 sVersionPatch; + static std::string sVersionTest; + + static const std::string sViewerName; +}; + +#endif // VIEWERVERSION_H -- cgit v1.1