Use Aaru Metadata instead of CICM Metadata.

This commit is contained in:
2022-12-15 22:20:59 +00:00
parent d2c24f9fb1
commit 4cdf541a09
10 changed files with 454 additions and 455 deletions

View File

@@ -78,8 +78,8 @@ public class BlockMedia
public DimensionsNew Dimensions { get; set; } public DimensionsNew Dimensions { get; set; }
public List<Partition> FileSystemInformation { get; set; } public List<Partition> FileSystemInformation { get; set; }
public List<DumpHardware> DumpHardware { get; set; } public List<DumpHardware> DumpHardware { get; set; }
public string DiskType { get; set; } public string MediaType { get; set; }
public string DiskSubType { get; set; } public string MediaSubType { get; set; }
public string Interface { get; set; } public string Interface { get; set; }
} }

View File

@@ -274,8 +274,8 @@ public enum MediaTagType
DVD_DiscKey_Decrypted = 73 DVD_DiscKey_Decrypted = 73
} }
/// <summary>Enumeration of media types defined in CICM metadata</summary> /// <summary>Enumeration of media types defined in metadata</summary>
public enum XmlMediaType : byte public enum MetadataMediaType : byte
{ {
/// <summary>Purely optical discs</summary> /// <summary>Purely optical discs</summary>
OpticalDisc = 0, OpticalDisc = 0,

View File

@@ -39,7 +39,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Schemas; using Aaru.CommonTypes.AaruMetadata;
namespace Aaru.CommonTypes.Extents; namespace Aaru.CommonTypes.Extents;
@@ -49,28 +49,28 @@ public static class ExtentsConverter
/// <summary>Converts unsigned long integer extents into XML based extents</summary> /// <summary>Converts unsigned long integer extents into XML based extents</summary>
/// <param name="extents">Extents</param> /// <param name="extents">Extents</param>
/// <returns>XML based extents</returns> /// <returns>XML based extents</returns>
public static ExtentType[] ToMetadata(ExtentsULong extents) public static List<Extent> ToMetadata(ExtentsULong extents)
{ {
if(extents == null) if(extents == null)
return null; return null;
Tuple<ulong, ulong>[] tuples = extents.ToArray(); Tuple<ulong, ulong>[] tuples = extents.ToArray();
ExtentType[] array = new ExtentType[tuples.Length]; List<Extent> list = new();
for(ulong i = 0; i < (ulong)array.LongLength; i++) for(ulong i = 0; i < (ulong)tuples.LongLength; i++)
array[i] = new ExtentType list.Add(new Extent
{ {
Start = tuples[i].Item1, Start = tuples[i].Item1,
End = tuples[i].Item2 End = tuples[i].Item2
}; });
return array; return list;
} }
/// <summary>Converts XML based extents into unsigned long integer extents</summary> /// <summary>Converts XML based extents into unsigned long integer extents</summary>
/// <param name="extents">XML based extents</param> /// <param name="extents">XML based extents</param>
/// <returns>Extents</returns> /// <returns>Extents</returns>
public static ExtentsULong FromMetadata(ExtentType[] extents) public static ExtentsULong FromMetadata(IEnumerable<Extent> extents)
{ {
if(extents == null) if(extents == null)
return null; return null;

View File

@@ -38,9 +38,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Aaru.CommonTypes.AaruMetadata;
using Aaru.CommonTypes.Enums; using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Structs; using Aaru.CommonTypes.Structs;
using Schemas;
namespace Aaru.CommonTypes.Interfaces; namespace Aaru.CommonTypes.Interfaces;
@@ -49,10 +49,10 @@ public interface IBaseImage
{ {
/// <summary>Plugin author</summary> /// <summary>Plugin author</summary>
string Author { get; } string Author { get; }
/// <summary>Gets the CICM XML metadata for the image</summary> /// <summary>Gets the Aaru Metadata for the image</summary>
CICMMetadataType CicmMetadata { get; } AaruMetadata.Metadata AaruMetadata { get; }
/// <summary>List of dump hardware used to create the image from real media</summary> /// <summary>List of dump hardware used to create the image from real media</summary>
List<DumpHardwareType> DumpHardware { get; } List<DumpHardware> DumpHardware { get; }
/// <summary>Gets the image format.</summary> /// <summary>Gets the image format.</summary>
/// <value>The image format.</value> /// <value>The image format.</value>
string Format { get; } string Format { get; }

View File

@@ -38,9 +38,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Aaru.CommonTypes.AaruMetadata;
using Aaru.CommonTypes.Enums; using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Structs; using Aaru.CommonTypes.Structs;
using Schemas;
namespace Aaru.CommonTypes.Interfaces; namespace Aaru.CommonTypes.Interfaces;
@@ -79,14 +79,14 @@ public interface IBaseWritableImage : IBaseImage
/// <returns>Error number</returns> /// <returns>Error number</returns>
bool Close(); bool Close();
/// <summary>Sets the CICM XML metadata for the image</summary> /// <summary>Sets the Aaru Metadata for the image</summary>
bool SetCicmMetadata(CICMMetadataType metadata); bool SetMetadata(AaruMetadata.Metadata metadata);
/// <summary>Sets the list of dump hardware used to create the image from real media</summary> /// <summary>Sets the list of dump hardware used to create the image from real media</summary>
bool SetDumpHardware(List<DumpHardwareType> dumpHardware); bool SetDumpHardware(List<DumpHardware> dumpHardware);
/// <summary>Sets image metadata</summary> /// <summary>Sets image metadata</summary>
/// <param name="metadata"><see cref="ImageInfo" /> containing image metadata</param> /// <param name="imageInfo"><see cref="ImageInfo" /> containing image metadata</param>
/// <returns><c>true</c> if operating completed successfully, <c>false</c> otherwise</returns> /// <returns><c>true</c> if operating completed successfully, <c>false</c> otherwise</returns>
bool SetMetadata(ImageInfo metadata); bool SetImageInfo(ImageInfo imageInfo);
} }

View File

@@ -38,7 +38,7 @@
using System; using System;
using System.Text; using System.Text;
using Schemas; using Aaru.CommonTypes.AaruMetadata;
namespace Aaru.CommonTypes.Interfaces; namespace Aaru.CommonTypes.Interfaces;
@@ -51,9 +51,8 @@ public interface IFilesystem
string Name { get; } string Name { get; }
/// <summary>Plugin UUID.</summary> /// <summary>Plugin UUID.</summary>
Guid Id { get; } Guid Id { get; }
/// <summary>Information about the filesystem as expected by CICM Metadata XML</summary> /// <summary>Information about the filesystem as expected by Aaru Metadata</summary>
/// <value>Information about the filesystem as expected by CICM Metadata XML</value> FileSystem Metadata { get; }
FileSystemType XmlFsType { get; }
/// <summary>Plugin author</summary> /// <summary>Plugin author</summary>
string Author { get; } string Author { get; }

View File

@@ -36,7 +36,7 @@
// Copyright © 2011-2023 Natalia Portillo // Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/ // ****************************************************************************/
using Schemas; using Aaru.CommonTypes.AaruMetadata;
#pragma warning disable 612 #pragma warning disable 612
@@ -48,9 +48,9 @@ public static class Dimensions
/// <summary>Gets the physical dimensions, in metadata expected format, for a given media type</summary> /// <summary>Gets the physical dimensions, in metadata expected format, for a given media type</summary>
/// <param name="dskType">Media type</param> /// <param name="dskType">Media type</param>
/// <returns>Dimensions metadata</returns> /// <returns>Dimensions metadata</returns>
public static DimensionsType DimensionsFromMediaType(CommonTypes.MediaType dskType) public static DimensionsNew DimensionsFromMediaType(CommonTypes.MediaType dskType)
{ {
var dmns = new DimensionsType(); var dmns = new DimensionsNew();
switch(dskType) switch(dskType)
{ {
@@ -91,9 +91,9 @@ public static class Dimensions
case CommonTypes.MediaType.MetaFloppy_Mod_II: case CommonTypes.MediaType.MetaFloppy_Mod_II:
// According to ECMA-99 et al // According to ECMA-99 et al
dmns.Height = 133.3; dmns.Height = 133.3;
dmns.HeightSpecified = true;
dmns.Width = 133.3; dmns.Width = 133.3;
dmns.WidthSpecified = true;
dmns.Thickness = 1.65; dmns.Thickness = 1.65;
return dmns; return dmns;
@@ -126,9 +126,9 @@ public static class Dimensions
case CommonTypes.MediaType.FD32MB: case CommonTypes.MediaType.FD32MB:
// According to ECMA-100 et al // According to ECMA-100 et al
dmns.Height = 94; dmns.Height = 94;
dmns.HeightSpecified = true;
dmns.Width = 90; dmns.Width = 90;
dmns.WidthSpecified = true;
dmns.Thickness = 3.3; dmns.Thickness = 3.3;
return dmns; return dmns;
@@ -155,9 +155,9 @@ public static class Dimensions
case CommonTypes.MediaType.ECMA_69_26: case CommonTypes.MediaType.ECMA_69_26:
// According to ECMA-59 et al // According to ECMA-59 et al
dmns.Height = 203.2; dmns.Height = 203.2;
dmns.HeightSpecified = true;
dmns.Width = 203.2; dmns.Width = 203.2;
dmns.WidthSpecified = true;
dmns.Thickness = 1.65; dmns.Thickness = 1.65;
return dmns; return dmns;
@@ -168,9 +168,9 @@ public static class Dimensions
case CommonTypes.MediaType.ECMA_260_Double: case CommonTypes.MediaType.ECMA_260_Double:
// According to ECMA-260 et al // According to ECMA-260 et al
dmns.Height = 421.84; dmns.Height = 421.84;
dmns.HeightSpecified = true;
dmns.Width = 443.76; dmns.Width = 443.76;
dmns.WidthSpecified = true;
dmns.Thickness = 25.4; dmns.Thickness = 25.4;
return dmns; return dmns;
@@ -182,9 +182,9 @@ public static class Dimensions
case CommonTypes.MediaType.ECMA_317: case CommonTypes.MediaType.ECMA_317:
// According to ECMA-317 et al // According to ECMA-317 et al
dmns.Height = 340; dmns.Height = 340;
dmns.HeightSpecified = true;
dmns.Width = 320; dmns.Width = 320;
dmns.WidthSpecified = true;
dmns.Thickness = 17; dmns.Thickness = 17;
return dmns; return dmns;
@@ -217,9 +217,9 @@ public static class Dimensions
case CommonTypes.MediaType.ISO_14517_512: case CommonTypes.MediaType.ISO_14517_512:
// According to ECMA-183 et al // According to ECMA-183 et al
dmns.Height = 153; dmns.Height = 153;
dmns.HeightSpecified = true;
dmns.Width = 135; dmns.Width = 135;
dmns.WidthSpecified = true;
dmns.Thickness = 11; dmns.Thickness = 11;
return dmns; return dmns;
@@ -236,9 +236,9 @@ public static class Dimensions
case CommonTypes.MediaType.ISO_15041_512: case CommonTypes.MediaType.ISO_15041_512:
// According to ECMA-154 et al // According to ECMA-154 et al
dmns.Height = 94; dmns.Height = 94;
dmns.HeightSpecified = true;
dmns.Width = 90; dmns.Width = 90;
dmns.WidthSpecified = true;
dmns.Thickness = 6; dmns.Thickness = 6;
return dmns; return dmns;
@@ -247,49 +247,49 @@ public static class Dimensions
case CommonTypes.MediaType.PD650: case CommonTypes.MediaType.PD650:
case CommonTypes.MediaType.PD650_WORM: case CommonTypes.MediaType.PD650_WORM:
dmns.Height = 135; dmns.Height = 135;
dmns.HeightSpecified = true;
dmns.Width = 124; dmns.Width = 124;
dmns.WidthSpecified = true;
dmns.Thickness = 7.8; dmns.Thickness = 7.8;
return dmns; return dmns;
case CommonTypes.MediaType.ECMA_239: case CommonTypes.MediaType.ECMA_239:
dmns.Height = 97; dmns.Height = 97;
dmns.HeightSpecified = true;
dmns.Width = 92; dmns.Width = 92;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.MMCmicro: case CommonTypes.MediaType.MMCmicro:
dmns.Height = 14; dmns.Height = 14;
dmns.HeightSpecified = true;
dmns.Width = 12; dmns.Width = 12;
dmns.WidthSpecified = true;
dmns.Thickness = 1.1; dmns.Thickness = 1.1;
return dmns; return dmns;
case CommonTypes.MediaType.MemoryStickMicro: case CommonTypes.MediaType.MemoryStickMicro:
dmns.Height = 15; dmns.Height = 15;
dmns.HeightSpecified = true;
dmns.Width = 12.5; dmns.Width = 12.5;
dmns.WidthSpecified = true;
dmns.Thickness = 1.2; dmns.Thickness = 1.2;
return dmns; return dmns;
case CommonTypes.MediaType.microSD: case CommonTypes.MediaType.microSD:
dmns.Height = 11; dmns.Height = 11;
dmns.HeightSpecified = true;
dmns.Width = 15; dmns.Width = 15;
dmns.WidthSpecified = true;
dmns.Thickness = 1; dmns.Thickness = 1;
return dmns; return dmns;
case CommonTypes.MediaType.miniSD: case CommonTypes.MediaType.miniSD:
dmns.Height = 21.5; dmns.Height = 21.5;
dmns.HeightSpecified = true;
dmns.Width = 20; dmns.Width = 20;
dmns.WidthSpecified = true;
dmns.Thickness = 1.4; dmns.Thickness = 1.4;
return dmns; return dmns;
@@ -301,58 +301,58 @@ public static class Dimensions
case CommonTypes.MediaType.QIC40: case CommonTypes.MediaType.QIC40:
case CommonTypes.MediaType.QIC80: case CommonTypes.MediaType.QIC80:
dmns.Height = 20; dmns.Height = 20;
dmns.HeightSpecified = true;
dmns.Width = 21.5; dmns.Width = 21.5;
dmns.WidthSpecified = true;
dmns.Thickness = 1.6; dmns.Thickness = 1.6;
return dmns; return dmns;
case CommonTypes.MediaType.RSMMC: case CommonTypes.MediaType.RSMMC:
dmns.Height = 18; dmns.Height = 18;
dmns.HeightSpecified = true;
dmns.Width = 24; dmns.Width = 24;
dmns.WidthSpecified = true;
dmns.Thickness = 1.4; dmns.Thickness = 1.4;
return dmns; return dmns;
case CommonTypes.MediaType.MMC: case CommonTypes.MediaType.MMC:
dmns.Height = 32; dmns.Height = 32;
dmns.HeightSpecified = true;
dmns.Width = 24; dmns.Width = 24;
dmns.WidthSpecified = true;
dmns.Thickness = 1.4; dmns.Thickness = 1.4;
return dmns; return dmns;
case CommonTypes.MediaType.SecureDigital: case CommonTypes.MediaType.SecureDigital:
dmns.Height = 32; dmns.Height = 32;
dmns.HeightSpecified = true;
dmns.Width = 24; dmns.Width = 24;
dmns.WidthSpecified = true;
dmns.Thickness = 2.1; dmns.Thickness = 2.1;
return dmns; return dmns;
case CommonTypes.MediaType.xD: case CommonTypes.MediaType.xD:
dmns.Height = 20; dmns.Height = 20;
dmns.HeightSpecified = true;
dmns.Width = 25; dmns.Width = 25;
dmns.WidthSpecified = true;
dmns.Thickness = 1.78; dmns.Thickness = 1.78;
return dmns; return dmns;
case CommonTypes.MediaType.XQD: case CommonTypes.MediaType.XQD:
dmns.Height = 38.5; dmns.Height = 38.5;
dmns.HeightSpecified = true;
dmns.Width = 29.8; dmns.Width = 29.8;
dmns.WidthSpecified = true;
dmns.Thickness = 3.8; dmns.Thickness = 3.8;
return dmns; return dmns;
case CommonTypes.MediaType.MemoryStickDuo: case CommonTypes.MediaType.MemoryStickDuo:
case CommonTypes.MediaType.MemoryStickProDuo: case CommonTypes.MediaType.MemoryStickProDuo:
dmns.Height = 20; dmns.Height = 20;
dmns.HeightSpecified = true;
dmns.Width = 31; dmns.Width = 31;
dmns.WidthSpecified = true;
dmns.Thickness = 1.6; dmns.Thickness = 1.6;
return dmns; return dmns;
@@ -360,156 +360,156 @@ public static class Dimensions
case CommonTypes.MediaType.NintendoDSGameCard: case CommonTypes.MediaType.NintendoDSGameCard:
case CommonTypes.MediaType.NintendoDSiGameCard: case CommonTypes.MediaType.NintendoDSiGameCard:
dmns.Height = 35; dmns.Height = 35;
dmns.HeightSpecified = true;
dmns.Width = 33; dmns.Width = 33;
dmns.WidthSpecified = true;
dmns.Thickness = 3.8; dmns.Thickness = 3.8;
return dmns; return dmns;
case CommonTypes.MediaType.DataPlay: case CommonTypes.MediaType.DataPlay:
dmns.Height = 42; dmns.Height = 42;
dmns.HeightSpecified = true;
dmns.Width = 33.5; dmns.Width = 33.5;
dmns.WidthSpecified = true;
dmns.Thickness = 3; dmns.Thickness = 3;
return dmns; return dmns;
case CommonTypes.MediaType.Microdrive: case CommonTypes.MediaType.Microdrive:
dmns.Height = 44; dmns.Height = 44;
dmns.HeightSpecified = true;
dmns.Width = 34; dmns.Width = 34;
dmns.WidthSpecified = true;
dmns.Thickness = 8; dmns.Thickness = 8;
return dmns; return dmns;
case CommonTypes.MediaType.ExpressCard34: case CommonTypes.MediaType.ExpressCard34:
dmns.Height = 75; dmns.Height = 75;
dmns.HeightSpecified = true;
dmns.Width = 34; dmns.Width = 34;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.SmartMedia: case CommonTypes.MediaType.SmartMedia:
dmns.Height = 45; dmns.Height = 45;
dmns.HeightSpecified = true;
dmns.Width = 37; dmns.Width = 37;
dmns.WidthSpecified = true;
dmns.Thickness = 0.76; dmns.Thickness = 0.76;
return dmns; return dmns;
case CommonTypes.MediaType.MiniCard: case CommonTypes.MediaType.MiniCard:
dmns.Height = 45; dmns.Height = 45;
dmns.HeightSpecified = true;
dmns.Width = 37; dmns.Width = 37;
dmns.WidthSpecified = true;
dmns.Thickness = 3.5; dmns.Thickness = 3.5;
return dmns; return dmns;
case CommonTypes.MediaType.PlayStationMemoryCard: case CommonTypes.MediaType.PlayStationMemoryCard:
case CommonTypes.MediaType.PlayStationMemoryCard2: case CommonTypes.MediaType.PlayStationMemoryCard2:
dmns.Height = 55.7; dmns.Height = 55.7;
dmns.HeightSpecified = true;
dmns.Width = 41.5; dmns.Width = 41.5;
dmns.WidthSpecified = true;
dmns.Thickness = 7; dmns.Thickness = 7;
return dmns; return dmns;
case CommonTypes.MediaType.CFast: case CommonTypes.MediaType.CFast:
case CommonTypes.MediaType.CompactFlash: case CommonTypes.MediaType.CompactFlash:
dmns.Height = 36; dmns.Height = 36;
dmns.HeightSpecified = true;
dmns.Width = 43; dmns.Width = 43;
dmns.WidthSpecified = true;
dmns.Thickness = 3.3; dmns.Thickness = 3.3;
return dmns; return dmns;
case CommonTypes.MediaType.CompactFlashType2: case CommonTypes.MediaType.CompactFlashType2:
dmns.Height = 36; dmns.Height = 36;
dmns.HeightSpecified = true;
dmns.Width = 43; dmns.Width = 43;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.ZXMicrodrive: case CommonTypes.MediaType.ZXMicrodrive:
dmns.Height = 36; dmns.Height = 36;
dmns.HeightSpecified = true;
dmns.Width = 43; dmns.Width = 43;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.MemoryStick: case CommonTypes.MediaType.MemoryStick:
case CommonTypes.MediaType.MemoryStickPro: case CommonTypes.MediaType.MemoryStickPro:
dmns.Height = 21; dmns.Height = 21;
dmns.HeightSpecified = true;
dmns.Width = 50; dmns.Width = 50;
dmns.WidthSpecified = true;
dmns.Thickness = 2.6; dmns.Thickness = 2.6;
return dmns; return dmns;
case CommonTypes.MediaType.PocketZip: case CommonTypes.MediaType.PocketZip:
dmns.Height = 54.5; dmns.Height = 54.5;
dmns.HeightSpecified = true;
dmns.Width = 50; dmns.Width = 50;
dmns.WidthSpecified = true;
dmns.Thickness = 2; dmns.Thickness = 2;
return dmns; return dmns;
case CommonTypes.MediaType.ExpressCard54: case CommonTypes.MediaType.ExpressCard54:
dmns.Height = 75; dmns.Height = 75;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.PCCardTypeI: case CommonTypes.MediaType.PCCardTypeI:
dmns.Height = 85.6; dmns.Height = 85.6;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 3.3; dmns.Thickness = 3.3;
return dmns; return dmns;
case CommonTypes.MediaType.PCCardTypeII: case CommonTypes.MediaType.PCCardTypeII:
dmns.Height = 85.6; dmns.Height = 85.6;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.PCCardTypeIII: case CommonTypes.MediaType.PCCardTypeIII:
dmns.Height = 85.6; dmns.Height = 85.6;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 10.5; dmns.Thickness = 10.5;
return dmns; return dmns;
case CommonTypes.MediaType.PCCardTypeIV: case CommonTypes.MediaType.PCCardTypeIV:
dmns.Height = 85.6; dmns.Height = 85.6;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 16; dmns.Thickness = 16;
return dmns; return dmns;
case CommonTypes.MediaType.DataStore: case CommonTypes.MediaType.DataStore:
dmns.Height = 86.5; dmns.Height = 86.5;
dmns.HeightSpecified = true;
dmns.Width = 54; dmns.Width = 54;
dmns.WidthSpecified = true;
dmns.Thickness = 2.5; dmns.Thickness = 2.5;
return dmns; return dmns;
case CommonTypes.MediaType.VideoFloppy: case CommonTypes.MediaType.VideoFloppy:
dmns.Height = 54; dmns.Height = 54;
dmns.HeightSpecified = true;
dmns.Width = 60; dmns.Width = 60;
dmns.WidthSpecified = true;
dmns.Thickness = 3.5; dmns.Thickness = 3.5;
return dmns; return dmns;
@@ -517,33 +517,33 @@ public static class Dimensions
case CommonTypes.MediaType.VXA2: case CommonTypes.MediaType.VXA2:
case CommonTypes.MediaType.VXA3: case CommonTypes.MediaType.VXA3:
dmns.Height = 95; dmns.Height = 95;
dmns.HeightSpecified = true;
dmns.Width = 62.5; dmns.Width = 62.5;
dmns.WidthSpecified = true;
dmns.Thickness = 15; dmns.Thickness = 15;
return dmns; return dmns;
case CommonTypes.MediaType.MiniDV: case CommonTypes.MediaType.MiniDV:
dmns.Height = 47.5; dmns.Height = 47.5;
dmns.HeightSpecified = true;
dmns.Width = 66; dmns.Width = 66;
dmns.WidthSpecified = true;
dmns.Thickness = 12; dmns.Thickness = 12;
return dmns; return dmns;
case CommonTypes.MediaType.Wafer: case CommonTypes.MediaType.Wafer:
dmns.Height = 46.8; dmns.Height = 46.8;
dmns.HeightSpecified = true;
dmns.Width = 67.1; dmns.Width = 67.1;
dmns.WidthSpecified = true;
dmns.Thickness = 7.9; dmns.Thickness = 7.9;
return dmns; return dmns;
case CommonTypes.MediaType.NintendoDiskCard: case CommonTypes.MediaType.NintendoDiskCard:
dmns.Height = 76.2; dmns.Height = 76.2;
dmns.HeightSpecified = true;
dmns.Width = 71.12; dmns.Width = 71.12;
dmns.WidthSpecified = true;
dmns.Thickness = 0; dmns.Thickness = 0;
return dmns; return dmns;
@@ -555,9 +555,9 @@ public static class Dimensions
case CommonTypes.MediaType.MD74: case CommonTypes.MediaType.MD74:
case CommonTypes.MediaType.MD80: case CommonTypes.MediaType.MD80:
dmns.Height = 68; dmns.Height = 68;
dmns.HeightSpecified = true;
dmns.Width = 71.5; dmns.Width = 71.5;
dmns.WidthSpecified = true;
dmns.Thickness = 4.8; dmns.Thickness = 4.8;
return dmns; return dmns;
@@ -570,59 +570,59 @@ public static class Dimensions
case CommonTypes.MediaType.DDS4: case CommonTypes.MediaType.DDS4:
case CommonTypes.MediaType.DigitalAudioTape: case CommonTypes.MediaType.DigitalAudioTape:
dmns.Height = 54; dmns.Height = 54;
dmns.HeightSpecified = true;
dmns.Width = 73; dmns.Width = 73;
dmns.WidthSpecified = true;
dmns.Thickness = 10.5; dmns.Thickness = 10.5;
return dmns; return dmns;
case CommonTypes.MediaType.CompactFloppy: case CommonTypes.MediaType.CompactFloppy:
dmns.Height = 100; dmns.Height = 100;
dmns.HeightSpecified = true;
dmns.Width = 80; dmns.Width = 80;
dmns.WidthSpecified = true;
dmns.Thickness = 5; dmns.Thickness = 5;
return dmns; return dmns;
case CommonTypes.MediaType.DECtapeII: case CommonTypes.MediaType.DECtapeII:
dmns.Height = 60; dmns.Height = 60;
dmns.HeightSpecified = true;
dmns.Width = 81; dmns.Width = 81;
dmns.WidthSpecified = true;
dmns.Thickness = 13; dmns.Thickness = 13;
return dmns; return dmns;
case CommonTypes.MediaType.Ditto: case CommonTypes.MediaType.Ditto:
dmns.Height = 60; dmns.Height = 60;
dmns.HeightSpecified = true;
dmns.Width = 81; dmns.Width = 81;
dmns.WidthSpecified = true;
dmns.Thickness = 14; dmns.Thickness = 14;
return dmns; return dmns;
case CommonTypes.MediaType.DittoMax: case CommonTypes.MediaType.DittoMax:
dmns.Height = 126; dmns.Height = 126;
dmns.HeightSpecified = true;
dmns.Width = 81; dmns.Width = 81;
dmns.WidthSpecified = true;
dmns.Thickness = 14; dmns.Thickness = 14;
return dmns; return dmns;
case CommonTypes.MediaType.RDX: case CommonTypes.MediaType.RDX:
case CommonTypes.MediaType.RDX320: case CommonTypes.MediaType.RDX320:
dmns.Height = 119; dmns.Height = 119;
dmns.HeightSpecified = true;
dmns.Width = 87; dmns.Width = 87;
dmns.WidthSpecified = true;
dmns.Thickness = 23; dmns.Thickness = 23;
return dmns; return dmns;
case CommonTypes.MediaType.LS120: case CommonTypes.MediaType.LS120:
case CommonTypes.MediaType.LS240: case CommonTypes.MediaType.LS240:
dmns.Height = 94; dmns.Height = 94;
dmns.HeightSpecified = true;
dmns.Width = 90; dmns.Width = 90;
dmns.WidthSpecified = true;
dmns.Thickness = 3.5; dmns.Thickness = 3.5;
return dmns; return dmns;
@@ -632,25 +632,25 @@ public static class Dimensions
case CommonTypes.MediaType.Travan5: case CommonTypes.MediaType.Travan5:
case CommonTypes.MediaType.Travan7: case CommonTypes.MediaType.Travan7:
dmns.Height = 72; dmns.Height = 72;
dmns.HeightSpecified = true;
dmns.Width = 92; dmns.Width = 92;
dmns.WidthSpecified = true;
dmns.Thickness = 15; dmns.Thickness = 15;
return dmns; return dmns;
case CommonTypes.MediaType.Travan1Ex: case CommonTypes.MediaType.Travan1Ex:
dmns.Height = 0; dmns.Height = 0;
dmns.HeightSpecified = true;
dmns.Width = 92; dmns.Width = 92;
dmns.WidthSpecified = true;
dmns.Thickness = 15; dmns.Thickness = 15;
return dmns; return dmns;
case CommonTypes.MediaType.Travan3Ex: case CommonTypes.MediaType.Travan3Ex:
dmns.Height = 0; dmns.Height = 0;
dmns.HeightSpecified = true;
dmns.Width = 92; dmns.Width = 92;
dmns.WidthSpecified = true;
dmns.Thickness = 15; dmns.Thickness = 15;
return dmns; return dmns;
@@ -659,9 +659,9 @@ public static class Dimensions
case CommonTypes.MediaType.ADR30: case CommonTypes.MediaType.ADR30:
case CommonTypes.MediaType.ADR50: case CommonTypes.MediaType.ADR50:
dmns.Height = 129; dmns.Height = 129;
dmns.HeightSpecified = true;
dmns.Width = 93; dmns.Width = 93;
dmns.WidthSpecified = true;
dmns.Thickness = 14.5; dmns.Thickness = 14.5;
return dmns; return dmns;
@@ -694,9 +694,9 @@ public static class Dimensions
case CommonTypes.MediaType.Exatape76m: case CommonTypes.MediaType.Exatape76m:
case CommonTypes.MediaType.Exatape80m: case CommonTypes.MediaType.Exatape80m:
dmns.Height = 62.5; dmns.Height = 62.5;
dmns.HeightSpecified = true;
dmns.Width = 95; dmns.Width = 95;
dmns.WidthSpecified = true;
dmns.Thickness = 15; dmns.Thickness = 15;
return dmns; return dmns;
@@ -704,9 +704,9 @@ public static class Dimensions
case CommonTypes.MediaType.EZ230: case CommonTypes.MediaType.EZ230:
case CommonTypes.MediaType.SQ327: case CommonTypes.MediaType.SQ327:
dmns.Height = 97; dmns.Height = 97;
dmns.HeightSpecified = true;
dmns.Width = 98; dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 9.5; dmns.Thickness = 9.5;
return dmns; return dmns;
@@ -714,9 +714,9 @@ public static class Dimensions
case CommonTypes.MediaType.SQ800: case CommonTypes.MediaType.SQ800:
case CommonTypes.MediaType.SQ2000: case CommonTypes.MediaType.SQ2000:
dmns.Height = 137; dmns.Height = 137;
dmns.HeightSpecified = true;
dmns.Width = 137; dmns.Width = 137;
dmns.WidthSpecified = true;
dmns.Thickness = 12; dmns.Thickness = 12;
return dmns; return dmns;
@@ -724,35 +724,35 @@ public static class Dimensions
case CommonTypes.MediaType.ZIP250: case CommonTypes.MediaType.ZIP250:
case CommonTypes.MediaType.ZIP750: case CommonTypes.MediaType.ZIP750:
dmns.Height = 98.5; dmns.Height = 98.5;
dmns.HeightSpecified = true;
dmns.Width = 98; dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 6.5; dmns.Thickness = 6.5;
return dmns; return dmns;
case CommonTypes.MediaType.Jaz: case CommonTypes.MediaType.Jaz:
case CommonTypes.MediaType.Jaz2: case CommonTypes.MediaType.Jaz2:
dmns.Height = 102; dmns.Height = 102;
dmns.HeightSpecified = true;
dmns.Width = 98; dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 12; dmns.Thickness = 12;
return dmns; return dmns;
case CommonTypes.MediaType.Orb: case CommonTypes.MediaType.Orb:
case CommonTypes.MediaType.Orb5: case CommonTypes.MediaType.Orb5:
dmns.Height = 104; dmns.Height = 104;
dmns.HeightSpecified = true;
dmns.Width = 98; dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 8; dmns.Thickness = 8;
return dmns; return dmns;
case CommonTypes.MediaType.SparQ: case CommonTypes.MediaType.SparQ:
dmns.Height = 98; dmns.Height = 98;
dmns.HeightSpecified = true;
dmns.Width = 100; dmns.Width = 100;
dmns.WidthSpecified = true;
dmns.Thickness = 9.7; dmns.Thickness = 9.7;
return dmns; return dmns;
@@ -763,9 +763,9 @@ public static class Dimensions
case CommonTypes.MediaType.PDD: case CommonTypes.MediaType.PDD:
case CommonTypes.MediaType.PDD_WORM: case CommonTypes.MediaType.PDD_WORM:
dmns.Height = 130; dmns.Height = 130;
dmns.HeightSpecified = true;
dmns.Width = 128.5; dmns.Width = 128.5;
dmns.WidthSpecified = true;
dmns.Thickness = 9; dmns.Thickness = 9;
return dmns; return dmns;
@@ -789,17 +789,17 @@ public static class Dimensions
case CommonTypes.MediaType.SLRtape75: case CommonTypes.MediaType.SLRtape75:
case CommonTypes.MediaType.SLRtape7SL: case CommonTypes.MediaType.SLRtape7SL:
dmns.Height = 150; dmns.Height = 150;
dmns.HeightSpecified = true;
dmns.Width = 100; dmns.Width = 100;
dmns.WidthSpecified = true;
dmns.Thickness = 18; dmns.Thickness = 18;
return dmns; return dmns;
case CommonTypes.MediaType.N64DD: case CommonTypes.MediaType.N64DD:
dmns.Height = 103.124; dmns.Height = 103.124;
dmns.HeightSpecified = true;
dmns.Width = 101.092; dmns.Width = 101.092;
dmns.WidthSpecified = true;
dmns.Thickness = 10.16; dmns.Thickness = 10.16;
return dmns; return dmns;
@@ -813,9 +813,9 @@ public static class Dimensions
case CommonTypes.MediaType.SDLT2: case CommonTypes.MediaType.SDLT2:
case CommonTypes.MediaType.VStapeI: case CommonTypes.MediaType.VStapeI:
dmns.Height = 105; dmns.Height = 105;
dmns.HeightSpecified = true;
dmns.Width = 105; dmns.Width = 105;
dmns.WidthSpecified = true;
dmns.Thickness = 25; dmns.Thickness = 25;
return dmns; return dmns;
@@ -832,9 +832,9 @@ public static class Dimensions
case CommonTypes.MediaType.LTO7: case CommonTypes.MediaType.LTO7:
case CommonTypes.MediaType.LTO7WORM: case CommonTypes.MediaType.LTO7WORM:
dmns.Height = 101.6; dmns.Height = 101.6;
dmns.HeightSpecified = true;
dmns.Width = 105.41; dmns.Width = 105.41;
dmns.WidthSpecified = true;
dmns.Thickness = 21.59; dmns.Thickness = 21.59;
return dmns; return dmns;
@@ -843,9 +843,9 @@ public static class Dimensions
case CommonTypes.MediaType.IBM3490E: case CommonTypes.MediaType.IBM3490E:
case CommonTypes.MediaType.IBM3592: case CommonTypes.MediaType.IBM3592:
dmns.Height = 125.73; dmns.Height = 125.73;
dmns.HeightSpecified = true;
dmns.Width = 107.95; dmns.Width = 107.95;
dmns.WidthSpecified = true;
dmns.Thickness = 25.4; dmns.Thickness = 25.4;
return dmns; return dmns;
@@ -856,9 +856,9 @@ public static class Dimensions
case CommonTypes.MediaType.T9940A: case CommonTypes.MediaType.T9940A:
case CommonTypes.MediaType.T9940B: case CommonTypes.MediaType.T9940B:
dmns.Height = 124.46; dmns.Height = 124.46;
dmns.HeightSpecified = true;
dmns.Width = 109.22; dmns.Width = 109.22;
dmns.WidthSpecified = true;
dmns.Thickness = 25.4; dmns.Thickness = 25.4;
return dmns; return dmns;
@@ -867,17 +867,17 @@ public static class Dimensions
case CommonTypes.MediaType.Dcas85: case CommonTypes.MediaType.Dcas85:
case CommonTypes.MediaType.Dcas103: case CommonTypes.MediaType.Dcas103:
dmns.Height = 63.5; dmns.Height = 63.5;
dmns.HeightSpecified = true;
dmns.Width = 128; dmns.Width = 128;
dmns.WidthSpecified = true;
dmns.Thickness = 12; dmns.Thickness = 12;
return dmns; return dmns;
case CommonTypes.MediaType.IBM3470: case CommonTypes.MediaType.IBM3470:
dmns.Height = 58.42; dmns.Height = 58.42;
dmns.HeightSpecified = true;
dmns.Width = 137.16; dmns.Width = 137.16;
dmns.WidthSpecified = true;
dmns.Thickness = 16.51; dmns.Thickness = 16.51;
return dmns; return dmns;
@@ -885,9 +885,9 @@ public static class Dimensions
case CommonTypes.MediaType.MLR3: case CommonTypes.MediaType.MLR3:
case CommonTypes.MediaType.MLR1SL: case CommonTypes.MediaType.MLR1SL:
dmns.Height = 101.6; dmns.Height = 101.6;
dmns.HeightSpecified = true;
dmns.Width = 152.4; dmns.Width = 152.4;
dmns.WidthSpecified = true;
dmns.Thickness = 15.24; dmns.Thickness = 15.24;
return dmns; return dmns;
@@ -898,9 +898,9 @@ public static class Dimensions
case CommonTypes.MediaType.QIC24: case CommonTypes.MediaType.QIC24:
case CommonTypes.MediaType.QIC525: case CommonTypes.MediaType.QIC525:
dmns.Height = 101.6; dmns.Height = 101.6;
dmns.HeightSpecified = true;
dmns.Width = 154.2; dmns.Width = 154.2;
dmns.WidthSpecified = true;
dmns.Thickness = 16.6; dmns.Thickness = 16.6;
return dmns; return dmns;
@@ -908,9 +908,9 @@ public static class Dimensions
case CommonTypes.MediaType.Bernoulli10: case CommonTypes.MediaType.Bernoulli10:
case CommonTypes.MediaType.Bernoulli20: case CommonTypes.MediaType.Bernoulli20:
dmns.Height = 280; dmns.Height = 280;
dmns.HeightSpecified = true;
dmns.Width = 209; dmns.Width = 209;
dmns.WidthSpecified = true;
dmns.Thickness = 18; dmns.Thickness = 18;
return dmns; return dmns;
@@ -924,18 +924,18 @@ public static class Dimensions
case CommonTypes.MediaType.Bernoulli150: case CommonTypes.MediaType.Bernoulli150:
case CommonTypes.MediaType.Bernoulli230: case CommonTypes.MediaType.Bernoulli230:
dmns.Height = 138; dmns.Height = 138;
dmns.HeightSpecified = true;
dmns.Width = 136; dmns.Width = 136;
dmns.WidthSpecified = true;
dmns.Thickness = 9; dmns.Thickness = 9;
return dmns; return dmns;
case CommonTypes.MediaType.DTF: case CommonTypes.MediaType.DTF:
case CommonTypes.MediaType.DTF2: case CommonTypes.MediaType.DTF2:
dmns.Height = 144.78; dmns.Height = 144.78;
dmns.HeightSpecified = true;
dmns.Width = 254; dmns.Width = 254;
dmns.WidthSpecified = true;
dmns.Thickness = 25.4; dmns.Thickness = 25.4;
return dmns; return dmns;
@@ -945,15 +945,15 @@ public static class Dimensions
case CommonTypes.MediaType.MegaLD: case CommonTypes.MediaType.MegaLD:
case CommonTypes.MediaType.LVROM: case CommonTypes.MediaType.LVROM:
dmns.Diameter = 300; dmns.Diameter = 300;
dmns.DiameterSpecified = true;
dmns.Thickness = 2.5; dmns.Thickness = 2.5;
return dmns; return dmns;
case CommonTypes.MediaType.CRVdisc: case CommonTypes.MediaType.CRVdisc:
dmns.Height = 344; dmns.Height = 344;
dmns.HeightSpecified = true;
dmns.Width = 325; dmns.Width = 325;
dmns.WidthSpecified = true;
dmns.Thickness = 15.6; dmns.Thickness = 15.6;
return dmns; return dmns;
@@ -961,9 +961,9 @@ public static class Dimensions
case CommonTypes.MediaType.REV70: case CommonTypes.MediaType.REV70:
case CommonTypes.MediaType.REV120: case CommonTypes.MediaType.REV120:
dmns.Height = 74.8; dmns.Height = 74.8;
dmns.HeightSpecified = true;
dmns.Width = 76.8; dmns.Width = 76.8;
dmns.WidthSpecified = true;
dmns.Thickness = 10; dmns.Thickness = 10;
return dmns; return dmns;
@@ -1045,26 +1045,26 @@ public static class Dimensions
case CommonTypes.MediaType.CVD: case CommonTypes.MediaType.CVD:
case CommonTypes.MediaType.UHDBD: case CommonTypes.MediaType.UHDBD:
dmns.Diameter = 120; dmns.Diameter = 120;
dmns.DiameterSpecified = true;
dmns.Thickness = 1.2; dmns.Thickness = 1.2;
return dmns; return dmns;
case CommonTypes.MediaType.GOD: case CommonTypes.MediaType.GOD:
dmns.Diameter = 80; dmns.Diameter = 80;
dmns.DiameterSpecified = true;
dmns.Thickness = 1.2; dmns.Thickness = 1.2;
return dmns; return dmns;
case CommonTypes.MediaType.VideoNow: case CommonTypes.MediaType.VideoNow:
dmns.Diameter = 85; dmns.Diameter = 85;
dmns.DiameterSpecified = true;
dmns.Thickness = 1.2; dmns.Thickness = 1.2;
return dmns; return dmns;
case CommonTypes.MediaType.VideoNowColor: case CommonTypes.MediaType.VideoNowColor:
case CommonTypes.MediaType.VideoNowXp: case CommonTypes.MediaType.VideoNowXp:
dmns.Diameter = 108; dmns.Diameter = 108;
dmns.DiameterSpecified = true;
dmns.Thickness = 1.2; dmns.Thickness = 1.2;
return dmns; return dmns;
@@ -1074,17 +1074,17 @@ public static class Dimensions
// TODO: Find Apple Widget size // TODO: Find Apple Widget size
case CommonTypes.MediaType.AppleProfile: case CommonTypes.MediaType.AppleProfile:
dmns.Height = 223.8; dmns.Height = 223.8;
dmns.HeightSpecified = true;
dmns.Width = 438.9; dmns.Width = 438.9;
dmns.WidthSpecified = true;
dmns.Thickness = 111.5; dmns.Thickness = 111.5;
return dmns; return dmns;
case CommonTypes.MediaType.AppleHD20: case CommonTypes.MediaType.AppleHD20:
dmns.Height = 246.4; dmns.Height = 246.4;
dmns.HeightSpecified = true;
dmns.Width = 266.7; dmns.Width = 266.7;
dmns.WidthSpecified = true;
dmns.Thickness = 78.7; dmns.Thickness = 78.7;
return dmns; return dmns;
@@ -1092,9 +1092,9 @@ public static class Dimensions
case CommonTypes.MediaType.UMD: case CommonTypes.MediaType.UMD:
dmns.Height = 64; dmns.Height = 64;
dmns.HeightSpecified = true;
dmns.Width = 63; dmns.Width = 63;
dmns.WidthSpecified = true;
dmns.Thickness = 4; dmns.Thickness = 4;
return dmns; return dmns;

View File

@@ -40,7 +40,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Xml.Serialization; using System.Xml.Serialization;
using Schemas; using Aaru.CommonTypes.AaruMetadata;
namespace Aaru.CommonTypes.Metadata; namespace Aaru.CommonTypes.Metadata;
@@ -76,11 +76,11 @@ public class Resume
public List<int> BadSubchannels; public List<int> BadSubchannels;
/// <summary>Extents of BLANK sectors for magneto-opticals</summary> /// <summary>Extents of BLANK sectors for magneto-opticals</summary>
[XmlArrayItem("Extent")] [XmlArrayItem("Extent")]
public ExtentType[] BlankExtents; public Extent[] BlankExtents;
/// <summary>Title keys that has not been read</summary> /// <summary>Title keys that has not been read</summary>
[XmlArrayItem("Block")] [XmlArrayItem("Block")]
public List<ulong> MissingTitleKeys; public List<ulong> MissingTitleKeys;
/// <summary>List of dump tries</summary> /// <summary>List of dump tries</summary>
[XmlArrayItem("DumpTry")] [XmlArrayItem("DumpTry")]
public List<DumpHardwareType> Tries; public List<DumpHardware> Tries;
} }

View File

@@ -36,8 +36,8 @@
// Copyright © 2011-2023 Natalia Portillo // Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/ // ****************************************************************************/
using Aaru.CommonTypes.AaruMetadata;
using Aaru.CommonTypes.Interop; using Aaru.CommonTypes.Interop;
using Schemas;
namespace Aaru.CommonTypes.Metadata; namespace Aaru.CommonTypes.Metadata;
@@ -46,7 +46,7 @@ public static class Version
{ {
/// <summary>Gets XML software type for the running version</summary> /// <summary>Gets XML software type for the running version</summary>
/// <returns>XML software type</returns> /// <returns>XML software type</returns>
public static SoftwareType GetSoftwareType() => new() public static Software GetSoftware() => new()
{ {
Name = "Aaru", Name = "Aaru",
OperatingSystem = DetectOS.GetRealPlatformID().ToString(), OperatingSystem = DetectOS.GetRealPlatformID().ToString(),

View File

@@ -102,7 +102,7 @@ public struct ImageInfo
/// <summary>Firmware revision of the drive used to read the media represented by the image</summary> /// <summary>Firmware revision of the drive used to read the media represented by the image</summary>
public string DriveFirmwareRevision; public string DriveFirmwareRevision;
/// <summary>Type of the media represented by the image to use in XML sidecars</summary> /// <summary>Type of the media represented by the image to use in XML sidecars</summary>
public XmlMediaType XmlMediaType; public MetadataMediaType MetadataMediaType;
// CHS geometry... // CHS geometry...
/// <summary>Cylinders of the media represented by the image</summary> /// <summary>Cylinders of the media represented by the image</summary>