aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IScheduler.cs43
1 files changed, 43 insertions, 0 deletions
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 @@
1using System;
2
3namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
4{
5 interface IScheduler
6 {
7 /// <summary>
8 /// Schedule an event callback to occur
9 /// when 'time' is elapsed.
10 /// </summary>
11 /// <param name="time">The period to wait before executing</param>
12 void RunIn(TimeSpan time);
13
14 /// <summary>
15 /// Schedule an event callback to fire
16 /// every "time". Equivilent to a repeating
17 /// timer.
18 /// </summary>
19 /// <param name="time">The period to wait between executions</param>
20 void RunAndRepeat(TimeSpan time);
21
22 /// <summary>
23 /// Fire this scheduler only when the region has
24 /// a user in it.
25 /// </summary>
26 bool WhenRegionOccupied { get; set; }
27
28 /// <summary>
29 /// Fire this event only when the region is visible
30 /// to a child agent, or there is a full agent
31 /// in this region.
32 /// </summary>
33 bool WhenRegionVisible { get; set; }
34
35 /// <summary>
36 /// Determines whether this runs in the master scheduler thread, or a new thread
37 /// is spawned to handle your request. Running in scheduler may mean that your
38 /// code does not execute perfectly on time, however will result in a lower
39 /// processor cost to running your code.
40 /// </summary>
41 bool Schedule { get; set; }
42 }
43}