From 752d3f3879f13dc77f35b5e8ada2cdf5ba625ee4 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Sun, 21 Sep 2008 00:03:13 +0000
Subject: EXPERIMENTAL: Early commit of new Script Engine Component System
---
.../ScriptEngine/ComponentLoader.cs | 95 +++++++
.../ScriptEngine/ComponentRegistry.cs | 68 +++++
.../ScriptEngine/Components/CommandBase.cs | 45 ++++
.../ScriptEngine/Components/CompilerBase.cs | 45 ++++
.../ScriptEngine/Components/ComponentBase.cs | 53 ++++
.../ScriptEngine/Components/EventBase.cs | 45 ++++
.../ScriptEngine/Components/SchedulerBase.cs | 45 ++++
.../ScriptEngine/Properties/AssemblyInfo.cs | 36 +++
.../ScriptEngine/RegionScriptEngineBase.cs | 166 ++++++++++++
.../ScriptEngine/RegionScriptEnginePlugin.cs | 72 +++++
.../ScriptEngine/Resources/ScriptEngine.addin.xml | 12 +
.../ScriptEngine/ScriptEnginePlugin.cs | 89 +++++++
.../DotNetEngine/Commands_LSL/Commands_LSL.cs | 18 ++
.../Commands_LSL/Properties/AssemblyInfo.cs | 36 +++
.../DotNetEngine/Commands_OSSL/Commands_OSSL.cs | 18 ++
.../Commands_OSSL/Properties/AssemblyInfo.cs | 36 +++
.../DotNetEngine/Compilers/Compiler_CS.cs | 44 ++++
.../DotNetEngine/Compilers/Compiler_JS.cs | 44 ++++
.../DotNetEngine/Compilers/Compiler_LSL.cs | 44 ++++
.../DotNetEngine/Compilers/Compiler_VB.cs | 44 ++++
.../Compilers/Properties/AssemblyInfo.cs | 36 +++
.../DotNetEngine/Events/LSLEventProvider.cs | 45 ++++
.../DotNetEngine/Events/Properties/AssemblyInfo.cs | 36 +++
.../Scheduler/Properties/AssemblyInfo.cs | 36 +++
.../Components/DotNetEngine/Scheduler/Scheduler.cs | 44 ++++
.../Engines/DotNetEngine/DotNetEngine.cs | 74 ++++++
.../DotNetEngine/Properties/AssemblyInfo.cs | 36 +++
prebuild.xml | 290 +++++++++++++++++++++
28 files changed, 1652 insertions(+)
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/ComponentLoader.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/ComponentRegistry.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Components/CommandBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Components/CompilerBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Components/ComponentBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Components/EventBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Components/SchedulerBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEnginePlugin.cs
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/Resources/ScriptEngine.addin.xml
create mode 100644 OpenSim/ApplicationPlugins/ScriptEngine/ScriptEnginePlugin.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs
create mode 100644 OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs
create mode 100644 OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/ComponentLoader.cs b/OpenSim/ApplicationPlugins/ScriptEngine/ComponentLoader.cs
new file mode 100644
index 0000000..ab39568
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/ComponentLoader.cs
@@ -0,0 +1,95 @@
+/*
+ * 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.IO;
+using System.Reflection;
+using System.Text;
+using log4net;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine
+{
+ ///
+ /// Used to load ScriptEngine component .dll's
+ ///
+ internal class ComponentLoader
+ {
+ internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private ScriptEnginePlugin scriptEnginePlugin;
+ public ComponentLoader(ScriptEnginePlugin sep)
+ {
+ scriptEnginePlugin = sep;
+ }
+
+ ///
+ /// Load components from directory
+ ///
+ ///
+ public void Load(string directory)
+ {
+ // 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, "*.dll"))
+ {
+ //m_log.DebugFormat("[ScriptEngine]: Loading: [{0}].", file);
+ Assembly componentAssembly = Assembly.LoadFrom(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)))
+ {
+ // We have found an type which is derived from ProdiverBase, add it to provider list
+ m_log.InfoFormat("[ScriptEngine]: Adding component: {0}", componentType.Name);
+ ComponentRegistry.providers.Add(componentType.Name, componentType);
+ }
+ if (componentType.IsSubclassOf(typeof(RegionScriptEngineBase)))
+ {
+ // We have found an type which is derived from RegionScriptEngineBase, add it to engine list
+ m_log.InfoFormat("[ScriptEngine]: Adding script engine: {0}", componentType.Name);
+ ComponentRegistry.scriptEngines.Add(componentType.Name, componentType);
+ }
+ }
+ }
+ }
+ catch
+ (ReflectionTypeLoadException)
+ {
+ m_log.InfoFormat("[ScriptEngine]: Could not load types for [{0}].", componentAssembly.FullName);
+ }
+ } //if
+ } //foreach
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/ComponentRegistry.cs b/OpenSim/ApplicationPlugins/ScriptEngine/ComponentRegistry.cs
new file mode 100644
index 0000000..dcb435d
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/ComponentRegistry.cs
@@ -0,0 +1,68 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine
+{
+ ///
+ /// Component providers
+ /// This is where any component (any part) of the Script Engine Component System (SECS) registers.
+ /// Nothing is instanciated at this point. The modules just need to register here to be available for any script engine.
+ ///
+ public static class ComponentRegistry
+ {
+ // Component providers are registered here wit a name (string)
+ // When a script engine is created the components are instanciated
+ public static Dictionary providers = new Dictionary();
+ public static Dictionary scriptEngines = new Dictionary();
+
+ /////
+ ///// Returns a list of ProviderBase objects which has been instanciated by their name
+ /////
+ ///// List of Script Engine Components
+ /////
+ //public static List GetComponents(string[] Providers)
+ //{
+ // List pbl = new List();
+ // if (Providers != null)
+ // {
+ // foreach (string p in Providers)
+ // {
+ // if (providers.ContainsKey(p))
+ // pbl.Add(Activator.CreateInstance(providers[p]) as ComponentBase);
+ // }
+ // }
+
+ // return pbl;
+ //}
+
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Components/CommandBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Components/CommandBase.cs
new file mode 100644
index 0000000..01a052f
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Components/CommandBase.cs
@@ -0,0 +1,45 @@
+/*
+ * 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.Text;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine.Components
+{
+ public abstract class CommandBase: ComponentBase
+ {
+ //public override iProviderBase CreateInstance()
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public override void Start()
+ //{
+ // throw new NotImplementedException();
+ //}
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Components/CompilerBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Components/CompilerBase.cs
new file mode 100644
index 0000000..69b54a5
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Components/CompilerBase.cs
@@ -0,0 +1,45 @@
+/*
+ * 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.Text;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine.Components
+{
+ public abstract class CompilerBase: ComponentBase
+ {
+ //public override iProviderBase CreateInstance()
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public override void Start()
+ //{
+ // throw new NotImplementedException();
+ //}
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Components/ComponentBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Components/ComponentBase.cs
new file mode 100644
index 0000000..8879e53
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Components/ComponentBase.cs
@@ -0,0 +1,53 @@
+/*
+ * 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.Text;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine.Components
+{
+ ///
+ /// Generic baseclass for component providers
+ ///
+ public abstract class ComponentBase //: iProviderBase
+ {
+ //public abstract iProviderBase CreateInstance();
+ public abstract void Start();
+ public abstract void Close();
+ public RegionScriptEngineBase scriptEngine;
+ public void Initialize(RegionScriptEngineBase ScriptEngine)
+ {
+ scriptEngine = ScriptEngine;
+ }
+
+ static ComponentBase()
+ {
+ // We got loaded -- should we register now?
+ //OpenSim.ApplicationPlugins.ScriptEngine.ComponentProviders.providers.Add(GetType());
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Components/EventBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Components/EventBase.cs
new file mode 100644
index 0000000..d9c29a9
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Components/EventBase.cs
@@ -0,0 +1,45 @@
+/*
+ * 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.Text;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine.Components
+{
+ public abstract class EventBase : ComponentBase
+ {
+ //public override iProviderBase CreateInstance()
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public override void Start()
+ //{
+ // throw new NotImplementedException();
+ //}
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Components/SchedulerBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Components/SchedulerBase.cs
new file mode 100644
index 0000000..7c19beb
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Components/SchedulerBase.cs
@@ -0,0 +1,45 @@
+/*
+ * 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.Text;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine.Components
+{
+ public abstract class SchedulerBase: ComponentBase
+ {
+ //public override iProviderBase CreateInstance()
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public override void Start()
+ //{
+ // throw new NotImplementedException();
+ //}
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/ScriptEngine/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..166a6d7
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ApplicationPlugins.ScriptEngine")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs
new file mode 100644
index 0000000..c0a37a0
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEngineBase.cs
@@ -0,0 +1,166 @@
+/*
+ * 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);
+ 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)
+ {
+ try
+ {
+ p.Initialize(this);
+ }
+ catch (Exception ex)
+ {
+ m_log.Error("[" + Name + "]: Error initializing \"" + p.GetType().FullName + "\": " + ex.ToString());
+ Components.Remove(p);
+ }
+ }
+ // All modules has been initialized, call Start() on them.
+ foreach (ComponentBase p in Components)
+ {
+ try
+ {
+ p.Start();
+ }
+ catch (Exception ex)
+ {
+ m_log.Error("[" + Name + "]: Error starting \"" + p.GetType().FullName + "\": " + ex.ToString());
+ 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)
+ {
+ try
+ {
+ p.Close();
+ }
+ catch (Exception ex)
+ {
+ // TODO: Print error to console
+ }
+ }
+ }
+ }
+}
+
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEnginePlugin.cs b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEnginePlugin.cs
new file mode 100644
index 0000000..a0622ea
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/RegionScriptEnginePlugin.cs
@@ -0,0 +1,72 @@
+/*
+ * 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.Text;
+using Nini.Config;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine
+{
+ public class RegionScriptEnginePlugin : 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.
+
+ private string tempScriptEngineName = "DotNetEngine";
+ public RegionScriptEngineBase scriptEngine;
+ public void Initialise(Scene scene, IConfigSource source)
+ {
+ // New region is being created
+ // Create a new script engine
+ scriptEngine = Activator.CreateInstance(ComponentRegistry.scriptEngines[tempScriptEngineName]) as RegionScriptEngineBase;
+ scriptEngine.Initialize(scene, source);
+ }
+
+ public void PostInitialise()
+ {
+ // Nothing
+ }
+
+ public void Close()
+ {
+ scriptEngine.Close();
+ }
+
+ public string Name
+ {
+ get { return "ScriptEngine Region Loader"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return true; }
+ }
+ }
+}
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/Resources/ScriptEngine.addin.xml b/OpenSim/ApplicationPlugins/ScriptEngine/Resources/ScriptEngine.addin.xml
new file mode 100644
index 0000000..38f6eb0
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/Resources/ScriptEngine.addin.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/ApplicationPlugins/ScriptEngine/ScriptEnginePlugin.cs b/OpenSim/ApplicationPlugins/ScriptEngine/ScriptEnginePlugin.cs
new file mode 100644
index 0000000..cd584d5
--- /dev/null
+++ b/OpenSim/ApplicationPlugins/ScriptEngine/ScriptEnginePlugin.cs
@@ -0,0 +1,89 @@
+/*
+ * 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;
+
+namespace OpenSim.ApplicationPlugins.ScriptEngine
+{
+ public class ScriptEnginePlugin : IApplicationPlugin
+ {
+ internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ internal OpenSimBase m_OpenSim;
+ private ComponentLoader pluginLoader;
+
+ public void Initialise(OpenSimBase openSim)
+ {
+ // Our objective: Load component .dll's
+ m_OpenSim = openSim;
+ pluginLoader = new ComponentLoader(this);
+
+ m_log.Info("[" + Name + "]: Script Engine Component System");
+ m_log.Info("[" + Name + "]: Loading Script Engine Components");
+ pluginLoader.Load("ScriptEngines");
+
+ }
+ #region IApplicationPlugin stuff
+ ///
+ /// Returns the plugin version
+ ///
+ /// Plugin version in MAJOR.MINOR.REVISION.BUILD format
+ public string Version
+ {
+ get { return "1.0.0.0"; }
+ }
+
+ ///
+ /// Returns the plugin name
+ ///
+ /// Plugin name, eg MySQL User Provider
+ public string Name
+ {
+ get { return "ScriptEngine"; }
+ }
+
+ ///
+ /// Default-initialises the plugin
+ ///
+ public void Initialise()
+ {
+ //throw new NotImplementedException();
+ }
+
+ ///
+ ///Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ ///
+ ///2
+ public void Dispose()
+ {
+ //throw new NotImplementedException();
+ }
+ #endregion
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs
new file mode 100644
index 0000000..d4e9a08
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL
+{
+ public class Commands_LSL : CommandBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..b9dc27d
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.ScriptEngine.Components.DotNetEngine.Commands_LSL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("ea77002b-c967-4368-ace9-6533f8147d4b")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs
new file mode 100644
index 0000000..60cab13
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Commands_OSSL
+{
+ public class Commands_OSSL: CommandBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..c7e0ae9
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.ScriptEngine.Components.DotNetEngine.Commands_OSSL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_OSSL")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("ea77002b-c967-4368-ace9-6533f8147d4b")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs
new file mode 100644
index 0000000..190e58d
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs
@@ -0,0 +1,44 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers
+{
+ public class Compiler_CS: CompilerBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs
new file mode 100644
index 0000000..330296d
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs
@@ -0,0 +1,44 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers
+{
+ public class Compiler_JS : CompilerBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs
new file mode 100644
index 0000000..6ed631c
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs
@@ -0,0 +1,44 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers
+{
+ public class Compiler_LSL : CompilerBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs
new file mode 100644
index 0000000..c3b54a5
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs
@@ -0,0 +1,44 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers
+{
+ public class Compiler_VB : CompilerBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..96d3347
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.ScriptEngine.Components.DotNetEngine.Compilers")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Compilers")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("ea77002b-c967-4368-ace9-6533f8147d4b")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs
new file mode 100644
index 0000000..a937df6
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs
@@ -0,0 +1,45 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Events
+{
+ public class LSLEventProvider: EventBase
+ {
+
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f705b9a
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.ScriptEngine.Components.DotNetEngine.Scheduler")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("ea77002b-c967-4368-ace9-6533f8147d4b")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..8b7394b
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.Grid.ScriptEngine.Components.DefaultScheduler")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.Grid.ScriptEngine.Components.DefaultScheduler")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("ea77002b-c967-4368-ace9-6533f8147d4b")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs
new file mode 100644
index 0000000..9b18083
--- /dev/null
+++ b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs
@@ -0,0 +1,44 @@
+/*
+ * 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.Text;
+using OpenSim.ApplicationPlugins.ScriptEngine.Components;
+
+namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler
+{
+ public class Scheduler: SchedulerBase
+ {
+ public override void Start()
+ {
+ }
+
+ public override void Close()
+ {
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs b/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs
new file mode 100644
index 0000000..7179e6c
--- /dev/null
+++ b/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs
@@ -0,0 +1,74 @@
+/*
+ * 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;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using ComponentProviders = OpenSim.ApplicationPlugins.ScriptEngine.ComponentRegistry;
+
+namespace OpenSim.ScriptEngine.Engines.DotNetEngine
+{
+ // This is a sample engine
+ public class DotNetEngine : RegionScriptEngineBase
+ {
+
+
+ // This will be the makeup of this script engine
+ public string[] ComponentNames = new string[] {
+ "Commands_LSL",
+ "Commands_OSSL",
+ "Compiler_CS",
+ "Compiler_JS",
+ "Compiler_LSL",
+ "Compiler_VB",
+ "LSLEventProvider",
+ "Scheduler"
+ };
+
+ public override string Name
+ {
+ get { return "DotNetEngine"; }
+ }
+
+ public override void Initialize()
+ {
+ // We need to initialize the components we will be using. Our baseclass already has builtin functions for this.
+ m_log.Info("[" + Name + "]: Initializing SECs (Script Engine Components)");
+ InitializeComponents(ComponentNames);
+ }
+
+ public override void PreClose()
+ {
+ // Before
+ }
+ }
+}
diff --git a/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..bac01d3
--- /dev/null
+++ b/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.ScriptEngine.Engines.DotNetEngine")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.ScriptEngine.Engines.DotNetEngine")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[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("1d1c68a7-026f-4556-a060-4af69f488d2a")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/prebuild.xml b/prebuild.xml
index c9f1bbc..9674dcd 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -2069,6 +2069,296 @@
+
+
+
+ ../../../bin/
+
+
+
+
+ ../../../bin/
+
+
+
+ ../../../bin/
+ ../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+ ../../../../../bin/
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+ ../../../../../bin/
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+ ../../../../../bin/
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+ ../../../../../bin/
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../../bin/ScriptEngines/
+
+
+
+ ../../../../../bin/
+ ../../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../../../../bin/ScriptEngines/
+
+
+
+
+ ../../../../bin/ScriptEngines/
+
+
+
+ ../../../../bin/
+ ../../../../bin/ScriptEngines/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--
cgit v1.1