Add explicit list of supported types

This commit is contained in:
Matt Nadareski
2020-09-18 17:12:31 -07:00
parent 5a8ff006bd
commit ae3bae2d0a
14 changed files with 138 additions and 1 deletions

View File

@@ -111,6 +111,12 @@ namespace SabreTools.Library.DatFiles
svr.Dispose();
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -407,6 +407,21 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[]
{
ItemType.Archive,
ItemType.BiosSet,
ItemType.Disk,
ItemType.Media,
ItemType.Release,
ItemType.Rom,
ItemType.Sample,
};
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -2339,7 +2339,6 @@ namespace SabreTools.Library.DatFiles
#endregion
// TODO: See if any of the helper methods can be broken up a bit more neatly
#region Rebuilding and Verifying
/// <summary>
@@ -3777,6 +3776,15 @@ namespace SabreTools.Library.DatFiles
return rom;
}
/// <summary>
/// Get supported types for write
/// </summary>
/// <returns>List of supported types for writing</returns>
protected virtual ItemType[] GetSupportedTypes()
{
return Enum.GetValues(typeof(ItemType)) as ItemType[];
}
/// <summary>
/// Get if an item should be ignored on write
/// </summary>
@@ -3803,6 +3811,10 @@ namespace SabreTools.Library.DatFiles
return true;
}
// If we have an item type not in the list of supported values
if (!GetSupportedTypes().Contains(datItem.ItemType))
return true;
return false;
}

View File

@@ -247,6 +247,12 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -83,6 +83,12 @@ namespace SabreTools.Library.DatFiles
sr.Dispose();
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -98,6 +98,12 @@ namespace SabreTools.Library.DatFiles
sr.Dispose();
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Disk, ItemType.Media, ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -250,6 +250,12 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Disk, ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -1126,6 +1126,34 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[]
{
ItemType.Adjuster,
ItemType.BiosSet,
ItemType.Chip,
ItemType.Condition,
ItemType.Configuration,
ItemType.Device,
ItemType.DeviceReference,
ItemType.DipSwitch,
ItemType.Disk,
ItemType.Display,
ItemType.Driver,
ItemType.Feature,
ItemType.Input,
ItemType.Port,
ItemType.RamOption,
ItemType.Rom,
ItemType.Sample,
ItemType.Slot,
ItemType.SoftwareList,
ItemType.Sound,
};
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -658,6 +658,21 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[]
{
ItemType.Archive,
ItemType.BiosSet,
ItemType.Disk,
ItemType.Media,
ItemType.Release,
ItemType.Rom,
ItemType.Sample,
};
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -654,6 +654,12 @@ namespace SabreTools.Library.DatFiles
return roms;
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -508,6 +508,12 @@ namespace SabreTools.Library.DatFiles
return null;
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -361,6 +361,12 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -99,6 +99,12 @@ namespace SabreTools.Library.DatFiles
svr.Dispose();
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[] { ItemType.Disk, ItemType.Media, ItemType.Rom };
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>

View File

@@ -500,6 +500,19 @@ namespace SabreTools.Library.DatFiles
}
}
/// <inheritdoc/>
protected override ItemType[] GetSupportedTypes()
{
return new ItemType[]
{
ItemType.DipSwitch,
ItemType.Disk,
ItemType.Info,
ItemType.Rom,
ItemType.SharedFeature,
};
}
/// <summary>
/// Create and open an output file for writing direct from a dictionary
/// </summary>