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