using System.Collections.Generic;
///
/// This holds all of the auxiliary types needed for proper parsing
///
namespace SabreTools.Library.DatItems
{
#region Machine
#region ListXML
///
/// Represents one ListXML adjuster
///
public class ListXmlAdjuster
{
public string Name { get; set; }
public bool? Default { get; set; }
public List Conditions { get; set; }
public ListXmlAdjuster()
{
Conditions = new List();
}
}
///
/// Represents one ListXML analog
///
public class ListXmlAnalog
{
public string Mask { get; set; }
}
///
/// Represents one ListXML chip
///
public class ListXmlChip
{
public string Name { get; set; }
public string Tag { get; set; }
public string Type { get; set; } // TODO: (cpu|audio)
public string Clock { get; set; }
}
///
/// Represents one ListXML condition
///
public class ListXmlCondition
{
public string Tag { get; set; }
public string Mask { get; set; }
public string Relation { get; set; } // TODO: (eq|ne|gt|le|lt|ge)
public string Value { get; set; }
}
///
/// Represents one ListXML configuration
///
public class ListXmlConfiguration
{
public string Name { get; set; }
public string Tag { get; set; }
public string Mask { get; set; }
public List Locations { get; set; }
public List Settings { get; set; }
public ListXmlConfiguration()
{
Locations = new List();
Settings = new List();
}
}
///
/// Represents one ListXML conflocation
///
public class ListXmlConfLocation
{
public string Name { get; set; }
public string Number { get; set; }
public bool? Inverted { get; set; }
}
///
/// Represents one ListXML confsetting
///
public class ListXmlConfSetting
{
public string Name { get; set; }
public string Value { get; set; }
public bool? Default { get; set; }
}
///
/// Represents one ListXML control
///
public class ListXmlControl
{
public string Type { get; set; }
public string Player { get; set; } // TODO: Int32?
public string Buttons { get; set; } // TODO: Int32?
public string RegButtons { get; set; } // TODO: Int32?
public string Minimum { get; set; } // TODO: Int32? Float?
public string Maximum { get; set; } // TODO: Int32? Float?
public string Sensitivity { get; set; } // TODO: Int32? Float?
public string KeyDelta { get; set; } // TODO: Int32? Float?
public bool? Reverse { get; set; }
public string Ways { get; set; } // TODO: Int32? Float?
public string Ways2 { get; set; } // TODO: Int32? Float?
public string Ways3 { get; set; } // TODO: Int32? Float?
}
///
/// Represents one ListXML device
///
public class ListXmlDevice
{
public string Type { get; set; }
public string Tag { get; set; }
public string FixedImage { get; set; }
public string Mandatory { get; set; } // TODO: bool?
public string Interface { get; set; }
public List Instances { get; set; }
public List Extensions { get; set; }
public ListXmlDevice()
{
Instances = new List();
Extensions = new List();
}
}
///
/// Represents one ListXML deviceref
///
public class ListXmlDeviceReference
{
public string Name { get; set; }
}
///
/// Represents one ListXML display
///
public class ListXmlDisplay
{
public string Tag { get; set; }
public string Type { get; set; } // TODO: (raster|vector|lcd|svg|unknown)
public string Rotate { get; set; } // TODO: (0|90|180|270) Int32?
public bool? FlipX { get; set; }
public string Width { get; set; } // TODO: Int32?
public string Height { get; set; } // TODO: Int32?
public string Refresh { get; set; } // TODO: Int32? Float?
public string PixClock { get; set; } // TODO: Int32? Float?
public string HTotal { get; set; } // TODO: Int32? Float?
public string HBend { get; set; } // TODO: Int32? Float?
public string HStart { get; set; } // TODO: Int32? Float?
public string VTotal { get; set; } // TODO: Int32? Float?
public string VBend { get; set; } // TODO: Int32? Float?
public string VStart { get; set; } // TODO: Int32? Float?
}
///
/// Represents one ListXML dipswitch
///
/// Also used by SoftwareList
public class ListXmlDipSwitch
{
public string Name { get; set; }
public string Tag { get; set; }
public string Mask { get; set; }
public List Locations { get; set; }
public List Values { get; set; }
public ListXmlDipSwitch()
{
Locations = new List();
Values = new List();
}
}
///
/// Represents one ListXML diplocation
///
public class ListXmlDipLocation
{
public string Name { get; set; }
public string Number { get; set; }
public bool? Inverted { get; set; }
}
///
/// Represents one ListXML dipvalue
///
/// Also used by SoftwareList
public class ListXmlDipValue
{
public string Name { get; set; }
public string Value { get; set; }
public bool? Default { get; set; }
}
///
/// Represents one ListXML driver
///
public class ListXmlDriver
{
public string Status { get; set; } // TODO: (good|imperfect|preliminary)
public string Emulation { get; set; } // TODO: (good|imperfect|preliminary)
public string Cocktail { get; set; } // TODO: bool? (good|imperfect|preliminary)?
public string SaveState { get; set; } // TODO: (supported|unsupported)
}
///
/// Represents one ListXML extension
///
public class ListXmlExtension
{
public string Name { get; set; }
}
///
/// Represents one ListXML feature
///
public class ListXmlFeature
{
public string Type { get; set; } // TODO: (protection|palette|graphics|sound|controls|keyboard|mouse|microphone|camera|disk|printer|lan|wan|timing)
public string Status { get; set; } // TODO: (unemulated|imperfect)
public string Overall { get; set; } // TODO: (unemulated|imperfect)
}
///
/// Represents one ListXML info
///
public class ListXmlInfo
{
public string Name { get; set; }
public string Value { get; set; }
}
///
/// Represents one ListXML input
///
public class ListXmlInput
{
public bool? Service { get; set; }
public bool? Tilt { get; set; }
public string Players { get; set; } // TODO: Int32?
public string Coins { get; set; } // TODO: Int32?
public List Controls { get; set; }
public ListXmlInput()
{
Controls = new List();
}
}
///
/// Represents one ListXML instance
///
public class ListXmlInstance
{
public string Name { get; set; }
public string BriefName { get; set; }
}
///
/// Represents one ListXML port
///
public class ListXmlPort
{
public string Tag { get; set; }
public List Analogs { get; set; }
public ListXmlPort()
{
Analogs = new List();
}
}
///
/// Represents one ListXML ramoption
///
public class ListXmlRamOption
{
public bool? Default { get; set; }
}
///
/// Represents one ListXML slot
///
public class ListXmlSlot
{
public string Name { get; set; }
public List SlotOptions { get; set; }
public ListXmlSlot()
{
SlotOptions = new List();
}
}
///
/// Represents one ListXML slotoption
///
public class ListXmlSlotOption
{
public string Name { get; set; }
public string DeviceName { get; set; }
public bool? Default { get; set; }
}
///
/// Represents one ListXML softwarelist
///
public class ListXmlSoftwareList
{
public string Name { get; set; }
public string Status { get; set; } // TODO: (original|compatible)
public string Filter { get; set; }
}
///
/// Represents one ListXML sound
///
public class ListXmlSound
{
public string Channels { get; set; } // TODO: Int32?
}
#endregion
#region OpenMSX
///
/// Represents the OpenMSX original value
///
public class OpenMSXOriginal
{
public string Name { get; set; }
public bool? Value { get; set; }
}
#endregion
#region SoftwareList
///
/// Represents one SoftwareList shared feature object
///
public class SoftwareListSharedFeature
{
public string Name { get; set; }
public string Value { get; set; }
public SoftwareListSharedFeature(string name, string value)
{
Name = name;
Value = value;
}
}
#endregion
#endregion // Machine
#region DatItem
#region SoftwareList
///
/// Represents one SoftwareList feature object
///
public class SoftwareListFeature
{
public string Name { get; set; }
public string Value { get; set; }
public SoftwareListFeature(string name, string value)
{
Name = name;
Value = value;
}
}
#endregion
#endregion //DatItem
}