diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs
index 175b3b99..c6ba3fa1 100644
--- a/SabreTools.Data.Extensions/MetadataExtensions.cs
+++ b/SabreTools.Data.Extensions/MetadataExtensions.cs
@@ -203,6 +203,8 @@ namespace SabreTools.Data.Extensions
else if (self is Device selfDevice && clone is Device cloneDevice)
{
cloneDevice.DeviceType = selfDevice.DeviceType;
+ cloneDevice.FixedImage = selfDevice.FixedImage;
+ cloneDevice.Interface = selfDevice.Interface;
cloneDevice.Mandatory = selfDevice.Mandatory;
cloneDevice.Tag = selfDevice.Tag;
}
@@ -278,6 +280,10 @@ namespace SabreTools.Data.Extensions
cloneInput.Service = selfInput.Service;
cloneInput.Tilt = selfInput.Tilt;
}
+ else if (self is Instance selfInstance && clone is Instance cloneInstance)
+ {
+ cloneInstance.BriefName = selfInstance.BriefName;
+ }
else if (self is Machine selfMachine && clone is Machine cloneMachine)
{
cloneMachine.Description = selfMachine.Description;
@@ -287,12 +293,21 @@ namespace SabreTools.Data.Extensions
cloneMachine.Runnable = selfMachine.Runnable;
cloneMachine.Supported = selfMachine.Supported;
}
+ else if (self is Original selfOriginal && clone is Original cloneOriginal)
+ {
+ cloneOriginal.Content = selfOriginal.Content;
+ }
+ else if (self is Part selfPart && clone is Part clonePart)
+ {
+ clonePart.Interface = selfPart.Interface;
+ }
else if (self is Port selfPort && clone is Port clonePort)
{
clonePort.Tag = selfPort.Tag;
}
else if (self is RamOption selfRamOption && clone is RamOption cloneRamOption)
{
+ cloneRamOption.Content = selfRamOption.Content;
cloneRamOption.Default = selfRamOption.Default;
}
else if (self is Release selfRelease && clone is Release cloneRelease)
@@ -319,6 +334,7 @@ namespace SabreTools.Data.Extensions
else if (self is SlotOption selfSlotOption && clone is SlotOption cloneSlotOption)
{
cloneSlotOption.Default = selfSlotOption.Default;
+ cloneSlotOption.DevName = selfSlotOption.DevName;
}
else if (self is Software selfSoftware && clone is Software cloneSoftware)
{
diff --git a/SabreTools.Data.Models/Metadata/Device.cs b/SabreTools.Data.Models/Metadata/Device.cs
index affebcc2..6bcc0ce0 100644
--- a/SabreTools.Data.Models/Metadata/Device.cs
+++ b/SabreTools.Data.Models/Metadata/Device.cs
@@ -11,6 +11,10 @@ namespace SabreTools.Data.Models.Metadata
/// (unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile)
public DeviceType? DeviceType { get; set; }
+ public string? FixedImage { get; set; }
+
+ public string? Interface { get; set; }
+
/// (0|1) "0"
public bool? Mandatory { get; set; }
@@ -24,16 +28,10 @@ namespace SabreTools.Data.Models.Metadata
[NoFilter]
public const string ExtensionKey = "extension";
- /// string
- public const string FixedImageKey = "fixed_image";
-
/// Instance
[NoFilter]
public const string InstanceKey = "instance";
- /// string
- public const string InterfaceKey = "interface";
-
#endregion
public Device() => ItemType = ItemType.Device;
diff --git a/SabreTools.Data.Models/Metadata/Instance.cs b/SabreTools.Data.Models/Metadata/Instance.cs
index 2d07298a..c5fb42f4 100644
--- a/SabreTools.Data.Models/Metadata/Instance.cs
+++ b/SabreTools.Data.Models/Metadata/Instance.cs
@@ -8,17 +8,12 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
+ public string? BriefName { get; set; }
+
public string? Name { get; set; }
#endregion
- #region Keys
-
- /// string
- public const string BriefNameKey = "briefname";
-
- #endregion
-
public Instance() => ItemType = ItemType.Instance;
}
}
diff --git a/SabreTools.Data.Models/Metadata/Original.cs b/SabreTools.Data.Models/Metadata/Original.cs
index fbf46886..01bd3243 100644
--- a/SabreTools.Data.Models/Metadata/Original.cs
+++ b/SabreTools.Data.Models/Metadata/Original.cs
@@ -6,10 +6,13 @@ namespace SabreTools.Data.Models.Metadata
[JsonObject("original"), XmlRoot("original")]
public class Original : DatItem
{
- #region Keys
+ #region Properties
- /// string
- public const string ContentKey = "content";
+ public string? Content { get; set; }
+
+ #endregion
+
+ #region Keys
/// bool
public const string ValueKey = "value";
diff --git a/SabreTools.Data.Models/Metadata/Part.cs b/SabreTools.Data.Models/Metadata/Part.cs
index 49dd52fd..eb093999 100644
--- a/SabreTools.Data.Models/Metadata/Part.cs
+++ b/SabreTools.Data.Models/Metadata/Part.cs
@@ -8,6 +8,8 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
+ public string? Interface { get; set; }
+
public string? Name { get; set; }
#endregion
@@ -30,9 +32,6 @@ namespace SabreTools.Data.Models.Metadata
[NoFilter]
public const string FeatureKey = "feature";
- /// string
- public const string InterfaceKey = "interface";
-
#endregion
public Part() => ItemType = ItemType.Part;
diff --git a/SabreTools.Data.Models/Metadata/RamOption.cs b/SabreTools.Data.Models/Metadata/RamOption.cs
index a8f2092b..345ff641 100644
--- a/SabreTools.Data.Models/Metadata/RamOption.cs
+++ b/SabreTools.Data.Models/Metadata/RamOption.cs
@@ -8,6 +8,8 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
+ public string? Content { get; set; }
+
/// (yes|no) "no"
public bool? Default { get; set; }
@@ -15,13 +17,6 @@ namespace SabreTools.Data.Models.Metadata
#endregion
- #region Keys
-
- /// string
- public const string ContentKey = "content";
-
- #endregion
-
public RamOption() => ItemType = ItemType.RamOption;
}
}
diff --git a/SabreTools.Data.Models/Metadata/SlotOption.cs b/SabreTools.Data.Models/Metadata/SlotOption.cs
index 1e205bf6..18059ea3 100644
--- a/SabreTools.Data.Models/Metadata/SlotOption.cs
+++ b/SabreTools.Data.Models/Metadata/SlotOption.cs
@@ -11,17 +11,12 @@ namespace SabreTools.Data.Models.Metadata
/// (yes|no) "no"
public bool? Default { get; set; }
+ public string? DevName { get; set; }
+
public string? Name { get; set; }
#endregion
- #region Keys
-
- /// string
- public const string DevNameKey = "devname";
-
- #endregion
-
public SlotOption() => ItemType = ItemType.SlotOption;
}
}
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
index 40049bc1..74f5a646 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
@@ -482,9 +482,9 @@ namespace SabreTools.Metadata.DatFiles.Test
return new Data.Models.Metadata.Device
{
[Data.Models.Metadata.Device.ExtensionKey] = new Data.Models.Metadata.Extension[] { CreateMetadataExtension() },
- [Data.Models.Metadata.Device.FixedImageKey] = "fixedimage",
+ FixedImage = "fixedimage",
[Data.Models.Metadata.Device.InstanceKey] = CreateMetadataInstance(),
- [Data.Models.Metadata.Device.InterfaceKey] = "interface",
+ Interface = "interface",
Mandatory = true,
Tag = "tag",
DeviceType = Data.Models.Metadata.DeviceType.PunchTape,
@@ -673,7 +673,7 @@ namespace SabreTools.Metadata.DatFiles.Test
{
return new Data.Models.Metadata.Instance
{
- [Data.Models.Metadata.Instance.BriefNameKey] = "briefname",
+ BriefName = "briefname",
Name = "name",
};
}
@@ -694,7 +694,7 @@ namespace SabreTools.Metadata.DatFiles.Test
{
return new Data.Models.Metadata.Original
{
- [Data.Models.Metadata.Original.ContentKey] = "content",
+ Content = "content",
[Data.Models.Metadata.Original.ValueKey] = true,
};
}
@@ -707,7 +707,7 @@ namespace SabreTools.Metadata.DatFiles.Test
[Data.Models.Metadata.Part.DiskAreaKey] = new Data.Models.Metadata.DiskArea[] { CreateMetadataDiskArea() },
[Data.Models.Metadata.Part.DipSwitchKey] = new Data.Models.Metadata.DipSwitch[] { [] },
[Data.Models.Metadata.Part.FeatureKey] = new Data.Models.Metadata.Feature[] { CreateMetadataFeature() },
- [Data.Models.Metadata.Part.InterfaceKey] = "interface",
+ Interface = "interface",
Name = "name",
};
}
@@ -725,7 +725,7 @@ namespace SabreTools.Metadata.DatFiles.Test
{
return new Data.Models.Metadata.RamOption
{
- [Data.Models.Metadata.RamOption.ContentKey] = "content",
+ Content = "content",
Default = true,
Name = "name",
};
@@ -921,7 +921,7 @@ namespace SabreTools.Metadata.DatFiles.Test
return new Data.Models.Metadata.SlotOption
{
Default = true,
- [Data.Models.Metadata.SlotOption.DevNameKey] = "devname",
+ DevName = "devname",
Name = "name",
};
}
@@ -1260,8 +1260,8 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateDevice(Device? device)
{
Assert.NotNull(device);
- Assert.Equal("fixedimage", device.ReadString(Data.Models.Metadata.Device.FixedImageKey));
- Assert.Equal("interface", device.ReadString(Data.Models.Metadata.Device.InterfaceKey));
+ Assert.Equal("fixedimage", device.FixedImage);
+ Assert.Equal("interface", device.Interface);
Assert.Equal(true, device.Mandatory);
Assert.Equal("tag", device.Tag);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.DeviceType);
@@ -1424,7 +1424,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateInstance(Instance? instance)
{
Assert.NotNull(instance);
- Assert.Equal("briefname", instance.ReadString(Data.Models.Metadata.Instance.BriefNameKey));
+ Assert.Equal("briefname", instance.BriefName);
Assert.Equal("name", instance.Name);
}
@@ -1441,7 +1441,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidatePart(Part? part)
{
Assert.NotNull(part);
- Assert.Equal("interface", part.ReadString(Data.Models.Metadata.Part.InterfaceKey));
+ Assert.Equal("interface", part.Interface);
Assert.Equal("name", part.Name);
}
@@ -1472,7 +1472,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateRamOption(RamOption? ramOption)
{
Assert.NotNull(ramOption);
- Assert.Equal("content", ramOption.ReadString(Data.Models.Metadata.RamOption.ContentKey));
+ Assert.Equal("content", ramOption.Content);
Assert.True(ramOption.Default);
Assert.Equal("name", ramOption.Name);
}
@@ -1616,7 +1616,7 @@ namespace SabreTools.Metadata.DatFiles.Test
{
Assert.NotNull(slotOption);
Assert.True(slotOption.Default);
- Assert.Equal("devname", slotOption.ReadString(Data.Models.Metadata.SlotOption.DevNameKey));
+ Assert.Equal("devname", slotOption.DevName);
Assert.Equal("name", slotOption.Name);
}
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
index 8b1a63a1..edc3c678 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
@@ -772,8 +772,8 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataDevice(Data.Models.Metadata.Device? device)
{
Assert.NotNull(device);
- Assert.Equal("fixedimage", device.ReadString(Data.Models.Metadata.Device.FixedImageKey));
- Assert.Equal("interface", device.ReadString(Data.Models.Metadata.Device.InterfaceKey));
+ Assert.Equal("fixedimage", device.FixedImage);
+ Assert.Equal("interface", device.Interface);
Assert.Equal(true, device.Mandatory);
Assert.Equal("tag", device.Tag);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.DeviceType);
@@ -941,7 +941,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataInstance(Data.Models.Metadata.Instance? instance)
{
Assert.NotNull(instance);
- Assert.Equal("briefname", instance.ReadString(Data.Models.Metadata.Instance.BriefNameKey));
+ Assert.Equal("briefname", instance.BriefName);
Assert.Equal("name", instance.Name);
}
@@ -958,7 +958,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataPart(Data.Models.Metadata.Part? part)
{
Assert.NotNull(part);
- Assert.Equal("interface", part.ReadString(Data.Models.Metadata.Part.InterfaceKey));
+ Assert.Equal("interface", part.Interface);
Assert.Equal("name", part.Name);
Data.Models.Metadata.DataArea[]? dataAreas = part.ReadArray(Data.Models.Metadata.Part.DataAreaKey);
@@ -996,7 +996,7 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataRamOption(Data.Models.Metadata.RamOption? ramOption)
{
Assert.NotNull(ramOption);
- Assert.Equal("content", ramOption.ReadString(Data.Models.Metadata.RamOption.ContentKey));
+ Assert.Equal("content", ramOption.Content);
Assert.True(ramOption.Default);
Assert.Equal("name", ramOption.Name);
}
@@ -1180,7 +1180,7 @@ namespace SabreTools.Metadata.DatFiles.Test
{
Assert.NotNull(slotOption);
Assert.True(slotOption.Default);
- Assert.Equal("devname", slotOption.ReadString(Data.Models.Metadata.SlotOption.DevNameKey));
+ Assert.Equal("devname", slotOption.DevName);
Assert.Equal("name", slotOption.Name);
}
diff --git a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs
index d1aa5ba8..35439552 100644
--- a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs
+++ b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs
@@ -1572,7 +1572,7 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.NotNull(actual);
Assert.True(actual.SequenceEqual([
nameof(Data.Models.Metadata.Part.Name),
- Data.Models.Metadata.Part.InterfaceKey,
+ nameof(Data.Models.Metadata.Part.Interface),
nameof(Data.Models.Metadata.DipSwitch.Name),
nameof(Data.Models.Metadata.DipSwitch.Tag),
nameof(Data.Models.Metadata.DipSwitch.Mask),
@@ -1590,7 +1590,7 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.NotNull(actual);
Assert.True(actual.SequenceEqual([
nameof(Data.Models.Metadata.Part.Name),
- Data.Models.Metadata.Part.InterfaceKey,
+ nameof(Data.Models.Metadata.Part.Interface),
nameof(Data.Models.Metadata.DiskArea.Name),
nameof(Data.Models.Metadata.Disk.Name),
]));
@@ -1621,7 +1621,7 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.NotNull(actual);
Assert.True(actual.SequenceEqual([
nameof(Data.Models.Metadata.Part.Name),
- Data.Models.Metadata.Part.InterfaceKey,
+ nameof(Data.Models.Metadata.Part.Interface),
nameof(Data.Models.Metadata.DataArea.Name),
Data.Models.Metadata.DataArea.SizeKey,
]));
diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs
index 5af2882f..fcf958b2 100644
--- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs
+++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs
@@ -679,7 +679,7 @@ namespace SabreTools.Metadata.DatFiles
.ConvertAll(i => i as Slot)
.FindAll(s => s!.SlotOptionsSpecified)
.SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!)
- .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)));
+ .Select(so => so.DevName));
// If we're checking device references
if (deviceReferences.Count > 0)
@@ -745,7 +745,7 @@ namespace SabreTools.Metadata.DatFiles
.FindAll(i => i is Slot)
.FindAll(s => (s as Slot)!.SlotOptionsSpecified)
.SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!)
- .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!));
+ .Select(o => o.DevName!));
// Set new machine information and add to the current machine
foreach (DatItem item in slotItems)
@@ -773,7 +773,7 @@ namespace SabreTools.Metadata.DatFiles
slotOptions.Add(slotOption);
var slotOptionItem = new SlotOption();
- slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption);
+ slotOptionItem.DevName = slotOption;
slotOptionItem.CopyMachineInformation(copyFrom);
var slotItem = new Slot();
@@ -836,7 +836,7 @@ namespace SabreTools.Metadata.DatFiles
.Select(i => i as Slot)
.Where(s => s!.SlotOptionsSpecified)
.SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!)
- .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey))
+ .Select(so => so.DevName)
.Distinct()
.ToList();
@@ -915,7 +915,7 @@ namespace SabreTools.Metadata.DatFiles
.Where(i => i is Slot)
.Where(s => (s as Slot)!.SlotOptionsSpecified)
.SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!)
- .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!));
+ .Select(o => o.DevName!));
// Set new machine information and add to the current machine
var copyFrom = GetMachineForItemDB(GetItemsForBucketDB(bucket).First().Key);
@@ -944,7 +944,7 @@ namespace SabreTools.Metadata.DatFiles
if (!slotOptions.Contains(slotOption))
{
var slotOptionItem = new SlotOption();
- slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption);
+ slotOptionItem.DevName = slotOption;
var slotItem = new Slot();
slotItem.Write(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]);
diff --git a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs
index 723739b0..cb461899 100644
--- a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs
+++ b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs
@@ -325,8 +325,8 @@ namespace SabreTools.Metadata.DatFiles
// Copy over string values
partItems[partName].Name = partName;
- if (!partItems[partName].ContainsKey(Data.Models.Metadata.Part.InterfaceKey))
- partItems[partName][Data.Models.Metadata.Part.InterfaceKey] = partItem.ReadString(Data.Models.Metadata.Part.InterfaceKey);
+ if (partItems[partName].Interface == null)
+ partItems[partName].Interface = partItem.Interface;
// Clear any empty fields
ClearEmptyKeys(partItems[partName]);
@@ -751,8 +751,8 @@ namespace SabreTools.Metadata.DatFiles
// Copy over string values
partItems[partName].Name = partName;
- if (!partItems[partName].ContainsKey(Data.Models.Metadata.Part.InterfaceKey))
- partItems[partName][Data.Models.Metadata.Part.InterfaceKey] = partItem.ReadString(Data.Models.Metadata.Part.InterfaceKey);
+ if (partItems[partName].Interface == null)
+ partItems[partName].Interface = partItem.Interface;
// Clear any empty fields
ClearEmptyKeys(partItems[partName]);
@@ -998,7 +998,7 @@ namespace SabreTools.Metadata.DatFiles
var newOriginal = new Data.Models.Metadata.Original
{
[Data.Models.Metadata.Original.ValueKey] = romOriginal.Value.FromYesNo(),
- [Data.Models.Metadata.Original.ContentKey] = romOriginal.Content,
+ Content = romOriginal.Content,
};
dumpRom[Data.Models.Metadata.Dump.OriginalKey] = newOriginal;
}
@@ -1026,7 +1026,7 @@ namespace SabreTools.Metadata.DatFiles
var newOriginal = new Data.Models.Metadata.Original
{
[Data.Models.Metadata.Original.ValueKey] = megaRomOriginal.Value.FromYesNo(),
- [Data.Models.Metadata.Original.ContentKey] = megaRomOriginal.Content,
+ Content = megaRomOriginal.Content,
};
dumpMegaRom[Data.Models.Metadata.Dump.OriginalKey] = newOriginal;
}
@@ -1054,7 +1054,7 @@ namespace SabreTools.Metadata.DatFiles
var newOriginal = new Data.Models.Metadata.Original
{
[Data.Models.Metadata.Original.ValueKey] = sccPlusCartOriginal.Value.FromYesNo(),
- [Data.Models.Metadata.Original.ContentKey] = sccPlusCartOriginal.Content,
+ Content = sccPlusCartOriginal.Content,
};
dumpSccPlusCart[Data.Models.Metadata.Dump.OriginalKey] = newOriginal;
}
diff --git a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs
index 0f474162..40b0ec09 100644
--- a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs
+++ b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs
@@ -110,14 +110,14 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (!dipSwitch.PartSpecified)
{
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
else
{
if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.Name))
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.Interface))
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
if (string.IsNullOrEmpty(dipSwitch.Name))
@@ -141,14 +141,14 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (!disk.PartSpecified)
{
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
else
{
if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.Name))
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.Interface))
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
if (!disk.DiskAreaSpecified)
@@ -174,14 +174,14 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (!rom.PartSpecified)
{
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
else
{
if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.Name))
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
- if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
- missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
+ if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.Interface))
+ missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
if (!rom.DataAreaSpecified)
diff --git a/SabreTools.Metadata.DatItems/Formats/Device.cs b/SabreTools.Metadata.DatItems/Formats/Device.cs
index fd24980b..cba73862 100644
--- a/SabreTools.Metadata.DatItems/Formats/Device.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Device.cs
@@ -19,6 +19,22 @@ namespace SabreTools.Metadata.DatItems.Formats
set => (_internal as Data.Models.Metadata.Device)?.DeviceType = value;
}
+ [JsonIgnore]
+ public bool ExtensionsSpecified
+ {
+ get
+ {
+ var extensions = Read(Data.Models.Metadata.Device.ExtensionKey);
+ return extensions is not null && extensions.Length > 0;
+ }
+ }
+
+ public string? FixedImage
+ {
+ get => (_internal as Data.Models.Metadata.Device)?.FixedImage;
+ set => (_internal as Data.Models.Metadata.Device)?.FixedImage = value;
+ }
+
[JsonIgnore]
public bool InstancesSpecified
{
@@ -29,14 +45,10 @@ namespace SabreTools.Metadata.DatItems.Formats
}
}
- [JsonIgnore]
- public bool ExtensionsSpecified
+ public string? Interface
{
- get
- {
- var extensions = Read(Data.Models.Metadata.Device.ExtensionKey);
- return extensions is not null && extensions.Length > 0;
- }
+ get => (_internal as Data.Models.Metadata.Device)?.Interface;
+ set => (_internal as Data.Models.Metadata.Device)?.Interface = value;
}
public bool? Mandatory
@@ -90,6 +102,12 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var deviceItem = base.GetInternalClone();
+ deviceItem.DeviceType = DeviceType;
+ deviceItem.FixedImage = FixedImage;
+ deviceItem.Interface = Interface;
+ deviceItem.Mandatory = Mandatory;
+ deviceItem.Tag = Tag;
+
var instance = Read(Data.Models.Metadata.Device.InstanceKey);
if (instance is not null)
deviceItem[Data.Models.Metadata.Device.InstanceKey] = instance.GetInternalClone();
diff --git a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs
index 2f7c6592..d6b2924d 100644
--- a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs
+++ b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs
@@ -79,7 +79,7 @@ namespace SabreTools.Metadata.DatItems.Formats
var part = Read(PartKey);
return part is not null
&& (!string.IsNullOrEmpty(part.Name)
- || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey)));
+ || !string.IsNullOrEmpty(part.Interface));
}
}
diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs
index f204ba44..0af6c769 100644
--- a/SabreTools.Metadata.DatItems/Formats/Disk.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs
@@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats
var part = Read(PartKey);
return part is not null
&& (!string.IsNullOrEmpty(part.Name)
- || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey)));
+ || !string.IsNullOrEmpty(part.Interface));
}
}
diff --git a/SabreTools.Metadata.DatItems/Formats/Instance.cs b/SabreTools.Metadata.DatItems/Formats/Instance.cs
index ce7d382a..873ed79a 100644
--- a/SabreTools.Metadata.DatItems/Formats/Instance.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Instance.cs
@@ -12,6 +12,12 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
+ public string? BriefName
+ {
+ get => (_internal as Data.Models.Metadata.Instance)?.BriefName;
+ set => (_internal as Data.Models.Metadata.Instance)?.BriefName = value;
+ }
+
public string? Name
{
get => (_internal as Data.Models.Metadata.Instance)?.Name;
diff --git a/SabreTools.Metadata.DatItems/Formats/Original.cs b/SabreTools.Metadata.DatItems/Formats/Original.cs
index 9504719e..2239723a 100644
--- a/SabreTools.Metadata.DatItems/Formats/Original.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Original.cs
@@ -19,8 +19,8 @@ namespace SabreTools.Metadata.DatItems.Formats
[JsonProperty("content"), XmlElement("content")]
public string? Content
{
- get => _internal.ReadString(Data.Models.Metadata.Original.ContentKey);
- set => _internal[Data.Models.Metadata.Original.ContentKey] = value;
+ get => _internal.Content;
+ set => _internal.Content = value;
}
///
diff --git a/SabreTools.Metadata.DatItems/Formats/Part.cs b/SabreTools.Metadata.DatItems/Formats/Part.cs
index 1aed4ec8..ef2151fe 100644
--- a/SabreTools.Metadata.DatItems/Formats/Part.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Part.cs
@@ -23,6 +23,12 @@ namespace SabreTools.Metadata.DatItems.Formats
}
}
+ public string? Interface
+ {
+ get => (_internal as Data.Models.Metadata.Part)?.Interface;
+ set => (_internal as Data.Models.Metadata.Part)?.Interface = value;
+ }
+
public string? Name
{
get => (_internal as Data.Models.Metadata.Part)?.Name;
diff --git a/SabreTools.Metadata.DatItems/Formats/RamOption.cs b/SabreTools.Metadata.DatItems/Formats/RamOption.cs
index d39d3aff..09de128b 100644
--- a/SabreTools.Metadata.DatItems/Formats/RamOption.cs
+++ b/SabreTools.Metadata.DatItems/Formats/RamOption.cs
@@ -12,6 +12,12 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Properties
+ public string? Content
+ {
+ get => (_internal as Data.Models.Metadata.RamOption)?.Content;
+ set => (_internal as Data.Models.Metadata.RamOption)?.Content = value;
+ }
+
public bool? Default
{
get => (_internal as Data.Models.Metadata.RamOption)?.Default;
diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs
index b4c9e47f..ca1e56df 100644
--- a/SabreTools.Metadata.DatItems/Formats/Rom.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs
@@ -108,7 +108,7 @@ namespace SabreTools.Metadata.DatItems.Formats
var part = Read(PartKey);
return part is not null
&& (!string.IsNullOrEmpty(part.Name)
- || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey)));
+ || !string.IsNullOrEmpty(part.Interface));
}
}
@@ -183,7 +183,7 @@ namespace SabreTools.Metadata.DatItems.Formats
Write("ORIGINAL", new Original
{
Value = original.ReadBool(Data.Models.Metadata.Original.ValueKey),
- Content = original.ReadString(Data.Models.Metadata.Original.ContentKey),
+ Content = original.Content,
});
}
diff --git a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs
index 10e8b7e6..f3f64e47 100644
--- a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs
+++ b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs
@@ -18,6 +18,12 @@ namespace SabreTools.Metadata.DatItems.Formats
set => (_internal as Data.Models.Metadata.SlotOption)?.Default = value;
}
+ public string? DevName
+ {
+ get => (_internal as Data.Models.Metadata.SlotOption)?.DevName;
+ set => (_internal as Data.Models.Metadata.SlotOption)?.DevName = value;
+ }
+
public string? Name
{
get => (_internal as Data.Models.Metadata.SlotOption)?.Name;
diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs
index b9635d99..49f54193 100644
--- a/SabreTools.Metadata.Filter/FilterObject.cs
+++ b/SabreTools.Metadata.Filter/FilterObject.cs
@@ -422,6 +422,12 @@ namespace SabreTools.Metadata.Filter
case Device item when fieldName == "type":
checkValue = item.DeviceType?.AsStringValue();
return true;
+ case Device item when fieldName == "fixedimage":
+ checkValue = item.FixedImage;
+ return true;
+ case Device item when fieldName == "interface":
+ checkValue = item.Interface;
+ return true;
case Device item when fieldName == "mandatory":
checkValue = item.Mandatory.FromYesNo();
return true;
@@ -588,10 +594,21 @@ namespace SabreTools.Metadata.Filter
checkValue = item.Supported?.AsStringValue();
return true;
+ case Original item when fieldName == "content":
+ checkValue = item.Content;
+ return true;
+
+ case Part item when fieldName == "interface":
+ checkValue = item.Interface;
+ return true;
+
case Port item when fieldName == "tag":
checkValue = item.Tag;
return true;
+ case RamOption item when fieldName == "content":
+ checkValue = item.Content;
+ return true;
case RamOption item when fieldName == "default":
checkValue = item.Default.FromYesNo();
return true;
@@ -638,6 +655,9 @@ namespace SabreTools.Metadata.Filter
case SlotOption item when fieldName == "default":
checkValue = item.Default.FromYesNo();
return true;
+ case SlotOption item when fieldName == "devname":
+ checkValue = item.DevName;
+ return true;
case Software item when fieldName == "description":
checkValue = item.Description;
diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
index 6588d508..3783410d 100644
--- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
@@ -280,7 +280,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -292,9 +292,9 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -302,7 +302,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -324,7 +324,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -799,9 +799,9 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -816,7 +816,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -848,7 +848,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -872,7 +872,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
index c5655a48..4bd22fb2 100644
--- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
@@ -276,7 +276,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -288,9 +288,9 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -298,7 +298,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -320,7 +320,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -793,9 +793,9 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -810,7 +810,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -842,7 +842,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -866,7 +866,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
index e009a1ec..e0f8517d 100644
--- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
@@ -276,7 +276,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -288,9 +288,9 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -298,7 +298,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -320,7 +320,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -793,9 +793,9 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -810,7 +810,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -842,7 +842,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -866,7 +866,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs b/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs
index 10bb6445..eef7cc22 100644
--- a/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs
@@ -37,7 +37,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var original = new Data.Models.OpenMSX.Original
{
Value = "value",
- Content = "XXXXXX",
+ Content = "content",
};
var rom = new Data.Models.OpenMSX.Rom
@@ -138,7 +138,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(original);
Assert.Equal("value", original.Value);
- Assert.Equal("XXXXXX", original.Content);
+ Assert.Equal("content", original.Content);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
index 18dc28b6..0106999e 100644
--- a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
@@ -109,7 +109,7 @@ namespace SabreTools.Serialization.CrossModel.Test
var part = new Data.Models.SoftwareList.Part
{
Name = "name",
- Interface = "XXXXXX",
+ Interface = "interface",
Feature = [feature],
DataArea = [dataarea],
DiskArea = [diskarea],
@@ -193,7 +193,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(part);
Assert.Equal("name", part.Name);
- Assert.Equal("XXXXXX", part.Interface);
+ Assert.Equal("interface", part.Interface);
Assert.NotNull(part.Feature);
var feature = Assert.Single(part.Feature);
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
index 3ff69276..9cab05a1 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
@@ -308,9 +308,9 @@ namespace SabreTools.Serialization.CrossModel
{
Type = item.DeviceType,
Tag = item.Tag,
- FixedImage = item.ReadString(Data.Models.Metadata.Device.FixedImageKey),
+ FixedImage = item.FixedImage,
Mandatory = item.Mandatory,
- Interface = item.ReadString(Data.Models.Metadata.Device.InterfaceKey),
+ Interface = item.Interface,
};
var instance = item.Read(Data.Models.Metadata.Device.InstanceKey);
@@ -522,7 +522,7 @@ namespace SabreTools.Serialization.CrossModel
var instance = new Instance
{
Name = item.Name,
- BriefName = item.ReadString(Data.Models.Metadata.Instance.BriefNameKey),
+ BriefName = item.BriefName,
};
return instance;
}
@@ -553,7 +553,7 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Default = item.Default,
- Content = item.ReadString(Data.Models.Metadata.RamOption.ContentKey),
+ Content = item.Content,
};
return ramOption;
}
@@ -618,7 +618,7 @@ namespace SabreTools.Serialization.CrossModel
var slotOption = new SlotOption
{
Name = item.Name,
- DevName = item.ReadString(Data.Models.Metadata.SlotOption.DevNameKey),
+ DevName = item.DevName,
Default = item.Default,
};
return slotOption;
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
index f58abe2b..d15be86f 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
@@ -343,9 +343,9 @@ namespace SabreTools.Serialization.CrossModel
{
DeviceType = item.Type,
Tag = item.Tag,
- [Data.Models.Metadata.Device.FixedImageKey] = item.FixedImage,
+ FixedImage = item.FixedImage,
Mandatory = item.Mandatory,
- [Data.Models.Metadata.Device.InterfaceKey] = item.Interface,
+ Interface = item.Interface,
};
if (item.Instance is not null)
@@ -559,7 +559,7 @@ namespace SabreTools.Serialization.CrossModel
var instance = new Data.Models.Metadata.Instance
{
Name = item.Name,
- [Data.Models.Metadata.Instance.BriefNameKey] = item.BriefName,
+ BriefName = item.BriefName,
};
return instance;
}
@@ -592,7 +592,7 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Default = item.Default,
- [Data.Models.Metadata.RamOption.ContentKey] = item.Content,
+ Content = item.Content,
};
return ramOption;
}
@@ -659,7 +659,7 @@ namespace SabreTools.Serialization.CrossModel
var slotOption = new Data.Models.Metadata.SlotOption
{
Name = item.Name,
- [Data.Models.Metadata.SlotOption.DevNameKey] = item.DevName,
+ DevName = item.DevName,
Default = item.Default,
};
return slotOption;
diff --git a/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs b/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs
index 0fd48c22..bbfc7d76 100644
--- a/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs
@@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel
var original = new Original
{
Value = item.ReadString(Data.Models.Metadata.Original.ValueKey),
- Content = item.ReadString(Data.Models.Metadata.Original.ContentKey),
+ Content = item.Content,
};
return original;
}
diff --git a/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs b/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs
index e77396d4..d621cadb 100644
--- a/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs
@@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel
var original = new Data.Models.Metadata.Original
{
[Data.Models.Metadata.Original.ValueKey] = item.Value,
- [Data.Models.Metadata.Original.ContentKey] = item.Content,
+ Content = item.Content,
};
return original;
}
diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs
index 94a8a2be..0ecfc247 100644
--- a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs
@@ -186,7 +186,7 @@ namespace SabreTools.Serialization.CrossModel
var part = new Part
{
Name = item.Name,
- Interface = item.ReadString(Data.Models.Metadata.Part.InterfaceKey),
+ Interface = item.Interface,
};
var features = item.Read(Data.Models.Metadata.Part.FeatureKey);
diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs
index 5fe9a284..6645f2aa 100644
--- a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs
@@ -184,7 +184,7 @@ namespace SabreTools.Serialization.CrossModel
var part = new Data.Models.Metadata.Part
{
Name = item.Name,
- [Data.Models.Metadata.Part.InterfaceKey] = item.Interface,
+ Interface = item.Interface,
};
if (item.Feature is not null && item.Feature.Length > 0)
diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
index 5b14375e..c317c05c 100644
--- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
@@ -347,7 +347,7 @@ namespace SabreTools.Serialization.Readers.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -359,9 +359,9 @@ namespace SabreTools.Serialization.Readers.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -369,7 +369,7 @@ namespace SabreTools.Serialization.Readers.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -391,7 +391,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -866,9 +866,9 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -883,7 +883,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -915,7 +915,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -939,7 +939,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs
index efa904f0..21c4a6eb 100644
--- a/SabreTools.Serialization.Readers.Test/M1Tests.cs
+++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs
@@ -343,7 +343,7 @@ namespace SabreTools.Serialization.Readers.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -355,9 +355,9 @@ namespace SabreTools.Serialization.Readers.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -365,7 +365,7 @@ namespace SabreTools.Serialization.Readers.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -387,7 +387,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -860,9 +860,9 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -877,7 +877,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -909,7 +909,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -933,7 +933,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs
index 29ef44eb..6e6d0895 100644
--- a/SabreTools.Serialization.Readers.Test/MessTests.cs
+++ b/SabreTools.Serialization.Readers.Test/MessTests.cs
@@ -343,7 +343,7 @@ namespace SabreTools.Serialization.Readers.Test
var instance = new Data.Models.Listxml.Instance
{
Name = "name",
- BriefName = "XXXXXX",
+ BriefName = "briefname",
};
var extension = new Data.Models.Listxml.Extension
@@ -355,9 +355,9 @@ namespace SabreTools.Serialization.Readers.Test
{
Type = Data.Models.Metadata.DeviceType.PunchTape,
Tag = "tag",
- FixedImage = "XXXXXX",
+ FixedImage = "fixedimage",
Mandatory = true,
- Interface = "XXXXXX",
+ Interface = "interface",
Instance = instance,
Extension = [extension],
};
@@ -365,7 +365,7 @@ namespace SabreTools.Serialization.Readers.Test
var slotOption = new Data.Models.Listxml.SlotOption
{
Name = "name",
- DevName = "XXXXXX",
+ DevName = "devname",
Default = true,
};
@@ -387,7 +387,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Name = "name",
Default = true,
- Content = "XXXXXX",
+ Content = "content",
};
Data.Models.Listxml.GameBase gameBase = game
@@ -860,9 +860,9 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(device);
Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type);
Assert.Equal("tag", device.Tag);
- Assert.Equal("XXXXXX", device.FixedImage);
+ Assert.Equal("fixedimage", device.FixedImage);
Assert.Equal(true, device.Mandatory);
- Assert.Equal("XXXXXX", device.Interface);
+ Assert.Equal("interface", device.Interface);
Validate(device.Instance);
Assert.NotNull(device.Extension);
@@ -877,7 +877,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(instance);
Assert.Equal("name", instance.Name);
- Assert.Equal("XXXXXX", instance.BriefName);
+ Assert.Equal("briefname", instance.BriefName);
}
///
@@ -909,7 +909,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(slotoption);
Assert.Equal("name", slotoption.Name);
- Assert.Equal("XXXXXX", slotoption.DevName);
+ Assert.Equal("devname", slotoption.DevName);
Assert.Equal(true, slotoption.Default);
}
@@ -933,7 +933,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(ramoption);
Assert.Equal("name", ramoption.Name);
Assert.Equal(true, ramoption.Default);
- Assert.Equal("XXXXXX", ramoption.Content);
+ Assert.Equal("content", ramoption.Content);
}
}
}
diff --git a/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs b/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs
index 7b16e33a..c80c6616 100644
--- a/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs
+++ b/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs
@@ -103,7 +103,7 @@ namespace SabreTools.Serialization.Readers.Test
var original = new Data.Models.OpenMSX.Original
{
Value = "value",
- Content = "XXXXXX",
+ Content = "content",
};
var rom = new Data.Models.OpenMSX.Rom
@@ -204,7 +204,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(original);
Assert.Equal("value", original.Value);
- Assert.Equal("XXXXXX", original.Content);
+ Assert.Equal("content", original.Content);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
index 7f59bae9..bcac0896 100644
--- a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
+++ b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
@@ -182,7 +182,7 @@ namespace SabreTools.Serialization.Readers.Test
var part = new Data.Models.SoftwareList.Part
{
Name = "name",
- Interface = "XXXXXX",
+ Interface = "interface",
Feature = [feature],
DataArea = [dataarea],
DiskArea = [diskarea],
@@ -266,7 +266,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(part);
Assert.Equal("name", part.Name);
- Assert.Equal("XXXXXX", part.Interface);
+ Assert.Equal("interface", part.Interface);
Assert.NotNull(part.Feature);
var feature = Assert.Single(part.Feature);