From b5342e238a96ee00d7d2afa3883b1596291587cc Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 27 Feb 2007 17:52:10 +0000 Subject: svn merge -r58163:58241 loadstone-sim-standby, reduces database load from standby sims polling the database for a region to run --- indra/llcommon/llerror.cpp | 2 +- indra/llcommon/llliveappconfig.cpp | 46 ++++++++++++++++++++++++++++++++++++++ indra/llcommon/llliveappconfig.h | 33 +++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 indra/llcommon/llliveappconfig.cpp create mode 100644 indra/llcommon/llliveappconfig.h (limited to 'indra/llcommon') diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 52b37bb05c..1ed25a0d17 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -277,7 +277,7 @@ namespace } LLError::configure(configuration); - llwarns << "error logging reconfigured from " << filename() << llendl; + llinfos << "logging reconfigured from " << filename() << llendl; } diff --git a/indra/llcommon/llliveappconfig.cpp b/indra/llcommon/llliveappconfig.cpp new file mode 100644 index 0000000000..8bcaeb898f --- /dev/null +++ b/indra/llcommon/llliveappconfig.cpp @@ -0,0 +1,46 @@ +/** + * @file llliveappconfig.cpp + * @brief Configuration information for an LLApp that overrides indra.xml + * + * Copyright (c) 2003-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#include "linden_common.h" + +#include "llliveappconfig.h" + +#include "llapp.h" +#include "llsd.h" +#include "llsdserialize.h" + +LLLiveAppConfig::LLLiveAppConfig(LLApp* app, const std::string& filename, F32 refresh_period) +: LLLiveFile(filename, refresh_period), + mApp(app) +{ } + + +LLLiveAppConfig::~LLLiveAppConfig() +{ } + +// virtual +void LLLiveAppConfig::loadFile() +{ + llinfos << "LLLiveAppConfig::loadFile(): reading from " + << filename() << llendl; + llifstream file(filename().c_str()); + LLSD config; + if (file.is_open()) + { + LLSDSerialize::fromXML(config, file); + if(!config.isMap()) + { + llinfos << "LLDataserverConfig::loadFile(): not an map!" + << " Ignoring the data." << llendl; + return; + } + file.close(); + } + mApp->setOptionData( + LLApp::PRIORITY_SPECIFIC_CONFIGURATION, config); +} diff --git a/indra/llcommon/llliveappconfig.h b/indra/llcommon/llliveappconfig.h new file mode 100644 index 0000000000..ceceda5b18 --- /dev/null +++ b/indra/llcommon/llliveappconfig.h @@ -0,0 +1,33 @@ +/** + * @file llliveappconfig.h + * @brief Configuration information for an LLApp that overrides indra.xml + * + * Copyright (c) 2003-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LLLIVEAPPCONFIG_H +#define LLLIVEAPPCONFIG_H + +#include "lllivefile.h" + +class LLApp; + +class LLLiveAppConfig : public LLLiveFile +{ +public: + // To use this, instantiate a LLLiveAppConfig object inside your main loop. + // The traditional name for it is live_config. + // Be sure to call live_config.checkAndReload() periodically. + + LLLiveAppConfig(LLApp* app, const std::string& filename, F32 refresh_period); + ~LLLiveAppConfig(); + +protected: + /*virtual*/ void loadFile(); + +private: + LLApp* mApp; +}; + +#endif -- cgit v1.2.3