From b8619386eb31a2bf3f460e464d0237f6bee5f56f Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Sat, 11 Apr 2009 10:21:04 +0000 Subject: * Minor MRM Cleanup * Interfaces now live in Interfaces subdirectory. * Namespace does not yet reflect this change. * Final namespace for MRMs will probably sit somewhere around OpenSim.Extend.MRM[?] --- .../Scripting/Minimodule/Interfaces/IScheduler.cs | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs') diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs new file mode 100644 index 0000000..cf45de7 --- /dev/null +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs @@ -0,0 +1,43 @@ +using System; + +namespace OpenSim.Region.OptionalModules.Scripting.Minimodule +{ + interface IScheduler + { + /// + /// Schedule an event callback to occur + /// when 'time' is elapsed. + /// + /// The period to wait before executing + void RunIn(TimeSpan time); + + /// + /// Schedule an event callback to fire + /// every "time". Equivilent to a repeating + /// timer. + /// + /// The period to wait between executions + void RunAndRepeat(TimeSpan time); + + /// + /// Fire this scheduler only when the region has + /// a user in it. + /// + bool WhenRegionOccupied { get; set; } + + /// + /// Fire this event only when the region is visible + /// to a child agent, or there is a full agent + /// in this region. + /// + bool WhenRegionVisible { get; set; } + + /// + /// Determines whether this runs in the master scheduler thread, or a new thread + /// is spawned to handle your request. Running in scheduler may mean that your + /// code does not execute perfectly on time, however will result in a lower + /// processor cost to running your code. + /// + bool Schedule { get; set; } + } +} -- cgit v1.1