mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Promote SoftwareList
This commit is contained in:
@@ -377,21 +377,6 @@ namespace SabreTools.Library.DatFiles
|
||||
if (item.ItemType == ItemType.Release)
|
||||
(item as Release).Language = attrVal;
|
||||
|
||||
break;
|
||||
case "tag":
|
||||
if (item.ItemType == ItemType.Chip)
|
||||
(item as Chip).Tag = attrVal;
|
||||
|
||||
break;
|
||||
case "type":
|
||||
if (item.ItemType == ItemType.Chip)
|
||||
(item as Chip).ChipType = attrVal;
|
||||
|
||||
break;
|
||||
case "clock":
|
||||
if (item.ItemType == ItemType.Chip)
|
||||
(item as Chip).Clock = attrVal;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -631,16 +616,6 @@ namespace SabreTools.Library.DatFiles
|
||||
cmpw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.Chip:
|
||||
var chip = datItem as Chip;
|
||||
cmpw.WriteStartElement("chip");
|
||||
cmpw.WriteRequiredAttributeString("name", chip.Name);
|
||||
cmpw.WriteOptionalAttributeString("tag", chip.Tag);
|
||||
cmpw.WriteOptionalAttributeString("type", chip.ChipType);
|
||||
cmpw.WriteOptionalAttributeString("clock", chip.Clock);
|
||||
cmpw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.DeviceReference:
|
||||
cmpw.WriteStartElement("device_ref");
|
||||
cmpw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
|
||||
@@ -131,6 +131,12 @@ namespace SabreTools.Library.DatFiles
|
||||
[JsonIgnore]
|
||||
public long SampleCount { get; private set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Number of SoftwareList items
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public long SoftwareListCount { get; private set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Number of machines
|
||||
/// </summary>
|
||||
@@ -516,6 +522,9 @@ namespace SabreTools.Library.DatFiles
|
||||
case ItemType.Sample:
|
||||
SampleCount++;
|
||||
break;
|
||||
case ItemType.SoftwareList:
|
||||
SoftwareListCount++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -648,6 +657,9 @@ namespace SabreTools.Library.DatFiles
|
||||
case ItemType.Sample:
|
||||
SampleCount--;
|
||||
break;
|
||||
case ItemType.SoftwareList:
|
||||
SoftwareListCount--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -238,6 +238,9 @@ namespace SabreTools.Library.DatFiles
|
||||
case ItemType.Sample:
|
||||
datItem = datItemObj.ToObject<Sample>();
|
||||
break;
|
||||
case ItemType.SoftwareList:
|
||||
datItem = datItemObj.ToObject<DatItems.SoftwareList>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -497,18 +497,21 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "softwarelist":
|
||||
var softwareList = new ListXmlSoftwareList();
|
||||
softwareList.Name = reader.GetAttribute("name");
|
||||
softwareList.Status = reader.GetAttribute("status").AsSoftwareListStatus();
|
||||
softwareList.Filter = reader.GetAttribute("filter");
|
||||
datItems.Add(new DatItems.SoftwareList
|
||||
{
|
||||
Name = reader.GetAttribute("name"),
|
||||
Status = reader.GetAttribute("status").AsSoftwareListStatus(),
|
||||
Filter = reader.GetAttribute("filter"),
|
||||
|
||||
// Ensure the list exists
|
||||
if (machine.SoftwareLists == null)
|
||||
machine.SoftwareLists = new List<ListXmlSoftwareList>();
|
||||
|
||||
machine.SoftwareLists.Add(softwareList);
|
||||
Source = new Source
|
||||
{
|
||||
Index = indexId,
|
||||
Name = filename,
|
||||
},
|
||||
});
|
||||
|
||||
reader.Read();
|
||||
|
||||
break;
|
||||
|
||||
case "ramoption":
|
||||
@@ -1405,20 +1408,6 @@ namespace SabreTools.Library.DatFiles
|
||||
xtw.WriteEndElement();
|
||||
}
|
||||
}
|
||||
if (datItem.Machine.SoftwareLists != null)
|
||||
{
|
||||
foreach (var softwarelist in datItem.Machine.SoftwareLists)
|
||||
{
|
||||
xtw.WriteStartElement("softwarelist");
|
||||
|
||||
xtw.WriteOptionalAttributeString("name", softwarelist.Name);
|
||||
xtw.WriteOptionalAttributeString("status", softwarelist.Status.FromSoftwareListStatus());
|
||||
xtw.WriteOptionalAttributeString("filter", softwarelist.Filter);
|
||||
|
||||
// End softwarelist
|
||||
xtw.WriteEndElement();
|
||||
}
|
||||
}
|
||||
if (datItem.Machine.RamOptions != null)
|
||||
{
|
||||
foreach (var ramOption in datItem.Machine.RamOptions)
|
||||
@@ -1551,6 +1540,15 @@ namespace SabreTools.Library.DatFiles
|
||||
xtw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.SoftwareList:
|
||||
var softwareList = datItem as DatItems.SoftwareList;
|
||||
xtw.WriteStartElement("softwarelist");
|
||||
xtw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
xtw.WriteOptionalAttributeString("status", softwareList.Status.FromSoftwareListStatus());
|
||||
xtw.WriteOptionalAttributeString("sha512", softwareList.Filter);
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
}
|
||||
|
||||
xtw.Flush();
|
||||
|
||||
@@ -412,31 +412,6 @@ namespace SabreTools.Library.DatFiles
|
||||
reader.Read();
|
||||
break;
|
||||
|
||||
case "chip":
|
||||
containsItems = true;
|
||||
|
||||
DatItem chip = new Chip
|
||||
{
|
||||
Name = reader.GetAttribute("name"),
|
||||
Tag = reader.GetAttribute("tag"),
|
||||
ChipType = reader.GetAttribute("type"),
|
||||
Clock = reader.GetAttribute("clock"),
|
||||
|
||||
Source = new Source
|
||||
{
|
||||
Index = indexId,
|
||||
Name = filename,
|
||||
},
|
||||
};
|
||||
|
||||
chip.CopyMachineInformation(machine);
|
||||
|
||||
// Now process and add the chip
|
||||
key = ParseAddHelper(chip);
|
||||
|
||||
reader.Read();
|
||||
break;
|
||||
|
||||
case "disk":
|
||||
containsItems = true;
|
||||
|
||||
@@ -978,16 +953,6 @@ namespace SabreTools.Library.DatFiles
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.Chip:
|
||||
var chip = datItem as Chip;
|
||||
xtw.WriteStartElement("chip");
|
||||
xtw.WriteRequiredAttributeString("name", chip.Name);
|
||||
xtw.WriteOptionalAttributeString("tag", chip.Tag);
|
||||
xtw.WriteOptionalAttributeString("type", chip.ChipType);
|
||||
xtw.WriteOptionalAttributeString("clock", chip.Clock);
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.DeviceReference:
|
||||
xtw.WriteStartElement("device_ref");
|
||||
xtw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
|
||||
@@ -956,6 +956,16 @@ namespace SabreTools.Library.DatFiles
|
||||
xtw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
case ItemType.SoftwareList:
|
||||
var softwareList = datItem as DatItems.SoftwareList;
|
||||
xtw.WriteStartElement("file");
|
||||
xtw.WriteAttributeString("type", "softwarelist");
|
||||
xtw.WriteRequiredAttributeString("name", datItem.Name);
|
||||
xtw.WriteOptionalAttributeString("status", softwareList.Status.FromSoftwareListStatus());
|
||||
xtw.WriteOptionalAttributeString("sha512", softwareList.Filter);
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
}
|
||||
|
||||
xtw.Flush();
|
||||
|
||||
Reference in New Issue
Block a user