aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-23If ScriptStopStrategy hasn't been set to co-op in [XEngine] config, then ↵Justin Clark-Casey (justincc)1-0/+8
continue to generate C# that is functionality identical to historical generation This is to eliminate disruption until co-op termination has been well-tested. In non co-op mode, XEngine will continue to load DLLs of the existing Script class and the new XEngineScript class. Moving to co-op mode still requires existing script DLL deletion to force recompilation, either manually or by setting DeleteScriptsOnStartup = true for one run. This change also means that scripts which fail to initialize do not still show up as running scripts.
2013-01-17Implement non-wait co-operative termination of scripts for XEngine in ↵Justin Clark-Casey (justincc)1-5/+30
addition to termination on wait. This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls. These places are for, while, do-while, label, user function call and manual event function call. Call goes through to an XEngineScriptBase which extends ScriptBase. IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler. Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console. Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run. Automatic recompilation may be implemented in a later commit. This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
2012-01-14Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)1-7/+0
OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script. Doing this in every script is unnecessary since the event trigger is parameterized by the item id. All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException. Registration moved to UrlModule so that the handler is registered for all script engine implementations. This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
2010-09-26Add configurable path to script engine assembliesBlueWall1-0/+1
Adding ability to place script engine assemblies outside the codebase directories. Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies" Signed-off-by: Melanie <melanie@t-data.com>
2009-12-22Revert "Remove an insterface member that was never used"Melanie1-0/+1
It was used. By the API, which is dynamically loaded. So it didn't complain until it hit Bamboo This reverts commit 33d5018e94e52cb875bf43bced623bdc6aa41ef0.
2009-12-22Remove an insterface member that was never usedMelanie1-1/+0
2009-06-06Correct an error where the config file name was always considered to be aMelanie Thielker1-0/+1
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail on regions that load their config from a web server
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-04-10Introduce IXmlRpcRouter, an interface that allows registering XMLRPCMelanie Thielker1-0/+3
UUIDs with a central marshaller for grids, or publish the ULS for objects elsewhere.
2009-04-10Add events to IScriptEngine to notify scripting modules of the removalMelanie Thielker1-0/+7
of objects from the scene, and of scripts from objects. This facilitates the development of modules that can register prims with externall servers for inbound email and XMLRPC. Currently implemented in XEngine only. Also applying cmickeyb's compiler locking patch, since it seems risk-free.
2009-02-22Refactor log4net logger handling in script engine. (#3148)Jeff Ames1-1/+0
2009-02-06This changeset is the step 1 of 2 in refactoringDr Scofield1-1/+1
OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
2008-12-21An initial implementation of llMinEventDelay in XEngine.idb1-0/+1
Not implemented yet in DotNetEngine. Fixes Mantis #2830
2008-11-08Add some discovery code, laying groundwork for region-crossing scriptsMelanie Thielker1-3/+0
No user functionality yet
2008-11-08Refactor IEventReceiver back into IScriptEngineMelanie Thielker1-1/+30
2008-10-03Reintroduces the discovery mechanism to use llRequestSimulatorData("", 128)Melanie Thielker1-2/+0
Causes the dataserver event to return "OpenSim" when running on OpenSim. Requires ThreatLevel to be "High" or above to function.
2008-09-26Full API convergence. Api is back in LSL_Api.cs and OSSL_Api.cs.Melanie Thielker1-4/+0
The binaries are still different, but that is only a small step away now. The OSSLPrim has been removed. This commit will breal all scripts using Prim.Scale(), etc, syntax. It was not secure and will have to be brought back in another form.
2008-09-25Some script engine interface changesMelanie Thielker1-6/+0
2008-09-25CONVERGENCE!!!!!!Melanie Thielker1-3/+0
The entire LSL API is now in the single, shared file OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs This is for both engines. The OSSL function are still separate.
2008-09-24Rename lots of stuff in DNE to reduce source code differences in theMelanie Thielker1-1/+0
LSL implementation files. Rename lots of stuff in XEngine for the same reason. Move methods between interfaces. Just refactor stuff.
2008-09-24Decouple AsyncCommands from XEngine and the script instance. MakeMelanie Thielker1-1/+0
all methods needed outside the API ststic. Async command processing is now wholly internal to the API. This sets the stage for the next convergence step.
2008-09-23Alter tests to match up with the results after tyre's patchMelanie Thielker1-11/+1
2008-09-16* minor: method documentationJustin Clarke Casey1-5/+17
2008-09-13Provide a GetApi method on the IScriptEngine to get a named API referenceMelanie Thielker1-0/+1
This allows cross-api method calls on the implementation and also allows "Meta APIs" that only provide common functionality to other APIs
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-9/+9
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
2008-08-28Refactor IScriptInstance / IScriptEngine to use a generic IScriptWorkItem,Melanie Thielker1-1/+1
which is a thin wrapper around a IWorkItemResult from the SmartThreadPool. However, it is very easy to reimplement on top of basic threading and therefore makes the IScriptInstance class independent of the specific threading implementation.
2008-08-27Thank you, salahazar, for a patch that corrects the behavior ofMelanie Thielker1-1/+0
llDetectedLink(). Also a small refactor to remove an interface member from IScriptEngine.
2008-08-27Refactor XScriptInstance to IScriptInstance and move into Shared/. NowMelanie Thielker1-0/+3
engines that want to use the XEngine's instance handling and state persistence can do so. IScriptInstance is optional, but it does require the SmartThreadPool if it is used.
2008-07-02Mantis#1648. Thank you, Melanie for a patch that:Charles Krinke1-0/+1
Fix a script Xengine deadlock/hang if llResetScript is used in changed()
2008-07-01From: kurt taylor (krtaylor)Dr Scofield1-0/+1
Another new OSSL function for returning the name of the script engine currently running, osGetScriptEngineName, added to both DotNet and XEngine OSSL API.
2008-06-28Mantis#1616. Applied Melanie's patch. This may or mayCharles Krinke1-0/+1
not break trunk.
2008-06-24* Applied patch from Melanie, mantis issue #1581 - "Refactor LSL language, ↵lbsa711-19/+23
api and compiler out of XEngine" "First stage in a major Script Engine refactor, that will result in the LSL implementaions ebing reconverged. Not there yet, but one major part is done." Thank you, Melanie!
2008-04-21* Optimised using statements and namespace references across entire project ↵Adam Frisby1-3/+2
(this took a while to run).
2008-03-18Formatting cleanup.Jeff Ames1-27/+27
2008-02-05Converted logging to use log4net.Jeff Ames1-1/+1
Changed LogBase to ConsoleBase, which handles console I/O. This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-02Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run ↵Tedd Hansen1-1/+1
OpenSim in 32-bit mode. Fixed ScriptEngine.Common startup problems.
2008-02-01SCRIPTING STILL BROKENTedd Hansen1-1/+1
Added comments and regions, restructured code Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG All modules should now refresh their configuration runtime Made all logging in ScriptEngine.Common get script name from actual engine Renamed LSLLongCmdHandler to AsyncLSLCommandManager Added auto-recover with 5 sec throttle for new MaintenanceThread
2008-02-01ExperimentalTedd Hansen1-0/+6
Moved DotNetScriptEngine configuration to config file. Added option to share script execution threads between regions.
2008-01-21Small bug in ResetScriptTedd Hansen1-4/+0
2008-01-12Major reorganizing of DotNetEngine. Moved common script engine parts to ↵Tedd Hansen1-78/+8
ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common. Loads of things has been put into interfaces instead of the specific class. We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
2008-01-12ScriptServer communication is ok. Script is creatd on onrez. But since it ↵Tedd Hansen1-3/+3
can not access Scene it sort of crashes right away ;) Added some sample placeholders for implementing rest of LSL events.
2008-01-09Dynamic loading of ScriptEngine in ScriptServerTedd Hansen1-1/+7
ScriptServer event pipe (OpenSim->ScriptServer->ScriptEngine) should in theory be done
2007-12-30server->script event path almost ready for remote scriptengine (translation ↵Tedd Hansen1-12/+5
table between local script ID and remote script ID missing)
2007-12-30In this commit I am using an editor feature called "Save All" before I commit.Tedd Hansen1-1/+2
2007-12-27* Optimized usingslbsa711-1/+1
* shortened references * Removed redundant 'this' * Normalized EOF
2007-12-10saved OpenSim source code from the giant rampaging unterminated copyright ↵Jeff Ames1-2/+2
notice of doom
2007-10-30* Optimized usingslbsa711-21/+12
* Shortened type references * Removed redundant 'this' qualifier
2007-10-19changes to pass nini config object to the modules that getSean Dague1-132/+133
loaded so that they may read out any bits they are interested in
2007-10-10* Gave ModuleLoader some good lovin'lbsa711-132/+132
* Introduced ModuleLoader.PickupModules that currently picks up IRegionModule:s from /bin * Made LogBase thread-safe (or at least not thread-ignorant) * Ignored some genned files
2007-09-13remove ^M, as native storage should be UNIX format, and ^M in/out mashingSean Dague1-132/+132
will happen on the windows side now that eol-style is correct