diff --git a/README.MD b/README.MD index 03ea3ff9..05a770a1 100644 --- a/README.MD +++ b/README.MD @@ -86,9 +86,9 @@ Below is a table representing the various conversion interfaces that are impleme | --- | --- | --- | | `SabreTools.Serialization.Interfaces.IByteReader` | `byte[]?` | `TModel` | | `SabreTools.Serialization.Interfaces.IByteWriter` | `TModel` | `byte[]?` | +| `SabreTools.Serialization.Interfaces.ICrossModel` | `TSource`/`TDest` | `TDest`/`TSource` | | `SabreTools.Serialization.Interfaces.IFileReader` | `string?` path | `TModel` | | `SabreTools.Serialization.Interfaces.IFileWriter` | `TModel` | `string?` path | -| `SabreTools.Serialization.Interfaces.IModelSerializer` | `TSource`/`TDest` | `TDest`/`TSource` | | `SabreTools.Serialization.Interfaces.IStreamReader` | `Stream?` | `TModel` | | `SabreTools.Serialization.Interfaces.IStreamWriter` | `TModel` | `Stream?` | | `SabreTools.Serialization.Interfaces.IStringReader` | `string?` representation | `TModel` | diff --git a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs index 9757d3cc..03e7fcf6 100644 --- a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class ArchiveDotOrg : IModelSerializer + public partial class ArchiveDotOrg : ICrossModel { /// public Files? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs index 37f5ff30..88292e64 100644 --- a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class ArchiveDotOrg : IModelSerializer + public partial class ArchiveDotOrg : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Files? item) diff --git a/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs b/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs index 15f5b0e4..fde76bed 100644 --- a/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class AttractMode : IModelSerializer + public partial class AttractMode : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs b/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs index 9c2c0480..6db5a8ed 100644 --- a/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class AttractMode : IModelSerializer + public partial class AttractMode : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs b/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs index 08b3621e..071c7e84 100644 --- a/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class ClrMamePro : IModelSerializer + public partial class ClrMamePro : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) => Deserialize(obj, true); diff --git a/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs b/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs index 49344bdb..d25f01de 100644 --- a/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class ClrMamePro : IModelSerializer + public partial class ClrMamePro : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs b/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs index a5ff02af..85ca5ce1 100644 --- a/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class DosCenter : IModelSerializer + public partial class DosCenter : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs b/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs index e63bbf24..a40afa7b 100644 --- a/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class DosCenter : IModelSerializer + public partial class DosCenter : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs index 68cf7ef2..735d6d0d 100644 --- a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class EverdriveSMDB : IModelSerializer + public partial class EverdriveSMDB : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs index 9afd2132..498716ab 100644 --- a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class EverdriveSMDB : IModelSerializer + public partial class EverdriveSMDB : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs index 17870f68..8c370725 100644 --- a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs @@ -6,7 +6,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Hashfile : IModelSerializer + public partial class Hashfile : ICrossModel { /// public Data.Models.Hashfile.Hashfile? Deserialize(Data.Models.Metadata.MetadataFile? obj) => Deserialize(obj, HashType.CRC32); diff --git a/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs b/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs index d13b7ead..87a8f948 100644 --- a/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Hashfile : IModelSerializer + public partial class Hashfile : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Data.Models.Hashfile.Hashfile? obj) diff --git a/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs b/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs index 1d4e7062..ccae1983 100644 --- a/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Listrom : IModelSerializer + public partial class Listrom : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs b/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs index 63dc1bcd..1c924432 100644 --- a/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Listrom : IModelSerializer + public partial class Listrom : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs index a1a882a2..3f63569e 100644 --- a/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Listxml : IModelSerializer + public partial class Listxml : ICrossModel { /// public Mame? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs index ff57e64d..d21e6a8e 100644 --- a/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Listxml : IModelSerializer + public partial class Listxml : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Mame? item) diff --git a/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs index 406e1851..83ae08c6 100644 --- a/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Logiqx : IModelSerializer + public partial class Logiqx : ICrossModel { /// public Datafile? Deserialize(Data.Models.Metadata.MetadataFile? obj) => Deserialize(obj, false); diff --git a/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs index 9544195d..4d7e110a 100644 --- a/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Logiqx : IModelSerializer + public partial class Logiqx : ICrossModel { public Data.Models.Metadata.MetadataFile? Serialize(Datafile? item) { diff --git a/SabreTools.Serialization/CrossModel/M1.Deserializer.cs b/SabreTools.Serialization/CrossModel/M1.Deserializer.cs index 7d1c6e59..fcfa450c 100644 --- a/SabreTools.Serialization/CrossModel/M1.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/M1.Deserializer.cs @@ -3,7 +3,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class M1 : IModelSerializer + public partial class M1 : ICrossModel { /// public Data.Models.Listxml.M1? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/M1.Serializer.cs b/SabreTools.Serialization/CrossModel/M1.Serializer.cs index 9ea57b72..78821143 100644 --- a/SabreTools.Serialization/CrossModel/M1.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/M1.Serializer.cs @@ -3,7 +3,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class M1 : IModelSerializer + public partial class M1 : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Data.Models.Listxml.M1? item) diff --git a/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs b/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs index 71b4e680..0266142a 100644 --- a/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs @@ -3,7 +3,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Mess : IModelSerializer + public partial class Mess : ICrossModel { /// public Data.Models.Listxml.Mess? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/Mess.Serializer.cs b/SabreTools.Serialization/CrossModel/Mess.Serializer.cs index abc57ff4..20df7bb1 100644 --- a/SabreTools.Serialization/CrossModel/Mess.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Mess.Serializer.cs @@ -3,7 +3,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Mess : IModelSerializer + public partial class Mess : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Data.Models.Listxml.Mess? item) diff --git a/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs b/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs index e9482c9c..2164893a 100644 --- a/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class OfflineList : IModelSerializer + public partial class OfflineList : ICrossModel { /// public Dat? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs b/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs index 31273fb6..e27fddb1 100644 --- a/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class OfflineList : IModelSerializer + public partial class OfflineList : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Dat? item) diff --git a/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs b/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs index f68d2b86..f9714907 100644 --- a/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class OpenMSX : IModelSerializer + public partial class OpenMSX : ICrossModel { /// public SoftwareDb? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs b/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs index 6101f436..f5cea233 100644 --- a/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class OpenMSX : IModelSerializer + public partial class OpenMSX : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(SoftwareDb? item) diff --git a/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs b/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs index 3fea3c0a..914fc8cb 100644 --- a/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class RomCenter : IModelSerializer + public partial class RomCenter : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs b/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs index 0a5b5764..c91b1884 100644 --- a/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class RomCenter : IModelSerializer + public partial class RomCenter : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs b/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs index b29d3cbe..103820e1 100644 --- a/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs @@ -5,7 +5,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class SeparatedValue : IModelSerializer + public partial class SeparatedValue : ICrossModel { /// public MetadataFile? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs b/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs index 5a22ff31..faf428cf 100644 --- a/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class SeparatedValue : IModelSerializer + public partial class SeparatedValue : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs index c3b27694..328767ae 100644 --- a/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class SoftwareList : IModelSerializer + public partial class SoftwareList : ICrossModel { /// public Data.Models.SoftwareList.SoftwareList? Deserialize(Data.Models.Metadata.MetadataFile? obj) diff --git a/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs index ef4580ad..2807f9a3 100644 --- a/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs @@ -4,7 +4,7 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class SoftwareList : IModelSerializer + public partial class SoftwareList : ICrossModel { /// public Data.Models.Metadata.MetadataFile? Serialize(Data.Models.SoftwareList.SoftwareList? item) diff --git a/SabreTools.Serialization/Interfaces/IModelSerializer.cs b/SabreTools.Serialization/Interfaces/ICrossModel.cs similarity index 90% rename from SabreTools.Serialization/Interfaces/IModelSerializer.cs rename to SabreTools.Serialization/Interfaces/ICrossModel.cs index c321d3c5..46913626 100644 --- a/SabreTools.Serialization/Interfaces/IModelSerializer.cs +++ b/SabreTools.Serialization/Interfaces/ICrossModel.cs @@ -1,9 +1,9 @@ namespace SabreTools.Serialization.Interfaces { /// - /// Defines how to serialize to and from models + /// Defines how to convert between two model types /// - public interface IModelSerializer + public interface ICrossModel { /// /// Deserialize a into