From ed03098e122be9f521208ca5266f549289bba811 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 8 Aug 2023 12:38:16 -0400 Subject: [PATCH] Add internal Header model --- SabreTools.Models/Internal/Header.cs | 153 +++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 SabreTools.Models/Internal/Header.cs diff --git a/SabreTools.Models/Internal/Header.cs b/SabreTools.Models/Internal/Header.cs new file mode 100644 index 00000000..4d47fdc6 --- /dev/null +++ b/SabreTools.Models/Internal/Header.cs @@ -0,0 +1,153 @@ +namespace SabreTools.Models.Internal +{ + /// + /// Format-agnostic representation of metadata header data + /// + public class Header : DictionaryBase + { + #region Keys + + /// string + public const string AuthorKey = "author"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string BiosModeKey = "biosmode"; + + /// string + public const string BuildKey = "build"; + + /// TODO: This needs an internal model OR mapping to fields + /// CanOpen + public const string CanOpenKey = "canOpen"; + + /// string + public const string CategoryKey = "category"; + + /// string + public const string CommentKey = "comment"; + + /// TODO: This needs an internal model OR mapping to fields + /// Configuration + public const string ConfigurationKey = "configuration"; + + /// string + public const string DateKey = "date"; + + /// string + public const string DatVersionKey = "datversion"; + + /// (yes|no) "no" + public const string DebugKey = "debug"; + + /// string + public const string DescriptionKey = "description"; + + /// string + public const string EmailKey = "email"; + + /// string + public const string EmulatorVersionKey = "emulatorversion"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string ForceMergingKey = "forcemerging"; + + /// (obsolete|required|ignore) "obsolete" + public const string ForceNodumpKey = "forcenodump"; + + /// (zip|unzip) "zip" + public const string ForcePackingKey = "forcepacking"; + + /// (yes|no) "yes" + public const string ForceZippingKey = "forcezipping"; + + /// string, string[] + public const string HeaderKey = "header"; + + /// string + public const string HomepageKey = "homepage"; + + /// string + public const string IdKey = "id"; + + /// TODO: This needs an internal model OR mapping to fields + /// Search + public const string ImagesKey = "images"; + + /// string + public const string ImFolderKey = "imFolder"; + + /// TODO: This needs an internal model OR mapping to fields + /// Infos + public const string InfosKey = "infos"; + + /// (yes|no) "no" + public const string LockBiosModeKey = "lockbiosmode"; + + /// (yes|no) "no" + public const string LockRomModeKey = "lockrommode"; + + /// (yes|no) "no" + public const string LockSampleModeKey = "locksamplemode"; + + /// string + public const string MameConfigKey = "mameconfig"; + + /// string + public const string NameKey = "name"; + + /// TODO: This needs an internal model OR mapping to fields + /// NewDat + public const string NewDatKey = "newDat"; + + /// string + public const string NoNamespaceSchemaLocationKey = "noNamespaceSchemaLocation"; + + /// string + public const string NotesKey = "notes"; + + /// string + public const string PluginKey = "plugin"; + + /// string + public const string RefNameKey = "refname"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string RomModeKey = "rommode"; + + /// string + public const string RomTitleKey = "romTitle"; + + /// string + public const string RootDirKey = "rootdir"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string SampleModeKey = "samplemode"; + + /// string + public const string ScreenshotsHeightKey = "screenshotsHeight"; + + /// string + public const string ScreenshotsWidthKey = "screenshotsWidth"; + + /// TODO: This needs an internal model OR mapping to fields + /// Search + public const string SearchKey = "search"; + + /// string + public const string SystemKey = "system"; + + /// string + public const string TimestampKey = "timestamp"; + + /// string + public const string TypeKey = "type"; + + /// string + public const string UrlKey = "url"; + + /// string + public const string VersionKey = "version"; + + #endregion + } +} \ No newline at end of file