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; } } }