Stand Alone ScriptEngine: early framework, ongoing planning (don't touch yet, will go through major reorganizing). Still a LOT of things needs to be solved...
							parent
							
								
									64f4afcb43
								
							
						
					
					
						commit
						59f0920a8f
					
				|  | @ -0,0 +1,46 @@ | |||
| /* | ||||
| * 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.Grid.ScriptServer | ||||
| { | ||||
|     class OpenScript_Main | ||||
|     { | ||||
|       | ||||
|         public static ScriptServer SE; | ||||
|     | ||||
|         static void Main(string[] args) | ||||
|         { | ||||
|             // Application is starting | ||||
|             SE = new ScriptServer(); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,33 @@ | |||
| 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.ScriptServer")] | ||||
| [assembly: AssemblyDescription("")] | ||||
| [assembly: AssemblyConfiguration("")] | ||||
| [assembly: AssemblyCompany("")] | ||||
| [assembly: AssemblyProduct("OpenSim.Grid.ScriptServer")] | ||||
| [assembly: AssemblyCopyright("Copyright ©  2007")] | ||||
| [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("b6861b87-5203-4040-b756-fd4774932f82")] | ||||
| 
 | ||||
| // Version information for an assembly consists of the following four values: | ||||
| // | ||||
| //      Major Version | ||||
| //      Minor Version  | ||||
| //      Build Number | ||||
| //      Revision | ||||
| // | ||||
| [assembly: AssemblyVersion("1.0.0.0")] | ||||
| [assembly: AssemblyFileVersion("1.0.0.0")] | ||||
|  | @ -0,0 +1,16 @@ | |||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     // Maintains connection and communication to a region | ||||
|     class RegionConnectionManager | ||||
|     { | ||||
| 
 | ||||
|         public RegionConnectionManager() | ||||
|         { | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,94 @@ | |||
| /* | ||||
| * 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 System.Threading; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     // Waiting for incoming script requests from region | ||||
|     internal class RegionScriptDaemon | ||||
|     { | ||||
|         private Thread listenThread; | ||||
| 
 | ||||
|         public ScriptServer m_ScriptServer; | ||||
|         public RegionScriptDaemon(ScriptServer scriptServer) | ||||
|         { | ||||
|             m_ScriptServer = scriptServer; | ||||
|         } | ||||
|         ~RegionScriptDaemon() | ||||
|         { | ||||
|             Stop(); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Starts listening for region requests | ||||
|         /// </summary> | ||||
|         public void Start() | ||||
|         { | ||||
|             // Start listener | ||||
|             Stop(); | ||||
|             listenThread = new Thread(ListenThreadLoop); | ||||
|             listenThread.Name = "listenThread"; | ||||
|             listenThread.IsBackground = true; | ||||
|             listenThread.Start(); | ||||
|         } | ||||
|         /// <summary> | ||||
|         /// Stops listening for region requests | ||||
|         /// </summary> | ||||
|         public void Stop() | ||||
|         { | ||||
|             // Stop listener, clean up | ||||
|             if (listenThread != null) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     if (listenThread.IsAlive) | ||||
|                         listenThread.Abort(); | ||||
|                     listenThread.Join(1000); // Wait 1 second for thread to shut down | ||||
|                 } | ||||
|                 catch { } | ||||
|                 listenThread = null; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private void ListenThreadLoop() | ||||
|         { | ||||
|             // * Listen for requests from regions | ||||
|             // * When a request is received: | ||||
|             //  - Authenticate region | ||||
|             //  - Authenticate user | ||||
|             //  - Have correct scriptengine load script | ||||
|             //   ~ ask scriptengines if they will accept script? | ||||
|             //  - Add script to shared communication channel towards that region | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,19 @@ | |||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     // Maintains all regions | ||||
|     class RegionsManager | ||||
|     { | ||||
|         private List<RegionConnectionManager> Regions = new List<RegionConnectionManager>(); | ||||
| 
 | ||||
|                 public ScriptServer m_ScriptServer; | ||||
|         public RegionsManager(ScriptServer scriptServer) | ||||
|         { | ||||
|             m_ScriptServer = scriptServer; | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,38 @@ | |||
| /* | ||||
| * 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 OpenSim.Framework.Console; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     public interface ScriptEngineInterface | ||||
|     { | ||||
|         //void InitializeEngine(Scene Sceneworld, LogBase logger); | ||||
|         void Shutdown(); | ||||
| //        void StartScript(string ScriptID, IScriptHost ObjectID); | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,124 @@ | |||
| /* | ||||
| * 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.IO; | ||||
| using System.Reflection; | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     public class ScriptEngineLoader | ||||
|     { | ||||
|         private LogBase m_log; | ||||
| 
 | ||||
|         public ScriptEngineLoader(LogBase logger) | ||||
|         { | ||||
|             m_log = logger; | ||||
|         } | ||||
| 
 | ||||
|         public ScriptEngineInterface LoadScriptEngine(string EngineName) | ||||
|         { | ||||
|             ScriptEngineInterface ret = null; | ||||
|             try | ||||
|             { | ||||
|                 ret = | ||||
|                     LoadAndInitAssembly( | ||||
|                         Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine." + EngineName + ".dll"), | ||||
|                         "OpenSim.Region.ScriptEngine." + EngineName + ".ScriptEngine"); | ||||
|             } | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 m_log.Error("ScriptEngine", | ||||
|                             "Error loading assembly \"" + EngineName + "\": " + e.Message + ", " + | ||||
|                             e.StackTrace.ToString()); | ||||
|             } | ||||
|             return ret; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Does actual loading and initialization of script Assembly | ||||
|         /// </summary> | ||||
|         /// <param name="FreeAppDomain">AppDomain to load script into</param> | ||||
|         /// <param name="FileName">FileName of script assembly (.dll)</param> | ||||
|         /// <returns></returns> | ||||
|         private ScriptEngineInterface LoadAndInitAssembly(string FileName, string NameSpace) | ||||
|         { | ||||
|             //Common.SendToDebug("Loading ScriptEngine Assembly " + FileName); | ||||
|             // Load .Net Assembly (.dll) | ||||
|             // Initialize and return it | ||||
| 
 | ||||
|             // TODO: Add error handling | ||||
| 
 | ||||
|             Assembly a; | ||||
|             //try | ||||
|             //{ | ||||
| 
 | ||||
| 
 | ||||
|             // Load to default appdomain (temporary) | ||||
|             a = Assembly.LoadFrom(FileName); | ||||
|             // Load to specified appdomain | ||||
|             // TODO: Insert security | ||||
|             //a = FreeAppDomain.Load(FileName); | ||||
|             //} | ||||
|             //catch (Exception e) | ||||
|             //{ | ||||
|             //    m_log.Error("ScriptEngine", "Error loading assembly \"" + FileName + "\": " + e.ToString()); | ||||
|             //} | ||||
| 
 | ||||
| 
 | ||||
|             //Console.WriteLine("Loading: " + FileName); | ||||
|             //foreach (Type _t in a.GetTypes()) | ||||
|             //{ | ||||
|             //    Console.WriteLine("Type: " + _t.ToString()); | ||||
|             //} | ||||
| 
 | ||||
|             Type t; | ||||
|             //try | ||||
|             //{ | ||||
|             t = a.GetType(NameSpace, true); | ||||
|             //} | ||||
|             //catch (Exception e) | ||||
|             //{ | ||||
|             //    m_log.Error("ScriptEngine", "Error initializing type \"" + NameSpace + "\" from \"" + FileName + "\": " + e.ToString()); | ||||
|             //} | ||||
| 
 | ||||
|             ScriptEngineInterface ret; | ||||
|             //try | ||||
|             //{ | ||||
|             ret = (ScriptEngineInterface) Activator.CreateInstance(t); | ||||
|             //} | ||||
|             //catch (Exception e) | ||||
|             //{ | ||||
|             //    m_log.Error("ScriptEngine", "Error initializing type \"" + NameSpace + "\" from \"" + FileName + "\": " + e.ToString()); | ||||
|             //} | ||||
| 
 | ||||
|             return ret; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | @ -0,0 +1,27 @@ | |||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| 
 | ||||
| namespace OpenSim.Grid.ScriptServer | ||||
| { | ||||
|     class ScriptServer | ||||
|     { | ||||
|         public RegionScriptDaemon RegionScriptDaemon;           // Listen for incoming from region | ||||
|         public RegionsManager RegionManager;                    // Handle regions | ||||
|         public ScriptEngineLoader ScriptEngineLoader;           // Loads scriptengines | ||||
| 
 | ||||
|         public ScriptServer() | ||||
|         { | ||||
|             RegionScriptDaemon = new RegionScriptDaemon(this); | ||||
|             RegionManager = new RegionsManager(this); | ||||
|             //ScriptEngineLoader = new ScriptEngineLoader(this); | ||||
|         } | ||||
| 
 | ||||
|         ~ScriptServer() | ||||
|         { | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,47 @@ | |||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|   <PropertyGroup> | ||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||||
|     <ProductVersion>8.0.50727</ProductVersion> | ||||
|     <SchemaVersion>2.0</SchemaVersion> | ||||
|     <ProjectGuid>{8FF1D8B6-9E2F-47AB-A26A-F44CED20CD0E}</ProjectGuid> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <AppDesignerFolder>Properties</AppDesignerFolder> | ||||
|     <RootNamespace>ScriptServer</RootNamespace> | ||||
|     <AssemblyName>ScriptServer</AssemblyName> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||||
|     <DebugSymbols>true</DebugSymbols> | ||||
|     <DebugType>full</DebugType> | ||||
|     <Optimize>false</Optimize> | ||||
|     <OutputPath>bin\Debug\</OutputPath> | ||||
|     <DefineConstants>DEBUG;TRACE</DefineConstants> | ||||
|     <ErrorReport>prompt</ErrorReport> | ||||
|     <WarningLevel>4</WarningLevel> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||||
|     <DebugType>pdbonly</DebugType> | ||||
|     <Optimize>true</Optimize> | ||||
|     <OutputPath>bin\Release\</OutputPath> | ||||
|     <DefineConstants>TRACE</DefineConstants> | ||||
|     <ErrorReport>prompt</ErrorReport> | ||||
|     <WarningLevel>4</WarningLevel> | ||||
|   </PropertyGroup> | ||||
|   <ItemGroup> | ||||
|     <Reference Include="System" /> | ||||
|     <Reference Include="System.Data" /> | ||||
|     <Reference Include="System.Xml" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Compile Include="Program.cs" /> | ||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
|   </ItemGroup> | ||||
|   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> | ||||
|   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  | ||||
|        Other similar extension points exist, see Microsoft.Common.targets. | ||||
|   <Target Name="BeforeBuild"> | ||||
|   </Target> | ||||
|   <Target Name="AfterBuild"> | ||||
|   </Target> | ||||
|   --> | ||||
| </Project> | ||||
|  | @ -25,11 +25,10 @@ | |||
| * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| *  | ||||
| */ | ||||
| /* Original code: Tedd Hansen */ | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| //TODO: WHERE TO PLACE THIS? | ||||
| 
 | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| //TODO: WHERE TO PLACE THIS? | ||||
| 
 | ||||
| namespace OpenSim.Region.Environment.Scenes.Scripting | ||||
| { | ||||
|     public interface ScriptEngineInterface | ||||
|  |  | |||
|  | @ -26,17 +26,17 @@ | |||
| *  | ||||
| */ | ||||
| /* Original code: Tedd Hansen */ | ||||
| using System; | ||||
| using System.IO; | ||||
| using System.Reflection; | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| using System; | ||||
| using System.IO; | ||||
| using System.Reflection; | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| namespace OpenSim.Region.Environment.Scenes.Scripting | ||||
| { | ||||
|     public class ScriptEngineLoader | ||||
|     { | ||||
|         private LogBase m_log; | ||||
| 
 | ||||
|         private LogBase m_log; | ||||
| 
 | ||||
|         public ScriptEngineLoader(LogBase logger) | ||||
|         { | ||||
|             m_log = logger; | ||||
|  | @ -47,15 +47,15 @@ namespace OpenSim.Region.Environment.Scenes.Scripting | |||
|             ScriptEngineInterface ret = null; | ||||
|             try | ||||
|             { | ||||
|                 ret = | ||||
|                     LoadAndInitAssembly( | ||||
|                 ret = | ||||
|                     LoadAndInitAssembly( | ||||
|                         Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine." + EngineName + ".dll"), | ||||
|                         "OpenSim.Region.ScriptEngine." + EngineName + ".ScriptEngine"); | ||||
|             } | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 m_log.Error("ScriptEngine", | ||||
|                             "Error loading assembly \"" + EngineName + "\": " + e.Message + ", " + | ||||
|                 m_log.Error("ScriptEngine", | ||||
|                             "Error loading assembly \"" + EngineName + "\": " + e.Message + ", " + | ||||
|                             e.StackTrace.ToString()); | ||||
|             } | ||||
|             return ret; | ||||
|  | @ -118,7 +118,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting | |||
|             //    m_log.Error("ScriptEngine", "Error initializing type \"" + NameSpace + "\" from \"" + FileName + "\": " + e.ToString()); | ||||
|             //} | ||||
| 
 | ||||
|             return ret; | ||||
|         } | ||||
|             return ret; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										31
									
								
								prebuild.xml
								
								
								
								
							
							
						
						
									
										31
									
								
								prebuild.xml
								
								
								
								
							|  | @ -947,6 +947,37 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <Project name="OpenSim.Grid.ScriptServer" path="OpenSim/Grid/ScriptServer" type="Exe"> | ||||
|       <Configuration name="Debug"> | ||||
|         <Options> | ||||
|           <OutputPath>../../../bin/</OutputPath> | ||||
|         </Options> | ||||
|       </Configuration> | ||||
|       <Configuration name="Release"> | ||||
|         <Options> | ||||
|           <OutputPath>../../../bin/</OutputPath> | ||||
|         </Options> | ||||
|       </Configuration> | ||||
| 
 | ||||
|       <ReferencePath>../../../bin/</ReferencePath> | ||||
|       <Reference name="System" localCopy="false"/> | ||||
|       <Reference name="System.Data" localCopy="false"/> | ||||
|       <Reference name="System.Xml" localCopy="false"/> | ||||
|       <Reference name="OpenSim.Framework"/> | ||||
|       <Reference name="OpenSim.Framework.Console"/> | ||||
|       <Reference name="OpenSim.Framework.Servers"/> | ||||
|       <Reference name="OpenSim.Framework.Data"/> | ||||
|       <Reference name="OpenSim.Region.ScriptEngine.DotNetEngine"/> | ||||
|       <Reference name="OpenSim.Region.ScriptEngine.Common"/> | ||||
|       <Reference name="libsecondlife.dll"/> | ||||
|       <Reference name="Axiom.MathLib.dll" localCopy="false"/> | ||||
|       <Reference name="XMLRPC.dll"/> | ||||
| 
 | ||||
|       <Files> | ||||
|         <Match pattern="*.cs" recurse="true"/> | ||||
|       </Files> | ||||
|     </Project> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   </Solution> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Tedd Hansen
						Tedd Hansen