summaryrefslogtreecommitdiff
path: root/indra/newview/llenvmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llenvmanager.h')
-rw-r--r--indra/newview/llenvmanager.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llenvmanager.h b/indra/newview/llenvmanager.h
index f52eaf5a4b..eb678e000e 100644
--- a/indra/newview/llenvmanager.h
+++ b/indra/newview/llenvmanager.h
@@ -259,6 +259,9 @@ class LLEnvManagerNew : public LLSingleton<LLEnvManagerNew>
{
LOG_CLASS(LLEnvManagerNew);
public:
+ typedef boost::signals2::signal<void()> region_settings_change_signal_t;
+ typedef boost::signals2::signal<void()> region_change_signal_t;
+
LLEnvManagerNew();
// getters to access user env. preferences
@@ -293,7 +296,10 @@ public:
static LLSD getDayCycleByName(const std::string name);
// Misc.
+ void requestRegionSettings();
bool sendRegionSettings(const LLEnvironmentSettings& new_settings);
+ boost::signals2::connection setRegionSettingsChangeCallback(const region_settings_change_signal_t::slot_type& cb);
+ boost::signals2::connection setRegionChangeCallback(const region_change_signal_t::slot_type& cb);
// Public callbacks.
void onRegionCrossing();
@@ -305,10 +311,15 @@ private:
/*virtual*/ void initSingleton();
void updateManagersFromPrefs(bool interpolate);
- void requestRegionSettings();
void onRegionChange(bool interpolate);
+ /// Emitted when region environment settings update comes.
+ region_settings_change_signal_t mRegionSettingsChangeSignal;
+
+ /// Emitted when agent region changes. Move to LLAgent?
+ region_settings_change_signal_t mRegionChangeSignal;
+
LLEnvPrefs mUserPrefs; /// User environment preferences.
LLEnvironmentSettings mCachedRegionPrefs; /// Cached region environment settings.
bool mInterpNextChangeMessage; /// Interpolate env. settings on next region change.