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 }