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