namespace SabreTools.Data.Models.Metadata { /// /// Format-agnostic representation of metadata header data /// public class Header : DictionaryBase { #region Properties public string? Author { get; set; } /// (none|split|merged|nonmerged|fullmerged|device|full) "split" public MergingFlag BiosMode { get; set; } public string? Build { get; set; } public string? Category { get; set; } public string? Comment { get; set; } public string? Date { get; set; } public string? DatVersion { get; set; } /// (yes|no) "no" public bool? Debug { get; set; } public string? Description { get; set; } public string? Email { get; set; } public string? EmulatorVersion { get; set; } /// (none|split|merged|nonmerged|fullmerged|device|full) "split" public MergingFlag ForceMerging { get; set; } /// (obsolete|required|ignore) "obsolete" public NodumpFlag ForceNodump { get; set; } /// (zip|unzip) "zip" public PackingFlag ForcePacking { get; set; } /// (yes|no) "yes" public bool? ForceZipping { get; set; } public string[]? HeaderRow { get; set; } public string? HeaderSkipper { get; set; } public string? Homepage { get; set; } public string? Id { get; set; } /// (yes|no) "no" public bool? LockBiosMode { get; set; } /// (yes|no) "no" public bool? LockRomMode { get; set; } /// (yes|no) "no" public bool? LockSampleMode { get; set; } public string? MameConfig { get; set; } public string? Name { get; set; } public string? Notes { get; set; } public string? Plugin { get; set; } public string? RefName { get; set; } /// (none|split|merged|nonmerged|fullmerged|device|full) "split" public MergingFlag RomMode { get; set; } public string? RomTitle { get; set; } public string? RootDir { get; set; } /// (none|split|merged|nonmerged|fullmerged|device|full) "split" public MergingFlag SampleMode { get; set; } public string? ScreenshotsHeight { get; set; } public string? ScreenshotsWidth { get; set; } public string? System { get; set; } public string? Timestamp { get; set; } public string? Type { get; set; } public string? Url { get; set; } public string? Version { get; set; } #endregion #region Keys /// TODO: This needs an internal model OR mapping to fields /// CanOpen [NoFilter] public const string CanOpenKey = "canOpen"; /// TODO: This needs an internal model OR mapping to fields /// Search [NoFilter] public const string ImagesKey = "images"; /// string public const string ImFolderKey = "imFolder"; /// TODO: This needs an internal model OR mapping to fields /// Infos [NoFilter] public const string InfosKey = "infos"; /// TODO: This needs an internal model OR mapping to fields /// NewDat [NoFilter] public const string NewDatKey = "newDat"; /// string public const string SchemaLocationKey = "schemaLocation"; /// TODO: This needs an internal model OR mapping to fields /// Search [NoFilter] public const string SearchKey = "search"; #endregion } }