diff options
Diffstat (limited to 'src/warnings.cpp')
-rw-r--r-- | src/warnings.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/warnings.cpp b/src/warnings.cpp index 84b021dad5..38c0554cf2 100644 --- a/src/warnings.cpp +++ b/src/warnings.cpp @@ -3,22 +3,21 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#if defined(HAVE_CONFIG_H) -#include <config/bitcoin-config.h> -#endif +#include <config/bitcoin-config.h> // IWYU pragma: keep #include <warnings.h> #include <common/system.h> #include <sync.h> -#include <util/string.h> #include <util/translation.h> +#include <optional> #include <vector> static GlobalMutex g_warnings_mutex; static bilingual_str g_misc_warnings GUARDED_BY(g_warnings_mutex); static bool fLargeWorkInvalidChainFound GUARDED_BY(g_warnings_mutex) = false; +static std::optional<bilingual_str> g_timeoffset_warning GUARDED_BY(g_warnings_mutex){}; void SetMiscWarning(const bilingual_str& warning) { @@ -32,33 +31,35 @@ void SetfLargeWorkInvalidChainFound(bool flag) fLargeWorkInvalidChainFound = flag; } -bilingual_str GetWarnings(bool verbose) +void SetMedianTimeOffsetWarning(std::optional<bilingual_str> warning) { - bilingual_str warnings_concise; - std::vector<bilingual_str> warnings_verbose; + LOCK(g_warnings_mutex); + g_timeoffset_warning = warning; +} + +std::vector<bilingual_str> GetWarnings() +{ + std::vector<bilingual_str> warnings; LOCK(g_warnings_mutex); // Pre-release build warning if (!CLIENT_VERSION_IS_RELEASE) { - warnings_concise = _("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"); - warnings_verbose.emplace_back(warnings_concise); + warnings.emplace_back(_("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications")); } // Misc warnings like out of disk space and clock is wrong if (!g_misc_warnings.empty()) { - warnings_concise = g_misc_warnings; - warnings_verbose.emplace_back(warnings_concise); + warnings.emplace_back(g_misc_warnings); } if (fLargeWorkInvalidChainFound) { - warnings_concise = _("Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade."); - warnings_verbose.emplace_back(warnings_concise); + warnings.emplace_back(_("Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.")); } - if (verbose) { - return Join(warnings_verbose, Untranslated("<hr />")); + if (g_timeoffset_warning) { + warnings.emplace_back(g_timeoffset_warning.value()); } - return warnings_concise; + return warnings; } |