From 36fc7390f2aabb745455f23f276725f102cacbf6 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 19 Jul 2007 00:52:10 +0000 Subject: * Moved EventManager to SceneBase (from Scene) * Added OnShutdown event to EventManager (to be used to perform cleanups, etc) * Fixed another compiler warning. --- OpenSim/Region/Environment/Scenes/Scene.cs | 9 +-------- OpenSim/Region/Environment/Scenes/SceneBase.cs | 9 ++++++++- OpenSim/Region/Environment/Scenes/SceneEvents.cs | 9 +++++++++ 3 files changed, 18 insertions(+), 9 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 3abd96d..7ed4c96 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -64,10 +64,10 @@ namespace OpenSim.Region.Environment.Scenes private int landPrimCheckCount; private Mutex updateLock; + protected StorageManager storageManager; protected AgentCircuitManager authenticateHandler; protected RegionCommsListener regionCommsHost; protected CommunicationsManager commsManager; - protected StorageManager storageManager; protected Dictionary capsHandlers = new Dictionary(); protected BaseHttpServer httpListener; @@ -97,13 +97,6 @@ namespace OpenSim.Region.Environment.Scenes get { return m_estateManager; } } - private EventManager m_eventManager; - - public EventManager EventManager - { - get { return m_eventManager; } - } - private ScriptManager m_scriptManager; public ScriptManager ScriptManager diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs index 2c50e4d..f3db9e2 100644 --- a/OpenSim/Region/Environment/Scenes/SceneBase.cs +++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs @@ -47,6 +47,13 @@ namespace OpenSim.Region.Environment.Scenes public TerrainEngine Terrain; + protected EventManager m_eventManager; + + public EventManager EventManager + { + get { return m_eventManager; } + } + protected string m_datastore; protected object m_syncRoot = new object(); @@ -134,7 +141,7 @@ namespace OpenSim.Region.Environment.Scenes { try { - //TODO: Add cleanup code for storage manager, etc. + this.EventManager.TriggerShutdown(); } catch (Exception e) { diff --git a/OpenSim/Region/Environment/Scenes/SceneEvents.cs b/OpenSim/Region/Environment/Scenes/SceneEvents.cs index 255cbf2..eb1d5b4 100644 --- a/OpenSim/Region/Environment/Scenes/SceneEvents.cs +++ b/OpenSim/Region/Environment/Scenes/SceneEvents.cs @@ -28,6 +28,9 @@ namespace OpenSim.Region.Environment.Scenes public delegate void OnScriptConsoleDelegate(string[] args); public event OnScriptConsoleDelegate OnScriptConsole; + public delegate void OnShutdownDelegate(); + public event OnShutdownDelegate OnShutdown; + public void TriggerOnScriptConsole(string[] args) { if (OnScriptConsole != null) @@ -78,5 +81,11 @@ namespace OpenSim.Region.Environment.Scenes OnParcelPrimCountAdd(obj); } } + + public void TriggerShutdown() + { + if (OnShutdown != null) + OnShutdown(); + } } } -- cgit v1.1