Files
SabreTools.Serialization/SabreTools.Data.Models/Metadata/Machine.cs

186 lines
4.4 KiB
C#
Raw Normal View History

2025-09-26 12:44:16 -04:00
2025-09-26 13:06:18 -04:00
namespace SabreTools.Data.Models.Metadata
2025-09-26 10:20:48 -04:00
{
/// <summary>
/// Format-agnostic representation of game, machine, and set data
/// </summary>
public class Machine : DictionaryBase
{
2026-04-01 13:18:45 -04:00
#region Properties
public Adjuster[]? Adjuster { get; set; }
public Archive[]? Archive { get; set; }
public BiosSet[]? BiosSet { get; set; }
2026-04-03 22:17:31 -04:00
public string? Board { get; set; }
public string? Buttons { get; set; }
public Chip[]? Chip { get; set; }
2026-04-03 22:17:31 -04:00
public string? CloneOf { get; set; }
public string? CloneOfId { get; set; }
public string? Company { get; set; }
public Configuration[]? Configuration { get; set; }
2026-04-03 22:17:31 -04:00
public string? Control { get; set; }
public string? Country { get; set; }
2026-04-02 11:18:49 -04:00
public string? Description { get; set; }
public Device[]? Device { get; set; }
public DeviceRef[]? DeviceRef { get; set; }
public DipSwitch[]? DipSwitch { get; set; }
2026-04-03 22:17:31 -04:00
public string? DirName { get; set; }
public Disk[]? Disk { get; set; }
public Display[]? Display { get; set; }
2026-04-03 22:17:31 -04:00
public string? DisplayCount { get; set; }
public string? DisplayType { get; set; }
public Driver? Driver { get; set; }
public Dump[]? Dump { get; set; }
2026-04-03 22:17:31 -04:00
public string? DuplicateID { get; set; }
public string? Emulator { get; set; }
public string? Extra { get; set; }
public string? Favorite { get; set; }
public Feature[]? Feature { get; set; }
2026-04-03 22:17:31 -04:00
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; }
public Info[]? Info { get; set; }
public Input? Input { get; set; }
2026-04-01 21:59:16 -04:00
/// <remarks>(yes|no) "no"</remarks>
public bool? IsBios { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? IsDevice { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? IsMechanical { get; set; }
2026-04-03 22:17:31 -04:00
public string? Language { get; set; }
public string? Location { get; set; }
public string? Manufacturer { get; set; }
public Media[]? Media { get; set; }
2026-04-01 13:18:45 -04:00
public string? Name { get; set; }
2026-04-03 22:17:31 -04:00
public string? Notes { get; set; }
public Part[]? Part { get; set; }
2026-04-03 22:17:31 -04:00
public string? PlayedCount { get; set; }
public string? PlayedTime { get; set; }
public string? Players { get; set; }
public Port[]? Port { get; set; }
2026-04-03 22:17:31 -04:00
public string? Publisher { get; set; }
public RamOption[]? RamOption { get; set; }
2026-04-03 22:17:31 -04:00
public string? RebuildTo { get; set; }
public Release[]? Release { get; set; }
2026-04-03 22:17:31 -04:00
public string? ReleaseNumber { get; set; }
public Rom[]? Rom { get; set; }
2026-04-03 22:17:31 -04:00
public string? RomOf { get; set; }
public string? Rotation { get; set; }
2026-04-01 21:59:16 -04:00
/// <remarks>(yes|partial|no) "no"</remarks>
2026-04-01 22:06:24 -04:00
public Runnable? Runnable { get; set; }
2026-04-01 21:59:16 -04:00
public Sample[]? Sample { get; set; }
2026-04-03 22:17:31 -04:00
public string? SampleOf { get; set; }
public string? SaveType { get; set; }
public SharedFeat[]? SharedFeat { get; set; }
public Slot[]? Slot { get; set; }
public SoftwareList[]? SoftwareList { get; set; }
public Sound? Sound { get; set; }
2026-04-03 22:17:31 -04:00
public string? SourceFile { get; set; }
public string? SourceRom { get; set; }
public string? Status { get; set; }
2026-04-02 02:18:08 -04:00
/// <remarks>(yes|partial|no) "yes"</remarks>
public Supported? Supported { get; set; }
2026-04-03 22:17:31 -04:00
public string? System { get; set; }
public string? Tags { get; set; }
public string? Url { get; set; }
public Video[]? Video { get; set; }
2026-04-03 22:17:31 -04:00
public string? Year { get; set; }
2026-04-01 13:18:45 -04:00
#endregion
2025-09-26 10:20:48 -04:00
#region Keys
/// <remarks>string, string[]</remarks>
public const string CategoryKey = "category";
/// <remarks>string, string[]</remarks>
public const string CommentKey = "comment";
/// TODO: This needs an internal model OR mapping to fields
/// <remarks>Trurip</remarks>
[NoFilter]
public const string TruripKey = "trurip";
#endregion
}
2026-01-27 12:03:01 -05:00
}