DirectOutput
DirectOutput framework R3 for virtual pinball cabinets.
Loading...
Searching...
No Matches
DirectOutput.Cab.Schedules.ScheduledSettings Class Reference
Inheritance diagram for DirectOutput.Cab.Schedules.ScheduledSettings:
Collaboration diagram for DirectOutput.Cab.Schedules.ScheduledSettings:

Public Member Functions

void WriteXml (XmlWriter writer)
 Serializes the ScheduleSetting objects in this list to Xml.
WriteXml is part of the IXmlSerializable interface.
void ReadXml (XmlReader reader)
 Deserializes the v objects in the XmlReader.
ReadXml is part of the IXmlSerializable interface.
System.Xml.Schema.XmlSchema GetSchema ()
 Method is required by the IXmlSerializable interface.
ScheduledSettingDevice GetActiveSchedule (IOutput currentOutput, bool recalculateoutputValue, int startingdeviceIndex, int currentdeviceIndex)
 Checks if a ScheduledSetting is active; enabled, within time region, among list of affected outputs, and of correct device ID. When the time calculations here are done, make sure and update the ScheduledSetting directly so we won't need to do this every event. There's an interesting issue here when a range passes midnight (2300-0300 for instance) that might need to be handled better, idea being schedules should be able to run all day long in real time without reboots.
IOutput getnewrecalculatedOutput (IOutput currentOutput, int startingdeviceIndex, int currentdeviceIndex)
 Checks if a ScheduledSetting is active, and returns a newly mirrored Output object with modified Value. If not found, returns same input back. There's an interesting issue here when a range passes midnight (2300-0300 for instance) that might need to be handled better, idea being schedules should be able to run all day long in real time without reboots. NOTE: this will change sending output if there is an active schedule. If value of input is 0, ignore changing and return input unchanged.
Public Member Functions inherited from DirectOutput.General.Generic.NamedItemList< T >
bool Contains (string Name)
 Checks if a INamedItem object with the specified name exists in the list.
new void Sort ()
 Sorts the NamedItemList by the Name of the items.
 NamedItemList ()
 Initializes a new instance of the NamedItemList<T> class.
 NamedItemList (IEnumerable< T > EnumerableList)
 Initializes a new instance of the NamedItemList<T> class.
Public Member Functions inherited from DirectOutput.General.Generic.ExtList< T >
int IndexOf (T Item)
 Determines the index of a specific item.
void CopyTo (T[] Array, int ArrayIndex)
 Copies the elements of the ExtList to an Array, starting at a particular Array index.
IEnumerator< T > GetEnumerator ()
 Returns an enumerator that iterates through a ExtList.
void Add (T NewListItem)
 Adds a new item to the ExtList.
void AddRange (IEnumerable< T > Collection)
 Adds a list of items to the ExtList.
ExtList< T > Clone ()
 Creates a clone of the ExtList.
void Insert (int Index, T Item)
 Inserts an item to the ExtList at the specified Index.
void Clear ()
 Clears the ExtList.
bool Remove (T ItemToRemove)
 Romves a item from the ExtList.
void RemoveAt (int Index)
 Removes a item at a specified index.
bool Contains (T ItemToCheck)
 Checks wether the specified item is contained in the ExtList.
void Sort ()
 Sorts the ExtList.
void Sort (IComparer< T > Comparer)
 Sorts the ExtList.
void Sort (Comparison< T > Comparison)
 Sorts the elements in the entire ExtList using the specified System.Comparison<T>.
T[] ToArray ()
 Returns a array containg the ExtList items.
 ExtList ()
 ExtList (IEnumerable< T > EnumerableList)
void CopyTo (Array array, int index)
int Add (object value)
bool Contains (object value)
int IndexOf (object value)
void Insert (int index, object value)
void Remove (object value)

Properties

static ScheduledSettings Instance [get, set]
Properties inherited from DirectOutput.General.Generic.NamedItemList< T >
this[string Name] [get]
 Indexer returning the Item with the specified name.
Properties inherited from DirectOutput.General.Generic.ExtList< T >
bool IsReadOnly [get]
 This ExtList objects are not readonly.
Will always return false.
int Count [get]
 Number of items in the ExtList.
this[int Index] [get, set]
 Indexer of the ExtList.
Returns the item at the specified index.
bool IsSynchronized [get]
object SyncRoot [get]
bool IsFixedSize [get]

Additional Inherited Members

Events inherited from DirectOutput.General.Generic.ExtList< T >
EventHandler< EventArgs > BeforeClear
 Fires before the ExtList is cleared.
If a exception is trown within the events, the list is not cleared.
EventHandler< EventArgs > AfterClear
 Fires after the ExtList is cleared.
EventHandler< InsertEventArgs< T > > BeforeInsert
 Fires before a new item is inserted into the ExtList.
If a exception is occurs in the event, to item is not added. OnValidate is called prior to this method.

EventHandler< InsertEventArgs< T > > AfterInsert
 Fires after a new item is inserted into the ExtList.
OnValidate is called prior to this method.

EventHandler< RemoveEventArgs< T > > BeforeRemove
 Fires before a item is removed from the ExtList.
EventHandler< RemoveEventArgs< T > > AfterRemove
 Fires after a item is removed from the ExtList.
EventHandler< SetEventArgs< T > > BeforeSet
 Fires before a item is set in the ExtList. OnValidate is called prior to this method.
EventHandler< SetEventArgs< T > > AfterSet
 Fires after a item has been set in the ExtList.

Member Function Documentation

◆ GetActiveSchedule()

ScheduledSettingDevice DirectOutput.Cab.Schedules.ScheduledSettings.GetActiveSchedule ( IOutput currentOutput,
bool recalculateoutputValue,
int startingdeviceIndex,
int currentdeviceIndex )

Checks if a ScheduledSetting is active; enabled, within time region, among list of affected outputs, and of correct device ID. When the time calculations here are done, make sure and update the ScheduledSetting directly so we won't need to do this every event. There's an interesting issue here when a range passes midnight (2300-0300 for instance) that might need to be handled better, idea being schedules should be able to run all day long in real time without reboots.

Parameters
currentOutputOutput / port of device.
recalculateoutputValueIf true, recalculates output value directly.
startingdeviceIndexSpecifies start index of device ID (1st UIO=27).
currentdeviceIndexSpecifies active index of device ID (for UIO this is zero-based, making the 1st UIO #27).

◆ getnewrecalculatedOutput()

IOutput DirectOutput.Cab.Schedules.ScheduledSettings.getnewrecalculatedOutput ( IOutput currentOutput,
int startingdeviceIndex,
int currentdeviceIndex )

Checks if a ScheduledSetting is active, and returns a newly mirrored Output object with modified Value. If not found, returns same input back. There's an interesting issue here when a range passes midnight (2300-0300 for instance) that might need to be handled better, idea being schedules should be able to run all day long in real time without reboots. NOTE: this will change sending output if there is an active schedule. If value of input is 0, ignore changing and return input unchanged.

Parameters
currentOutputOutput / port of device.
startingdeviceIndexSpecifies start index of device ID (1st UIO=27).
currentdeviceIndexSpecifies active index of device ID (for UIO this is zero-based, making the 1st UIO #27).

◆ GetSchema()

System.Xml.Schema.XmlSchema DirectOutput.Cab.Schedules.ScheduledSettings.GetSchema ( )

Method is required by the IXmlSerializable interface.

Returns
Returns always null

◆ ReadXml()

void DirectOutput.Cab.Schedules.ScheduledSettings.ReadXml ( XmlReader reader)

Deserializes the v objects in the XmlReader.
ReadXml is part of the IXmlSerializable interface.

◆ WriteXml()

void DirectOutput.Cab.Schedules.ScheduledSettings.WriteXml ( XmlWriter writer)

Serializes the ScheduleSetting objects in this list to Xml.
WriteXml is part of the IXmlSerializable interface.

Property Documentation

◆ Instance

ScheduledSettings DirectOutput.Cab.Schedules.ScheduledSettings.Instance
staticgetset

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