OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Properties | List of all members
OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance Interface Reference

Interface for interaction with a particular script instance More...

Inheritance diagram for OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance:
Inheritance graph
[legend]

Public Member Functions

void ClearQueue ()
 
void RemoveState ()
 
void Init ()
 
void Start ()
 
bool Stop (int timeout, bool clearEventQueue=false)
 Stop the script instance. More...
 
void SetState (string state)
 
void PostEvent (EventParams data)
 Post an event to this script instance. More...
 
void Suspend ()
 
void Resume ()
 
object EventProcessor ()
 Process the next event queued for this script instance. More...
 
int EventTime ()
 
void ResetScript (int timeout)
 Reset the script. More...
 
void ApiResetScript ()
 Reset the script. More...
 
Dictionary< string, object > GetVars ()
 
void SetVars (Dictionary< string, object > vars)
 
DetectParams GetDetectParams (int idx)
 
UUID GetDetectID (int idx)
 
void SaveState ()
 
void DestroyScriptInstance ()
 
IScriptApi GetApi (string name)
 
string GetAssemblyName ()
 
string GetXMLState ()
 

Properties

int DebugLevel [get, set]
 Debug level for this script instance. More...
 
bool Running [get, set]
 Is the script currently running? More...
 
bool Suspended [get, set]
 Is the script suspended? More...
 
bool ShuttingDown [get, set]
 Is the script shutting down? More...
 
bool StayStopped [get, set]
 When stopping the script: should it remain stopped permanently (i.e., save !Running in its state)? More...
 
string State [get, set]
 Script state More...
 
bool StatePersistedHere [get]
 If true then the engine is responsible for persisted state. If false then some other component may persist state (e.g. attachments persisting in assets). More...
 
DateTime TimeStarted [get]
 Time the script was last started More...
 
MetricsCollectorTime ExecutionTime [get]
 Collects information about how long the script was executed. More...
 
SceneObjectPart Part [get]
 Scene part in which this script instance is contained. More...
 
IScriptEngine Engine [get]
 
UUID AppDomain [get, set]
 
string PrimName [get]
 
string ScriptName [get]
 
UUID ItemID [get]
 
UUID ObjectID [get]
 
UUID RootObjectID [get]
 UUID of the root object for the linkset that the script is in. More...
 
uint RootLocalID [get]
 Local id of the root object for the linkset that the script is in. More...
 
uint LocalID [get]
 
UUID AssetID [get]
 
TaskInventoryItem ScriptTask [get]
 Inventory item containing the script used. More...
 
Queue EventQueue [get]
 
long EventsQueued [get]
 Number of events queued for processing. More...
 
long EventsProcessed [get]
 Number of events processed by this script instance. More...
 
int StartParam [get, set]
 
WaitHandle CoopWaitHandle [get]
 
Stopwatch ExecutionTimer [get]
 
Dictionary< KeyValuePair< int,
int >, KeyValuePair< int, int > > 
LineMap [get, set]
 
double MinEventDelay [set]
 
UUID RegionID [get]
 

Detailed Description

Interface for interaction with a particular script instance

Definition at line 67 of file IScriptInstance.cs.

Member Function Documentation

void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ApiResetScript ( )

Reset the script.

This must not be called by any thread other than the one executing the scripts current event. This is because there is no wait or abort logic if another thread is in the middle of processing a script event. Such an external thread should use ResetScript() instead.

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ClearQueue ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.DestroyScriptInstance ( )
object OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.EventProcessor ( )

Process the next event queued for this script instance.

Returns

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

int OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.EventTime ( )

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

Here is the caller graph for this function:

IScriptApi OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetApi ( string  name)
string OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetAssemblyName ( )
UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetDetectID ( int  idx)
DetectParams OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetDetectParams ( int  idx)
Dictionary<string, object> OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetVars ( )
string OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.GetXMLState ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Init ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.PostEvent ( EventParams  data)

Post an event to this script instance.

Parameters
data

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.RemoveState ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ResetScript ( int  timeout)

Reset the script.

This must not be called by a thread that is in the process of handling an event for this script. Otherwise there is a danger that it will self-abort and not complete the reset. Such a thread must call ApiResetScript() instead.

Parameters
timeoutHow many milliseconds we will wait for an existing script event to finish before forcibly aborting that event prior to script reset.

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Resume ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.SaveState ( )
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.SetState ( string  state)
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.SetVars ( Dictionary< string, object >  vars)
void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Start ( )
bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Stop ( int  timeout,
bool  clearEventQueue = false 
)

Stop the script instance.

This must not be called by a thread that is in the process of handling an event for this script. Otherwise there is a danger that it will self-abort and not complete the reset.

Parameters
timeout

How many milliseconds we will wait for an existing script event to finish before forcibly aborting that event.

Parameters
clearEventQueueIf true then the event queue is also cleared
Returns
true if the script was successfully stopped, false otherwise

Implemented in OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.

void OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Suspend ( )

Property Documentation

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.AppDomain
getset

Definition at line 128 of file IScriptInstance.cs.

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.AssetID
get

Definition at line 145 of file IScriptInstance.cs.

WaitHandle OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.CoopWaitHandle
get

Definition at line 167 of file IScriptInstance.cs.

int OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.DebugLevel
getset

Debug level for this script instance.

Level == 0, no extra data is logged. Level >= 1, state changes are logged. Level >= 2, event firing is logged.

The debug level.

Definition at line 79 of file IScriptInstance.cs.

IScriptEngine OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Engine
get

Definition at line 127 of file IScriptInstance.cs.

Queue OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.EventQueue
get

Definition at line 152 of file IScriptInstance.cs.

long OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.EventsProcessed
get

Number of events processed by this script instance.

Definition at line 162 of file IScriptInstance.cs.

long OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.EventsQueued
get

Number of events queued for processing.

Definition at line 157 of file IScriptInstance.cs.

MetricsCollectorTime OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ExecutionTime
get

Collects information about how long the script was executed.

Definition at line 120 of file IScriptInstance.cs.

Stopwatch OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ExecutionTimer
get

Definition at line 168 of file IScriptInstance.cs.

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ItemID
get

Definition at line 131 of file IScriptInstance.cs.

Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int> > OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.LineMap
getset

Definition at line 242 of file IScriptInstance.cs.

uint OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.LocalID
get

Definition at line 144 of file IScriptInstance.cs.

double OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.MinEventDelay
set

Definition at line 246 of file IScriptInstance.cs.

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ObjectID
get

Definition at line 132 of file IScriptInstance.cs.

SceneObjectPart OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Part
get

Scene part in which this script instance is contained.

Definition at line 125 of file IScriptInstance.cs.

string OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.PrimName
get

Definition at line 129 of file IScriptInstance.cs.

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.RegionID
get

Definition at line 247 of file IScriptInstance.cs.

uint OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.RootLocalID
get

Local id of the root object for the linkset that the script is in.

Definition at line 142 of file IScriptInstance.cs.

UUID OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.RootObjectID
get

UUID of the root object for the linkset that the script is in.

Definition at line 137 of file IScriptInstance.cs.

bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Running
getset

Is the script currently running?

Definition at line 84 of file IScriptInstance.cs.

string OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ScriptName
get

Definition at line 130 of file IScriptInstance.cs.

TaskInventoryItem OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ScriptTask
get

Inventory item containing the script used.

Definition at line 150 of file IScriptInstance.cs.

bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.ShuttingDown
getset

Is the script shutting down?

Definition at line 94 of file IScriptInstance.cs.

int OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.StartParam
getset

Definition at line 165 of file IScriptInstance.cs.

string OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.State
getset

Script state

Definition at line 104 of file IScriptInstance.cs.

bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.StatePersistedHere
get

If true then the engine is responsible for persisted state. If false then some other component may persist state (e.g. attachments persisting in assets).

Definition at line 110 of file IScriptInstance.cs.

bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.StayStopped
getset

When stopping the script: should it remain stopped permanently (i.e., save !Running in its state)?

Definition at line 99 of file IScriptInstance.cs.

bool OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.Suspended
getset

Is the script suspended?

Definition at line 89 of file IScriptInstance.cs.

DateTime OpenSim.Region.ScriptEngine.Interfaces.IScriptInstance.TimeStarted
get

Time the script was last started

Definition at line 115 of file IScriptInstance.cs.


The documentation for this interface was generated from the following file: