Remove the SECS loader
							parent
							
								
									92f7521983
								
							
						
					
					
						commit
						d068d108ad
					
				| 
						 | 
				
			
			@ -1,145 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * 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 OpenSimulator 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.IO;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using log4net;
 | 
			
		||||
using OpenSim.ScriptEngine.Shared;
 | 
			
		||||
 | 
			
		||||
namespace OpenSim.ApplicationPlugins.ScriptEngine
 | 
			
		||||
{
 | 
			
		||||
    public static class ComponentFactory
 | 
			
		||||
    {
 | 
			
		||||
        // Component providers are registered here wit a name (string)
 | 
			
		||||
        // When a script engine is created the components are instanciated
 | 
			
		||||
        public static Dictionary<string, Type> providers = new Dictionary<string, Type>();
 | 
			
		||||
        public static Dictionary<string, Type> scriptEngines = new Dictionary<string, Type>();
 | 
			
		||||
 | 
			
		||||
        internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
        private readonly static string nameIScriptEngineComponent = typeof(IScriptEngineComponent).Name; // keep interface name in managed code
 | 
			
		||||
        private readonly static string nameIScriptEngine = typeof(IScriptEngine).Name; // keep interface name in managed code
 | 
			
		||||
 | 
			
		||||
        public static string Name
 | 
			
		||||
        {
 | 
			
		||||
            get { return "SECS.ComponentFactory"; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Load components from directory
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="directory"></param>
 | 
			
		||||
        internal static void Load(string directory, string filter)
 | 
			
		||||
        {
 | 
			
		||||
            // We may want to change how this functions as currently it required unique class names for each component
 | 
			
		||||
 | 
			
		||||
            foreach (string file in Directory.GetFiles(directory, filter))
 | 
			
		||||
            {
 | 
			
		||||
                //m_log.DebugFormat("[ScriptEngine]: Loading: [{0}].", file);
 | 
			
		||||
                Assembly componentAssembly = null;
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    componentAssembly = Assembly.LoadFrom(file);
 | 
			
		||||
                }
 | 
			
		||||
                catch
 | 
			
		||||
                {
 | 
			
		||||
                    m_log.ErrorFormat("[{0}] Error loading: \"{1}\".", Name, file);
 | 
			
		||||
                }
 | 
			
		||||
                
 | 
			
		||||
                if (componentAssembly != null)
 | 
			
		||||
                {
 | 
			
		||||
                    try
 | 
			
		||||
                    {
 | 
			
		||||
                        // Go through all types in the assembly
 | 
			
		||||
                        foreach (Type componentType in componentAssembly.GetTypes())
 | 
			
		||||
                        {
 | 
			
		||||
                            if (componentType.IsPublic
 | 
			
		||||
                                && !componentType.IsAbstract)
 | 
			
		||||
                            {
 | 
			
		||||
                                //if (componentType.IsSubclassOf(typeof(ComponentBase)))
 | 
			
		||||
                                if (componentType.GetInterface(nameIScriptEngineComponent) != null)
 | 
			
		||||
                                {
 | 
			
		||||
                                    // We have found an type which is derived from ProdiverBase, add it to provider list
 | 
			
		||||
                                    m_log.InfoFormat("[{0}] Adding component: {1}", Name, componentType.Name);
 | 
			
		||||
                                    lock (providers)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        providers.Add(componentType.Name, componentType);
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                //if (componentType.IsSubclassOf(typeof(ScriptEngineBase)))
 | 
			
		||||
                                if (componentType.GetInterface(nameIScriptEngine) != null)
 | 
			
		||||
                                {
 | 
			
		||||
                                    // We have found an type which is derived from RegionScriptEngineBase, add it to engine list
 | 
			
		||||
                                    m_log.InfoFormat("[{0}] Adding script engine: {1}", Name, componentType.Name);
 | 
			
		||||
                                    lock (scriptEngines)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        scriptEngines.Add(componentType.Name, componentType);
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    catch
 | 
			
		||||
                        (ReflectionTypeLoadException re)
 | 
			
		||||
                    {
 | 
			
		||||
                        m_log.ErrorFormat("[{0}] Could not load component \"{1}\": {2}", Name, componentAssembly.FullName, re.ToString());
 | 
			
		||||
                        int c = 0;
 | 
			
		||||
                        foreach (Exception e in re.LoaderExceptions)
 | 
			
		||||
                        {
 | 
			
		||||
                            c++;
 | 
			
		||||
                            m_log.ErrorFormat("[{0}] LoaderException {1}: {2}", Name, c, e.ToString());
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                } //if
 | 
			
		||||
            } //foreach
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static IScriptEngineComponent GetComponentInstance(string name, params Object[] args)
 | 
			
		||||
        {
 | 
			
		||||
            lock (providers)
 | 
			
		||||
            {
 | 
			
		||||
                if (!providers.ContainsKey(name))
 | 
			
		||||
                throw new Exception("ScriptEngine requested component named \"" + name +
 | 
			
		||||
                                    "\" that does not exist.");
 | 
			
		||||
                return Activator.CreateInstance(providers[name], args) as IScriptEngineComponent;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private readonly static string nameIScriptEngineRegionComponent = typeof(IScriptEngineRegionComponent).Name; // keep interface name in managed code
 | 
			
		||||
        public static IScriptEngineComponent GetComponentInstance(RegionInfoStructure info, string name, params Object[] args)
 | 
			
		||||
        {
 | 
			
		||||
            IScriptEngineComponent c = GetComponentInstance(name, args);
 | 
			
		||||
 | 
			
		||||
            // If module is IScriptEngineRegionComponent then it will have one instance per region and we will initialize it
 | 
			
		||||
            if (c.GetType().GetInterface(nameIScriptEngineRegionComponent) != null)
 | 
			
		||||
                ((IScriptEngineRegionComponent)c).Initialize(info);
 | 
			
		||||
 | 
			
		||||
            return c;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,62 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * 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 OpenSimulator 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.Reflection;
 | 
			
		||||
using System.Runtime.InteropServices;
 | 
			
		||||
 | 
			
		||||
// General Information about an assembly is controlled through the following 
 | 
			
		||||
// set of attributes. Change these attribute values to modify the information
 | 
			
		||||
// associated with an assembly.
 | 
			
		||||
[assembly: AssemblyTitle("OpenSim.ApplicationPlugins.ScriptEngine")]
 | 
			
		||||
[assembly: AssemblyDescription("")]
 | 
			
		||||
[assembly: AssemblyConfiguration("")]
 | 
			
		||||
[assembly: AssemblyCompany("http://opensimulator.org")]
 | 
			
		||||
[assembly: AssemblyProduct("OpenSim.ApplicationPlugins.ScriptEngine")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2009")]
 | 
			
		||||
[assembly: AssemblyTrademark("")]
 | 
			
		||||
[assembly: AssemblyCulture("")]
 | 
			
		||||
 | 
			
		||||
// Setting ComVisible to false makes the types in this assembly not visible 
 | 
			
		||||
// to COM components.  If you need to access a type in this assembly from 
 | 
			
		||||
// COM, set the ComVisible attribute to true on that type.
 | 
			
		||||
[assembly: ComVisible(false)]
 | 
			
		||||
 | 
			
		||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
			
		||||
[assembly: Guid("a234c402-3014-45de-9f6b-c024d9f71983")]
 | 
			
		||||
 | 
			
		||||
// Version information for an assembly consists of the following four values:
 | 
			
		||||
//
 | 
			
		||||
//      Major Version
 | 
			
		||||
//      Minor Version 
 | 
			
		||||
//      Build Number
 | 
			
		||||
//      Revision
 | 
			
		||||
//
 | 
			
		||||
// You can specify all the values or you can default the Build and Revision Numbers 
 | 
			
		||||
// by using the '*' as shown below:
 | 
			
		||||
// [assembly: AssemblyVersion("0.6.5.*")]
 | 
			
		||||
[assembly: AssemblyVersion("0.6.5.*")]
 | 
			
		||||
[assembly: AssemblyFileVersion("0.6.5.0")]
 | 
			
		||||
| 
						 | 
				
			
			@ -1,119 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * 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 OpenSimulator 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.Reflection;
 | 
			
		||||
using log4net;
 | 
			
		||||
using Nini.Config;
 | 
			
		||||
using OpenSim.Region.Framework.Interfaces;
 | 
			
		||||
using OpenSim.Region.Framework.Scenes;
 | 
			
		||||
using OpenSim.ScriptEngine.Shared;
 | 
			
		||||
 | 
			
		||||
namespace OpenSim.ApplicationPlugins.ScriptEngine
 | 
			
		||||
{
 | 
			
		||||
    public class RegionEngineLoader : IRegionModule
 | 
			
		||||
    {
 | 
			
		||||
        // This is a region module.
 | 
			
		||||
        // This means: Every time a new region is created, a new instance of this module is also created.
 | 
			
		||||
        // This module is responsible for starting the script engine for this region.
 | 
			
		||||
        public string Name { get { return "SECS.DotNetEngine.Scheduler.RegionLoader"; } }
 | 
			
		||||
        public bool IsSharedModule { get { return true; } }
 | 
			
		||||
 | 
			
		||||
        internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
        private string tempScriptEngineName = "DotNetEngine";
 | 
			
		||||
        public IScriptEngine scriptEngine;
 | 
			
		||||
        public IConfigSource ConfigSource;
 | 
			
		||||
        public IConfig ScriptConfigSource;
 | 
			
		||||
        public void Initialise(Scene scene, IConfigSource source)
 | 
			
		||||
        {
 | 
			
		||||
            // New region is being created
 | 
			
		||||
            // Create a new script engine
 | 
			
		||||
            // Make sure we have config
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if (ConfigSource.Configs["SECS"] == null)
 | 
			
		||||
                    ConfigSource.AddConfig("SECS");
 | 
			
		||||
                ScriptConfigSource = ConfigSource.Configs["SECS"];
 | 
			
		||||
 | 
			
		||||
                // Is SECS enabled?
 | 
			
		||||
                if (ScriptConfigSource.GetBoolean("Enabled", false))
 | 
			
		||||
                {
 | 
			
		||||
                    LoadEngine();
 | 
			
		||||
                    if (scriptEngine != null)
 | 
			
		||||
                        scriptEngine.Initialise(scene, source);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (NullReferenceException)
 | 
			
		||||
            {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void PostInitialise()
 | 
			
		||||
        {
 | 
			
		||||
            if (scriptEngine != null)
 | 
			
		||||
                scriptEngine.PostInitialise();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void Close()
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if (scriptEngine != null)
 | 
			
		||||
                    scriptEngine.Close();
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception ex)
 | 
			
		||||
            {
 | 
			
		||||
                m_log.ErrorFormat("[{0}] Unable to close engine \"{1}\": {2}", Name, tempScriptEngineName, ex.ToString());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void LoadEngine()
 | 
			
		||||
        {
 | 
			
		||||
            m_log.DebugFormat("[{0}] Loading region script engine engine \"{1}\".", Name, tempScriptEngineName);
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                lock (ComponentFactory.scriptEngines)
 | 
			
		||||
                {
 | 
			
		||||
                    if (!ComponentFactory.scriptEngines.ContainsKey(tempScriptEngineName))
 | 
			
		||||
                    {
 | 
			
		||||
                        m_log.ErrorFormat("[{0}] Unable to load region script engine: Script engine \"{1}\" does not exist.", Name, tempScriptEngineName);
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        scriptEngine =
 | 
			
		||||
                            Activator.CreateInstance(ComponentFactory.scriptEngines[tempScriptEngineName]) as
 | 
			
		||||
                            IScriptEngine;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception ex)
 | 
			
		||||
            {
 | 
			
		||||
                m_log.ErrorFormat("[{0}] Internal error loading region script engine \"{1}\": {2}", Name, tempScriptEngineName, ex.ToString());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
<Addin id="OpenSim.ApplicationPlugins.ScriptEngine" version="0.1">
 | 
			
		||||
    <Runtime>
 | 
			
		||||
        <Import assembly="OpenSim.ApplicationPlugins.ScriptEngine.dll" />
 | 
			
		||||
    </Runtime>
 | 
			
		||||
    <Dependencies>
 | 
			
		||||
        <Addin id="OpenSim" version="0.5" />
 | 
			
		||||
    </Dependencies>
 | 
			
		||||
    <Extension path = "/OpenSim/Startup">
 | 
			
		||||
        <Plugin id="ScriptEnginePlugin" type="OpenSim.ApplicationPlugins.ScriptEngine.ScriptEnginePlugin" />
 | 
			
		||||
    </Extension>
 | 
			
		||||
</Addin>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,106 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * 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 OpenSimulator 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.Reflection;
 | 
			
		||||
using log4net;
 | 
			
		||||
 | 
			
		||||
namespace OpenSim.ApplicationPlugins.ScriptEngine
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Loads all Script Engine Components
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class ScriptEnginePlugin : IApplicationPlugin
 | 
			
		||||
    {
 | 
			
		||||
        internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
        internal OpenSimBase m_OpenSim;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public ScriptEnginePlugin()
 | 
			
		||||
        {
 | 
			
		||||
            // Application startup
 | 
			
		||||
#if DEBUG
 | 
			
		||||
            m_log.InfoFormat("[{0}] ##################################", Name);
 | 
			
		||||
            m_log.InfoFormat("[{0}] # Script Engine Component System #", Name);
 | 
			
		||||
            m_log.InfoFormat("[{0}] ##################################", Name);
 | 
			
		||||
#else
 | 
			
		||||
            m_log.InfoFormat("[{0}] Script Engine Component System", Name);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
            // Load all modules from current directory
 | 
			
		||||
            // We only want files named OpenSim.ScriptEngine.*.dll
 | 
			
		||||
            ComponentFactory.Load(".", "OpenSim.ScriptEngine.*.dll");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void Initialise(OpenSimBase openSim)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            // Our objective: Load component .dll's
 | 
			
		||||
            m_OpenSim = openSim;
 | 
			
		||||
            //m_OpenSim.Shutdown();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void PostInitialise()
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #region IApplicationPlugin stuff
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns the plugin version
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns>
 | 
			
		||||
        public string Version
 | 
			
		||||
        {
 | 
			
		||||
            get { return "1.0.0.0"; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns the plugin name
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns>Plugin name, eg MySQL User Provider</returns>
 | 
			
		||||
        public string Name
 | 
			
		||||
        {
 | 
			
		||||
            get { return "SECS"; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Default-initialises the plugin
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Initialise() { }
 | 
			
		||||
 | 
			
		||||
        ///<summary>
 | 
			
		||||
        ///Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 | 
			
		||||
        ///</summary>
 | 
			
		||||
        ///<filterpriority>2</filterpriority>
 | 
			
		||||
        public void Dispose()
 | 
			
		||||
        {
 | 
			
		||||
            //throw new NotImplementedException();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										101
									
								
								prebuild.xml
								
								
								
								
							
							
						
						
									
										101
									
								
								prebuild.xml
								
								
								
								
							| 
						 | 
				
			
			@ -2705,107 +2705,6 @@
 | 
			
		|||
    </Project>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <Project frameworkVersion="v3_5" name="OpenSim.ScriptEngine.Shared.Script" path="OpenSim/ScriptEngine/Shared.Script" type="Library">
 | 
			
		||||
      <Configuration name="Debug">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
      <Configuration name="Release">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
 | 
			
		||||
      <ReferencePath>../../../bin/</ReferencePath>
 | 
			
		||||
      <Reference name="System"/>
 | 
			
		||||
 | 
			
		||||
      <Files>
 | 
			
		||||
        <Match pattern="*.cs" recurse="true" >
 | 
			
		||||
          <Exclude name="Tests" pattern="Tests" />
 | 
			
		||||
        </Match>
 | 
			
		||||
      </Files>
 | 
			
		||||
    </Project>
 | 
			
		||||
 | 
			
		||||
    <Project frameworkVersion="v3_5" name="OpenSim.ScriptEngine.Shared" path="OpenSim/ScriptEngine/Shared" type="Library">
 | 
			
		||||
      <Configuration name="Debug">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
      <Configuration name="Release">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
 | 
			
		||||
      <ReferencePath>../../../bin/</ReferencePath>
 | 
			
		||||
      <Reference name="System"/>
 | 
			
		||||
      <Reference name="System.Data"/>
 | 
			
		||||
      <Reference name="System.Web"/>
 | 
			
		||||
      <Reference name="System.Xml"/>
 | 
			
		||||
      <Reference name="OpenMetaverseTypes.dll"/>
 | 
			
		||||
      <Reference name="OpenMetaverse.dll"/>
 | 
			
		||||
      <Reference name="OpenSim" />
 | 
			
		||||
      <Reference name="OpenSim.Framework"/>
 | 
			
		||||
      <Reference name="OpenSim.Framework.Communications"/>
 | 
			
		||||
      <Reference name="OpenSim.Region.CoreModules" />
 | 
			
		||||
      <Reference name="OpenSim.Region.Framework" />
 | 
			
		||||
      <Reference name="OpenSim.Region.Physics.Manager" />
 | 
			
		||||
      <Reference name="OpenSim.Framework.Console"/>
 | 
			
		||||
      <Reference name="Nini.dll" />
 | 
			
		||||
      <Reference name="log4net.dll"/>
 | 
			
		||||
      <Reference name="OpenSim.Region.ScriptEngine.Shared"/>
 | 
			
		||||
      <Reference name="OpenSim.ScriptEngine.Shared.Script"/>
 | 
			
		||||
 | 
			
		||||
      <Files>
 | 
			
		||||
        <Match pattern="*.cs" recurse="true" >
 | 
			
		||||
          <Exclude name="Tests" pattern="Tests" />
 | 
			
		||||
        </Match>
 | 
			
		||||
      </Files>
 | 
			
		||||
    </Project>
 | 
			
		||||
 | 
			
		||||
    <Project frameworkVersion="v3_5" name="OpenSim.ApplicationPlugins.ScriptEngine" path="OpenSim/ApplicationPlugins/ScriptEngine" type="Library">
 | 
			
		||||
      <Configuration name="Debug">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
      <Configuration name="Release">
 | 
			
		||||
        <Options>
 | 
			
		||||
          <OutputPath>../../../bin/</OutputPath>
 | 
			
		||||
        </Options>
 | 
			
		||||
      </Configuration>
 | 
			
		||||
 | 
			
		||||
      <ReferencePath>../../../bin/</ReferencePath>
 | 
			
		||||
      <Reference name="System"/>
 | 
			
		||||
      <Reference name="System.Data"/>
 | 
			
		||||
      <Reference name="System.Web"/>
 | 
			
		||||
      <Reference name="System.Xml"/>
 | 
			
		||||
      <Reference name="OpenMetaverseTypes.dll"/>
 | 
			
		||||
      <Reference name="OpenMetaverse.dll"/>
 | 
			
		||||
      <Reference name="OpenSim" />
 | 
			
		||||
      <Reference name="OpenSim.Framework"/>
 | 
			
		||||
      <Reference name="OpenSim.Framework.Communications"/>
 | 
			
		||||
      <Reference name="OpenSim.Region.CoreModules" />
 | 
			
		||||
      <Reference name="OpenSim.Region.Framework" />
 | 
			
		||||
      <Reference name="OpenSim.Region.Physics.Manager" />
 | 
			
		||||
      <Reference name="OpenSim.Framework.Console"/>
 | 
			
		||||
      <Reference name="Nini.dll" />
 | 
			
		||||
      <Reference name="log4net.dll"/>
 | 
			
		||||
      <Reference name="OpenSim.ScriptEngine.Shared"/>
 | 
			
		||||
      <Reference name="OpenSim.ScriptEngine.Shared.Script"/>
 | 
			
		||||
      <Reference name="OpenSim.Region.ClientStack"/>
 | 
			
		||||
      <Reference name="OpenSim.Framework.Servers"/>
 | 
			
		||||
 | 
			
		||||
      <Files>
 | 
			
		||||
        <Match pattern="*.addin.xml" path="Resources" buildAction="EmbeddedResource" recurse="true"/>
 | 
			
		||||
        <Match pattern="*.cs" recurse="true" >
 | 
			
		||||
          <Exclude name="Tests" pattern="Tests" />
 | 
			
		||||
        </Match>
 | 
			
		||||
      </Files>
 | 
			
		||||
    </Project>
 | 
			
		||||
 | 
			
		||||
    <Project frameworkVersion="v3_5" name="OpenSim.Region.UserStatistics" path="OpenSim/Region/UserStatistics" type="Library">
 | 
			
		||||
      <Configuration name="Debug">
 | 
			
		||||
        <Options>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue