diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2019-05-30 16:35:45 -0400 |
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2020-03-25 16:01:31 -0400 |
| commit | 378e4fae94c9c16b0b9070d7c7d3f63cba8aee94 (patch) | |
| tree | 6985c0526397c17282a56dd31100bdfb6898f708 /indra/newview/llversioninfo.cpp | |
| parent | 8bb8d7e5b7433ada8eef068016054d4eb2c645b8 (diff) | |
SL-11216: Introduce LLVersionInfo::getReleaseNotes() method.
The default string returned by getReleaseNotes() is empty. It must be set by
posting the relevant release-notes URL string to a new LLEventMailDrop
instance named "relnotes".
Add unique_ptr<LLEventMailDrop> and unique_ptr<LLStoreListener<std::string>>
to LLVersionInfo -- using unique_ptr to leave those classes opaque to
header-file consumers. Introduce an out-of-line destructor to handle the
unique_ptr<opaque> idiom.
Initialize the LLEventMailDrop with the desired name; initialize the
LLStoreListener with that LLEventMailDrop and the data member returned by
getReleaseNotes().
Diffstat (limited to 'indra/newview/llversioninfo.cpp')
| -rw-r--r-- | indra/newview/llversioninfo.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp index f4b1f2566d..4720a989b0 100644 --- a/indra/newview/llversioninfo.cpp +++ b/indra/newview/llversioninfo.cpp @@ -26,8 +26,8 @@ */ #include "llviewerprecompiledheaders.h" -#include <iostream> -#include <sstream> +#include "llevents.h" +#include "lleventfilter.h" #include "llversioninfo.h" #include "stringize.h" #include <boost/regex.hpp> @@ -45,14 +45,19 @@ // LLVersionInfo::LLVersionInfo(): + short_version(STRINGIZE(LL_VIEWER_VERSION_MAJOR << "." + << LL_VIEWER_VERSION_MINOR << "." + << LL_VIEWER_VERSION_PATCH)), // LL_VIEWER_CHANNEL is a macro defined on the compiler command line. The // macro expands to the string name of the channel, but without quotes. We // need to turn it into a quoted string. LL_TO_STRING() does that. mWorkingChannelName(LL_TO_STRING(LL_VIEWER_CHANNEL)), build_configuration(LLBUILD_CONFIG), // set in indra/cmake/BuildVersion.cmake - short_version(STRINGIZE(LL_VIEWER_VERSION_MAJOR << "." - << LL_VIEWER_VERSION_MINOR << "." - << LL_VIEWER_VERSION_PATCH)) + // instantiate an LLEventMailDrop with canonical name to listen for news + // from SLVersionChecker + mPump{new LLEventMailDrop("relnotes")}, + // immediately listen on mPump, store arriving URL into mReleaseNotes + mStore{new LLStoreListener<std::string>(*mPump, mReleaseNotes)} { } @@ -67,6 +72,10 @@ void LLVersionInfo::initSingleton() version = STRINGIZE(getShortVersion() << "." << getBuild()); } +LLVersionInfo::~LLVersionInfo() +{ +} + S32 LLVersionInfo::getMajor() { return LL_VIEWER_VERSION_MAJOR; @@ -161,3 +170,8 @@ std::string LLVersionInfo::getBuildConfig() { return build_configuration; } + +std::string LLVersionInfo::getReleaseNotes() +{ + return mReleaseNotes; +} |
