namespace SabreTools.Data.Models.Metadata { /// /// Format-agnostic representation of game, machine, and set data /// public class Machine : DictionaryBase { #region Properties public string? Board { get; set; } public string? Buttons { get; set; } public string? CloneOf { get; set; } public string? CloneOfId { get; set; } public string? Company { get; set; } public string? Control { get; set; } public string? Country { get; set; } public string? Description { get; set; } public string? DirName { get; set; } public string? DisplayCount { get; set; } public string? DisplayType { get; set; } public string? DuplicateID { get; set; } public string? Emulator { get; set; } public string? Extra { get; set; } public string? Favorite { get; set; } public string? GenMSXID { get; set; } public string? Hash { get; set; } public string? History { get; set; } public string? Id { get; set; } public string? Im1CRC { get; set; } public string? Im2CRC { get; set; } public string? ImageNumber { get; set; } /// (yes|no) "no" public bool? IsBios { get; set; } /// (yes|no) "no" public bool? IsDevice { get; set; } /// (yes|no) "no" public bool? IsMechanical { get; set; } public string? Language { get; set; } public string? Location { get; set; } public string? Manufacturer { get; set; } public string? Name { get; set; } public string? Notes { get; set; } public string? PlayedCount { get; set; } public string? PlayedTime { get; set; } public string? Players { get; set; } public string? Publisher { get; set; } public string? RebuildTo { get; set; } public string? ReleaseNumber { get; set; } public string? RomOf { get; set; } public string? Rotation { get; set; } /// (yes|partial|no) "no" public Runnable? Runnable { get; set; } public string? SampleOf { get; set; } public string? SaveType { get; set; } public string? SourceFile { get; set; } public string? SourceRom { get; set; } public string? Status { get; set; } /// (yes|partial|no) "yes" public Supported? Supported { get; set; } public string? System { get; set; } public string? Tags { get; set; } public string? Url { get; set; } public string? Year { get; set; } #endregion #region Keys /// Adjuster[] [NoFilter] public const string AdjusterKey = "adjuster"; /// Archive[] [NoFilter] public const string ArchiveKey = "archive"; /// BiosSet[] [NoFilter] public const string BiosSetKey = "biosset"; /// string, string[] public const string CategoryKey = "category"; /// Chip[] [NoFilter] public const string ChipKey = "chip"; /// string, string[] public const string CommentKey = "comment"; /// Configuration[] [NoFilter] public const string ConfigurationKey = "configuration"; /// Device[] [NoFilter] public const string DeviceKey = "device"; /// DeviceRef[] [NoFilter] public const string DeviceRefKey = "device_ref"; /// DipSwitch[] [NoFilter] public const string DipSwitchKey = "dipswitch"; /// Disk[] [NoFilter] public const string DiskKey = "disk"; /// Display[] [NoFilter] public const string DisplayKey = "display"; /// Driver [NoFilter] public const string DriverKey = "driver"; /// Dump[] [NoFilter] public const string DumpKey = "dump"; /// Feature[] [NoFilter] public const string FeatureKey = "feature"; /// Info[] [NoFilter] public const string InfoKey = "info"; /// Input [NoFilter] public const string InputKey = "input"; /// Media[] [NoFilter] public const string MediaKey = "media"; /// Part[] [NoFilter] public const string PartKey = "part"; /// Port[] [NoFilter] public const string PortKey = "port"; /// RamOption[] [NoFilter] public const string RamOptionKey = "ramoption"; /// Release[] [NoFilter] public const string ReleaseKey = "release"; /// Rom[] [NoFilter] public const string RomKey = "rom"; /// Sample[] [NoFilter] public const string SampleKey = "sample"; /// SharedFeat[] [NoFilter] public const string SharedFeatKey = "sharedfeat"; /// Slot[] [NoFilter] public const string SlotKey = "slot"; /// SoftwareList[] [NoFilter] public const string SoftwareListKey = "softwarelist"; /// Sound [NoFilter] public const string SoundKey = "sound"; /// TODO: This needs an internal model OR mapping to fields /// Trurip [NoFilter] public const string TruripKey = "trurip"; /// Video[] [NoFilter] public const string VideoKey = "video"; #endregion } }