From c8349e21c43b1232aa923783a39cca224460551a Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Sun, 21 Sep 2008 02:41:22 +0000 Subject: Update svn properties, minor formatting cleanup. --- .../ScriptEngine/RegionScriptEngineBase.cs | 364 ++++++++++----------- 1 file changed, 182 insertions(+), 182 deletions(-) (limited to 'OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs') diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs index ec676f2..e2731d7 100644 --- a/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs +++ b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs @@ -1,182 +1,182 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using log4net; -using Nini.Config; -using OpenSim.ApplicationPlugins.ScriptEngine.Components; -using OpenSim.Region.Environment.Scenes; - -namespace OpenSim.ApplicationPlugins.ScriptEngine -{ - public abstract class RegionScriptEngineBase - { - - /// - /// Called on region initialize - /// - public abstract void Initialize(); - public abstract string Name { get; } - /// - /// Called before components receive Close() - /// - public abstract void PreClose(); - // Hold list of all the different components we have working for us - public List Components = new List(); - - public Scene m_Scene; - public IConfigSource m_ConfigSource; - public readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public void Initialize(Scene scene, IConfigSource source) - { - // Region started - m_Scene = scene; - m_ConfigSource = source; - Initialize(); - } - - /// - /// Creates instances of script engine components inside "components" List - /// - /// Array of comonent names to initialize - public void InitializeComponents(string[] ComponentList) - { - // Take list of providers to initialize and make instances of them - foreach (string c in ComponentList) - { - m_log.Info("[" + Name + "]: Loading: " + c); - lock (Components) - { - lock (ComponentRegistry.providers) - { - try - { - if (ComponentRegistry.providers.ContainsKey(c)) - Components.Add(Activator.CreateInstance(ComponentRegistry.providers[c]) as ComponentBase); - else - m_log.Error("[" + Name + "]: Component \"" + c + "\" not found, can not load"); - } - catch (Exception ex) - { - m_log.Error("[" + Name + "]: Exception loading \"" + c + "\": " + ex.ToString()); - } - } - } - } - - - // Run Initialize on all our providers, hand over a reference of ourself. - foreach (ComponentBase p in Components.ToArray()) - { - try - { - p.Initialize(this); - } - catch (Exception ex) - { - lock (Components) - { - m_log.Error("[" + Name + "]: Error initializing \"" + p.GetType().FullName + "\": " + - ex.ToString()); - if (Components.Contains(p)) - Components.Remove(p); - } - } - } - // All modules has been initialized, call Start() on them. - foreach (ComponentBase p in Components.ToArray()) - { - try - { - p.Start(); - } - catch (Exception ex) - { - lock (Components) - { - m_log.Error("[" + Name + "]: Error starting \"" + p.GetType().FullName + "\": " + ex.ToString()); - if (Components.Contains(p)) - Components.Remove(p); - } - } - } - - } - - #region Functions to return lists based on type - // Predicate for searching List for a certain type - private static bool FindType(ComponentBase pb) - { - if (pb.GetType() is T) - return true; - return false; - } - public List GetCommandComponentList() - { - return Components.FindAll(FindType); - } - public List GetCompilerComponentList() - { - return Components.FindAll(FindType); - } - public List GetEventComponentList() - { - return Components.FindAll(FindType); - } - public List GetScheduleComponentList() - { - return Components.FindAll(FindType); - } - - #endregion - - public void Close() - { - // We need to shut down - - // First call abstracted PreClose() - PreClose(); - - // Then Call Close() on all components - foreach (ComponentBase p in Components.ToArray()) - { - try - { - p.Close(); - } - catch (Exception ex) - { - // TODO: Print error to console - } - } - } - } -} - +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using log4net; +using Nini.Config; +using OpenSim.ApplicationPlugins.ScriptEngine.Components; +using OpenSim.Region.Environment.Scenes; + +namespace OpenSim.ApplicationPlugins.ScriptEngine +{ + public abstract class RegionScriptEngineBase + { + + /// + /// Called on region initialize + /// + public abstract void Initialize(); + public abstract string Name { get; } + /// + /// Called before components receive Close() + /// + public abstract void PreClose(); + // Hold list of all the different components we have working for us + public List Components = new List(); + + public Scene m_Scene; + public IConfigSource m_ConfigSource; + public readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public void Initialize(Scene scene, IConfigSource source) + { + // Region started + m_Scene = scene; + m_ConfigSource = source; + Initialize(); + } + + /// + /// Creates instances of script engine components inside "components" List + /// + /// Array of comonent names to initialize + public void InitializeComponents(string[] ComponentList) + { + // Take list of providers to initialize and make instances of them + foreach (string c in ComponentList) + { + m_log.Info("[" + Name + "]: Loading: " + c); + lock (Components) + { + lock (ComponentRegistry.providers) + { + try + { + if (ComponentRegistry.providers.ContainsKey(c)) + Components.Add(Activator.CreateInstance(ComponentRegistry.providers[c]) as ComponentBase); + else + m_log.Error("[" + Name + "]: Component \"" + c + "\" not found, can not load"); + } + catch (Exception ex) + { + m_log.Error("[" + Name + "]: Exception loading \"" + c + "\": " + ex.ToString()); + } + } + } + } + + + // Run Initialize on all our providers, hand over a reference of ourself. + foreach (ComponentBase p in Components.ToArray()) + { + try + { + p.Initialize(this); + } + catch (Exception ex) + { + lock (Components) + { + m_log.Error("[" + Name + "]: Error initializing \"" + p.GetType().FullName + "\": " + + ex.ToString()); + if (Components.Contains(p)) + Components.Remove(p); + } + } + } + // All modules has been initialized, call Start() on them. + foreach (ComponentBase p in Components.ToArray()) + { + try + { + p.Start(); + } + catch (Exception ex) + { + lock (Components) + { + m_log.Error("[" + Name + "]: Error starting \"" + p.GetType().FullName + "\": " + ex.ToString()); + if (Components.Contains(p)) + Components.Remove(p); + } + } + } + + } + + #region Functions to return lists based on type + // Predicate for searching List for a certain type + private static bool FindType(ComponentBase pb) + { + if (pb.GetType() is T) + return true; + return false; + } + public List GetCommandComponentList() + { + return Components.FindAll(FindType); + } + public List GetCompilerComponentList() + { + return Components.FindAll(FindType); + } + public List GetEventComponentList() + { + return Components.FindAll(FindType); + } + public List GetScheduleComponentList() + { + return Components.FindAll(FindType); + } + + #endregion + + public void Close() + { + // We need to shut down + + // First call abstracted PreClose() + PreClose(); + + // Then Call Close() on all components + foreach (ComponentBase p in Components.ToArray()) + { + try + { + p.Close(); + } + catch (Exception ex) + { + // TODO: Print error to console + } + } + } + } +} + -- cgit v1.1