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
}
}