Add AaruMetadata.

This commit is contained in:
2022-12-15 15:20:09 +00:00
parent 192ba79c15
commit d2c24f9fb1
36 changed files with 2606 additions and 9 deletions

View File

@@ -33,8 +33,8 @@
<NoWarn>CS1591;CS1574</NoWarn> <NoWarn>CS1591;CS1574</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Debug' "> <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<InternalsVisibleTo Include="Aaru.Tests" /> <InternalsVisibleTo Include="Aaru.Tests"/>
<InternalsVisibleTo Include="Aaru.Tests.Devices" /> <InternalsVisibleTo Include="Aaru.Tests.Devices"/>
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>
<NrtRevisionFormat>$(Version)+{chash:8}</NrtRevisionFormat> <NrtRevisionFormat>$(Version)+{chash:8}</NrtRevisionFormat>
@@ -42,10 +42,11 @@
<NrtShowRevision>true</NrtShowRevision> <NrtShowRevision>true</NrtShowRevision>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="6.0.0-preview.4.21253.7" /> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0"/>
<PackageReference Include="System.Security.Principal.Windows" Version="6.0.0-preview.5.21301.5" /> <PackageReference Include="System.ComponentModel.Annotations" Version="6.0.0-preview.4.21253.7"/>
<PackageReference Include="System.ValueTuple" Version="4.5.0" /> <PackageReference Include="System.Security.Principal.Windows" Version="6.0.0-preview.5.21301.5"/>
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.4.3" PrivateAssets="all" /> <PackageReference Include="System.ValueTuple" Version="4.5.0"/>
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.4.3" PrivateAssets="all"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="..\LICENSE.MIT"> <Content Include="..\LICENSE.MIT">
@@ -53,9 +54,9 @@
</Content> </Content>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Aaru.Console\Aaru.Console.csproj" /> <ProjectReference Include="..\Aaru.Console\Aaru.Console.csproj"/>
<ProjectReference Include="..\Aaru.Helpers\Aaru.Helpers.csproj" /> <ProjectReference Include="..\Aaru.Helpers\Aaru.Helpers.csproj"/>
<ProjectReference Include="..\Aaru.Localization\Aaru.Localization.csproj" /> <ProjectReference Include="..\Aaru.Localization\Aaru.Localization.csproj"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Update="Localization\Localization.resx"> <EmbeddedResource Update="Localization\Localization.resx">

49
AaruMetadata/ATA.cs Normal file
View File

@@ -0,0 +1,49 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : ATA.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class ATA
{
public Dump Identify { get; set; }
}

View File

@@ -0,0 +1,81 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : AaruMetadata.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class MetadataJson
{
public Metadata AaruMetadata { get; set; }
}
public class Metadata
{
public List<string> Developers { get; set; }
public List<string> Publishers { get; set; }
public List<string> Authors { get; set; }
public List<string> Performers { get; set; }
public string Name { get; set; }
public string Version { get; set; }
public ReleaseType? Release { get; set; }
public DateTime? ReleaseDate { get; set; }
public List<Barcode> Barcodes { get; set; }
public string PartNumber { get; set; }
public string SerialNumber { get; set; }
public List<string> Keywords { get; set; }
public List<Magazine> Magazines { get; set; }
public List<Book> Books { get; set; }
public List<string> Categories { get; set; }
public List<string> Subcategories { get; set; }
public List<Language> Languages { get; set; }
public List<string> Systems { get; set; }
public List<Architecture> Architectures { get; set; }
public List<RequiredOperatingSystem> RequiredOperatingSystems { get; set; }
public List<UserManual> UserManuals { get; set; }
public List<OpticalDisc> OpticalDiscs { get; set; }
public List<Advertisement> Advertisements { get; set; }
public List<LinearMedia> LinearMedias { get; set; }
public List<Pci> PciCards { get; set; }
public List<BlockMedia> BlockMedias { get; set; }
public List<AudioMedia> AudioMedia { get; set; }
}

View File

@@ -0,0 +1,60 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Advertisement.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Advertisement
{
public string Manufacturer { get; set; }
public string Product { get; set; }
public File File { get; set; }
public ulong FileSize { get; set; }
public ulong? Frames { get; set; }
public double Duration { get; set; }
public float? MeanFrameRate { get; set; }
public List<Checksum> Checksums { get; set; }
public List<AudioTrack> AudioTracks { get; set; }
public List<VideoTrack> VideoTracks { get; set; }
public List<SubtitleTrack> SubtitleTracks { get; set; }
public Recording Recording { get; set; }
}

View File

@@ -0,0 +1,79 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Architecture.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Text.Json.Serialization;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
[JsonConverter(typeof(JsonStringEnumMemberConverter))]
public enum Architecture
{
[JsonPropertyName("4004")]
_4004, [JsonPropertyName("4040")]
_4040, [JsonPropertyName("6502")]
_6502, [JsonPropertyName("65816")]
_65816, [JsonPropertyName("8008")]
_8008, [JsonPropertyName("8051")]
_8051, [JsonPropertyName("8080")]
_8080, [JsonPropertyName("8085")]
_8085, Aarch64, Am29000, Amd64,
Apx432, Arm, Avr,
Avr32, Axp, Clipper,
Cray, Esa390, Hobbit,
I86, I860, I960,
Ia32, Ia64, M56K,
M6800, M6801, M6805,
M6809, M68K, M88K,
Mcs41, Mcs48, Mips32,
Mips64, Msp430, Nios2,
Openrisc, Parisc, PDP1,
PDP10, PDP11, PDP7,
PDP8, Pic, Power,
Ppc, Ppc64, Prism,
Renesasrx, Riscv, S360,
S370, Sh, Sh1,
Sh2, Sh3, Sh4,
Sh5, Sh64, Sparc,
Sparc64, Transputer, Vax,
We32000, X32, Z80,
Z800, Z8000, Z80000,
Zarch
}

View File

@@ -0,0 +1,71 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : AudioMedia.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class AudioMedia
{
public Image Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
public Sequence Sequence { get; set; }
public string PartNumber { get; set; }
public string SerialNumber { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string AccoustID { get; set; }
public List<AudioBlock> Blocks { get; set; }
public string CopyProtection { get; set; }
public DimensionsNew Dimensions { get; set; }
public Scans Scans { get; set; }
public List<DumpHardware> DumpHardware { get; set; }
}
public class AudioBlock
{
public Image Image { get; set; }
public ulong Size { get; set; }
public string AccoustID { get; set; }
public List<Checksum> Checksums { get; set; }
public string Format { get; set; }
}

153
AaruMetadata/AudioVideo.cs Normal file
View File

@@ -0,0 +1,153 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : AudioVideo.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text.Json.Serialization;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class AudioTrack
{
public List<Language> Languages { get; set; }
public uint Number { get; set; }
public string AccoustID { get; set; }
public string Codec { get; set; }
public uint Channels { get; set; }
public double SampleRate { get; set; }
public long MeanBitrate { get; set; }
}
public class VideoTrack
{
public List<Language> Languages { get; set; }
public uint Number { get; set; }
public string Codec { get; set; }
public uint Horizontal { get; set; }
public uint Vertical { get; set; }
public long MeanBitrate { get; set; }
[JsonPropertyName("3D")]
public bool ThreeD { get; set; }
}
public class SubtitleTrack
{
public List<Language> Languages { get; set; }
public uint Number { get; set; }
public string Codec { get; set; }
}
public class Recording
{
public string Broadcaster { get; set; }
public string BroadcastPlatform { get; set; }
public SourceFormat SourceFormat { get; set; }
public DateTime Timestamp { get; set; }
public List<Software> Software { get; set; }
public Coordinates Coordinates { get; set; }
}
public class Coordinates
{
public double Latitude { get; set; }
public double Longitude { get; set; }
}
[JsonConverter(typeof(JsonStringEnumMemberConverter)), SuppressMessage("ReSharper", "InconsistentNaming")]
public enum SourceFormat
{
[JsonPropertyName("ITU-A")]
ITUA, [JsonPropertyName("ITU-B")]
ITUB, [JsonPropertyName("ITU-C")]
ITUC, [JsonPropertyName("ITU-D")]
ITUD, [JsonPropertyName("ITU-E")]
ITUE, [JsonPropertyName("ITU-F")]
ITUF, [JsonPropertyName("ITU-G")]
ITUG, [JsonPropertyName("ITU-H")]
ITUH, [JsonPropertyName("ITU-I")]
ITUI, [JsonPropertyName("ITU-J")]
ITUJ, [JsonPropertyName("ITU-K")]
ITUK, [JsonPropertyName("ITU-L")]
ITUL, [JsonPropertyName("ITU-M")]
ITUM, [JsonPropertyName("ITU-N")]
ITUN, [JsonPropertyName("PAL-B")]
PALB, [JsonPropertyName("SECAM-B")]
SECAMB, [JsonPropertyName("PAL-D")]
PALD, [JsonPropertyName("SECAM-D")]
SECAMD, [JsonPropertyName("PAL-G")]
PALG, [JsonPropertyName("SECAM-G")]
SECAMG, [JsonPropertyName("PAL-H")]
PALH, [JsonPropertyName("PAL-I")]
PALI, [JsonPropertyName("PAL-K")]
PALK, [JsonPropertyName("SECAM-K")]
SECAMK, [JsonPropertyName("NTSC-M")]
NTSCM, [JsonPropertyName("PAL-N")]
PALN, [JsonPropertyName("PAL-M")]
PALM, [JsonPropertyName("SECAM-M")]
SECAMM, MUSE, PALplus, FM,
AM, COFDM, [JsonPropertyName("CAM-D")]
CAMD, DAB, [JsonPropertyName("DAB+")]
DAB1, DRM, [JsonPropertyName("DRM+")]
DRM1, FMeXtra, ATSC, ATSC2,
ATSC3, [JsonPropertyName("ATSC-M/H")]
ATSCMH, [JsonPropertyName("DVB-T")]
DVBT, [JsonPropertyName("DVB-T2")]
DVBT2, [JsonPropertyName("DVB-S")]
DVBS, [JsonPropertyName("DVB-S2")]
DVBS2, [JsonPropertyName("DVB-S2X")]
DVBS2X, [JsonPropertyName("DVB-C")]
DVBC, [JsonPropertyName("DVB-C2")]
DVBC2, [JsonPropertyName("DVB-H")]
DVBH, [JsonPropertyName("DVB-NGH")]
DVBNGH, [JsonPropertyName("DVB-SH")]
DVBSH, [JsonPropertyName("ISDB-T")]
ISDBT, [JsonPropertyName("ISDB-Tb")]
ISDBTb, [JsonPropertyName("ISDB-S")]
ISDBS, [JsonPropertyName("ISDB-C")]
ISDBC, [JsonPropertyName("1seg")]
Item1seg, DTMB, CCMB, [JsonPropertyName("T-DMB")]
TDMB, [JsonPropertyName("S-DMB")]
SDMB, IPTV, [JsonPropertyName("DVB-MT")]
DVBMT, [JsonPropertyName("DVB-MC")]
DVBMC, [JsonPropertyName("DVB-MS")]
DVBMS, ADR, SDR
}

64
AaruMetadata/Barcode.cs Normal file
View File

@@ -0,0 +1,64 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Barcode.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public enum BarcodeType
{
Aztec, Codabar, Code11,
Code128, Code39, Code93,
CPC_Binary, EZcode, FIM,
ITF, ITF14, EAN13,
EAN8, MaxiCode, ISBN,
ISRC, MSI, ShotCode,
RM4SCC, QR, EAN5,
EAN2, POSTNET, PostBar,
Plessey, Pharmacode, PDF417,
PatchCode
}
public class Barcode
{
public BarcodeType Type { get; set; }
public string Value { get; set; }
}

View File

@@ -0,0 +1,98 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : BlockMedia.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class BlockMedia
{
public Image Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
public List<Checksum> ContentChecksums { get; set; }
public Sequence Sequence { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Serial { get; set; }
public string Firmware { get; set; }
public string PartNumber { get; set; }
public string SerialNumber { get; set; }
public uint PhysicalBlockSize { get; set; }
public uint LogicalBlockSize { get; set; }
public ulong LogicalBlocks { get; set; }
public List<BlockSize> VariableBlockSize { get; set; }
public List<TapePartition> TapeInformation { get; set; }
public Scans Scans { get; set; }
public ATA ATA { get; set; }
public Pci Pci { get; set; }
public Pcmcia Pcmcia { get; set; }
public SecureDigital SecureDigital { get; set; }
public MultiMediaCard MultiMediaCard { get; set; }
public SCSI SCSI { get; set; }
public Usb Usb { get; set; }
public Dump Mam { get; set; }
public ushort? Heads { get; set; }
public uint? Cylinders { get; set; }
public ulong? SectorsPerTrack { get; set; }
public List<BlockTrack> Track { get; set; }
public string CopyProtection { get; set; }
public DimensionsNew Dimensions { get; set; }
public List<Partition> FileSystemInformation { get; set; }
public List<DumpHardware> DumpHardware { get; set; }
public string DiskType { get; set; }
public string DiskSubType { get; set; }
public string Interface { get; set; }
}
public class BlockTrack
{
public Image Image { get; set; }
public ulong Size { get; set; }
public ushort Head { get; set; }
public uint Cylinder { get; set; }
public ulong StartSector { get; set; }
public ulong EndSector { get; set; }
public ulong Sectors { get; set; }
public uint BytesPerSector { get; set; }
public List<Checksum> Checksums { get; set; }
public string Format { get; set; }
}

59
AaruMetadata/Book.cs Normal file
View File

@@ -0,0 +1,59 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Book.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Book
{
public List<Barcode> Barcodes { get; set; }
public Cover Cover { get; set; }
public string Name { get; set; }
public string Editorial { get; set; }
public string Author { get; set; }
public DateTime? PublicationDate { get; set; }
public List<Language> Languages { get; set; }
public uint? Pages { get; set; }
public string PageSize { get; set; }
public Scan Scan { get; set; }
}

63
AaruMetadata/Checksum.cs Normal file
View File

@@ -0,0 +1,63 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Checksum.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Checksum
{
public ChecksumType Type { get; set; }
public string Value { get; set; }
}
public enum ChecksumType
{
Fletcher16, Fletcher32, Adler32,
CRC16, CRC16Ccitt, CRC32,
CRC64, Md4, Md5,
Dm6, Ripemd128, Ripemd160,
Ripemed320, Sha1, Sha224,
Sha256, Sha384, Sha512,
Sha3, Skein, Snefru,
Blake256, Blake512, Tiger,
Whirlpool, SpamSum
}

98
AaruMetadata/Contents.cs Normal file
View File

@@ -0,0 +1,98 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Contents.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class FilesystemContents
{
public List<ContentsFile> Files { get; set; }
public List<Directory> Directories { get; set; }
public string Namespace { get; set; }
}
public class ContentsFile
{
public List<Checksum> Checksums { get; set; }
public List<ExtendedAttribute> ExtendedAttributes { get; set; }
public string Name { get; set; }
public DateTime? CreationTime { get; set; }
public DateTime? AccessTime { get; set; }
public DateTime? StatusChangeTime { get; set; }
public DateTime? BackupTime { get; set; }
public DateTime? LastWriteTime { get; set; }
public ulong Attributes { get; set; }
public uint? PosixMode { get; set; }
public ulong? DeviceNumber { get; set; }
public ulong? PosixGroupId { get; set; }
public ulong Inode { get; set; }
public ulong Links { get; set; }
public ulong? PosixUserId { get; set; }
public ulong Length { get; set; }
}
public class ExtendedAttribute
{
public List<Checksum> Checksums { get; set; }
public string Name { get; set; }
public ulong Length { get; set; }
}
public class Directory
{
public List<ContentsFile> Files { get; set; }
public List<Directory> Directories { get; set; }
public string Name { get; set; }
public DateTime? CreationTime { get; set; }
public DateTime? AccessTime { get; set; }
public DateTime? StatusChangeTime { get; set; }
public DateTime? BackupTime { get; set; }
public DateTime? LastWriteTime { get; set; }
public ulong Attributes { get; set; }
public uint? PosixMode { get; set; }
public ulong? DeviceNumber { get; set; }
public ulong? PosixGroupId { get; set; }
public ulong? Inode { get; set; }
public ulong? Links { get; set; }
public ulong? PosixUserId { get; set; }
}

View File

@@ -0,0 +1,52 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Dimensions.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class DimensionsNew
{
public double? Diameter { get; set; }
public double? Height { get; set; }
public double? Width { get; set; }
public double Thickness { get; set; }
}

78
AaruMetadata/Dump.cs Normal file
View File

@@ -0,0 +1,78 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Dump.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Image
{
public string Format { get; set; }
public ulong? Offset { get; set; }
public string Value { get; set; }
}
public class Dump
{
public string Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
}
public class Border
{
public string Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
public uint? Session { get; set; }
}
public class File
{
public string Format { get; set; }
public string Value { get; set; }
}
public class BlockSize
{
public uint StartingBlock { get; set; }
public uint Value { get; set; }
}

View File

@@ -0,0 +1,68 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : DumpHardware.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class DumpHardware
{
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Revision { get; set; }
public string Firmware { get; set; }
public string Serial { get; set; }
public List<Extent> Extents { get; set; }
public Software Software { get; set; }
}
public class Extent
{
public ulong Start { get; set; }
public ulong End { get; set; }
}
public class Software
{
public string Name { get; set; }
public string Version { get; set; }
public string OperatingSystem { get; set; }
}

View File

@@ -0,0 +1,68 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : FileSystem.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class FileSystem
{
public string Type { get; set; }
public DateTime? CreationDate { get; set; }
public DateTime? ModificationDate { get; set; }
public DateTime? BackupDate { get; set; }
public uint ClusterSize { get; set; }
public ulong Clusters { get; set; }
public ulong? Files { get; set; }
public bool Bootable { get; set; }
public string VolumeSerial { get; set; }
public string VolumeName { get; set; }
public ulong? FreeClusters { get; set; }
public bool Dirty { get; set; }
public DateTime? ExpirationDate { get; set; }
public DateTime? EffectiveDate { get; set; }
public string SystemIdentifier { get; set; }
public string VolumeSetIdentifier { get; set; }
public string PublisherIdentifier { get; set; }
public string DataPreparerIdentifier { get; set; }
public string ApplicationIdentifier { get; set; }
public FilesystemContents Contents { get; set; }
}

213
AaruMetadata/Language.cs Normal file
View File

@@ -0,0 +1,213 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Language.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Diagnostics.CodeAnalysis;
using System.Text.Json.Serialization;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
[JsonConverter(typeof(JsonStringEnumMemberConverter)), SuppressMessage("ReSharper", "InconsistentNaming")]
public enum Language
{
aar, abk, ace,
ach, ada, ady,
afa, afh, afr,
ain, aka, akk,
alb, ale, alg,
alt, amh, ang,
anp, apa, ara,
arc, arg, arm,
arn, arp, art,
arw, asm, ast,
ath, aus, ava,
ave, awa, aym,
aze, bad, bai,
bak, bal, bam,
ban, baq, bas,
bat, bej, bel,
bem, ben, ber,
bho, bih, bik,
bin, bis, bla,
bnt, bos, bra,
bre, btk, bua,
bug, bul, bur,
byn, cad, cai,
car, cat, cau,
ceb, cel, cha,
chb, che, chg,
chi, chk, chm,
chn, cho, chp,
chr, chu, chv,
chy, cmc, cop,
cor, cos, cpe,
cpf, cpp, cre,
crh, crp, csb,
cus, cze, dak,
dan, dar, day,
del, den, dgr,
din, div, doi,
dra, dsb, dua,
dum, dut, dyu,
dzo, efi, egy,
eka, elx, eng,
enm, epo, est,
ewe, ewo, fan,
fao, fat, fij,
fil, fin, fiu,
fon, fre, frm,
fro, frr, frs,
fry, ful, fur,
gaa, gay, gba,
gem, geo, ger,
gez, gil, gla,
gle, glg, glv,
gmh, goh, gon,
gor, got, grb,
grc, gre, grn,
gsw, guj, gwi,
hai, hat, hau,
haw, heb, her,
hil, him, hin,
hit, hmn, hmo,
hrv, hsb, hun,
hup, iba, ibo,
ice, ido, iii,
ijo, iku, ile,
ilo, ina, inc,
ind, ine, inh,
ipk, ira, iro,
ita, jav, jbo,
jpn, jpr, jrb,
kaa, kab, kac,
kal, kam, kan,
kar, kas, kau,
kaw, kaz, kbd,
kha, khi, khm,
kho, kik, kin,
kir, kmb, kok,
kom, kon, kor,
kos, kpe, krc,
krl, kro, kru,
kua, kum, kur,
kut, lad, lah,
lam, lao, lat,
lav, lez, lim,
lin, lit, lol,
loz, ltz, lua,
lub, lug, lui,
lun, luo, lus,
mac, mad, mag,
mah, mai, mak,
mal, man, mao,
map, mar, mas,
may, mdf, mdr,
men, mga, mic,
min, mis, mkh,
mlg, mlt, mnc,
mni, mno, moh,
mon, mos, mul,
mun, mus, mwl,
mwr, myn, myv,
nah, nai, nap,
nau, nav, nbl,
nde, ndo, nds,
nep, @new, nia,
nic, niu, nno,
nob, nog, non,
nor, nqo, nso,
nub, nwc, nya,
nym, nyn, nyo,
nzi, oci, oji,
ori, orm, osa,
oss, ota, oto,
paa, pag, pal,
pam, pan, pap,
pau, peo, per,
phi, phn, pli,
pol, pon, por,
pra, pro, pus,
[JsonPropertyName("qaa-qtz")]
qaaqtz, que, raj, rap,
rar, roa, roh,
rom, rum, run,
rup, rus, sad,
sag, sah, sai,
sal, sam, san,
sas, sat, scn,
sco, sel, sem,
sga, sgn, shn,
sid, sin, sio,
sit, sla, slo,
slv, sma, sme,
smi, smj, smn,
smo, sms, sna,
snd, snk, sog,
som, son, sot,
spa, srd, srn,
srp, srr, ssa,
ssw, suk, sun,
sus, sux, swa,
swe, syc, syr,
tah, tai, tam,
tat, tel, tem,
ter, tet, tgk,
tgl, tha, tib,
tig, tir, tiv,
tkl, tlh, tli,
tmh, tog, ton,
tpi, tsi, tsn,
tso, tuk, tum,
tup, tur, tut,
tvl, twi, tyv,
udm, uga, uig,
ukr, umb, und,
urd, uzb, vai,
ven, vie, vol,
vot, wak, wal,
war, was, wel,
wen, wln, wol,
xal, xho, yao,
yap, yid, yor,
ypk, zap, zbl,
zen, zgh, zha,
znd, zul, zun,
zxx, zza
}

69
AaruMetadata/Layers.cs Normal file
View File

@@ -0,0 +1,69 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Layers.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Layers
{
public List<Sectors> Sectors { get; set; }
public LayerType? Type { get; set; }
}
[SuppressMessage("ReSharper", "InconsistentNaming")]
public enum LayerType
{
PTP, OTP
}
public class LayeredText
{
public uint? Layer { get; set; }
public string Text { get; set; }
}
public class Sectors
{
public uint? Layer { get; set; }
public ulong Value { get; set; }
}

View File

@@ -0,0 +1,67 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : LinearMedia.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class LinearMedia
{
public Image Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> ImageChecksums { get; set; }
public List<Checksum> Checksums { get; set; }
public string PartNumber { get; set; }
public string SerialNumber { get; set; }
public string Title { get; set; }
public uint? Sequence { get; set; }
public uint? ImageInterleave { get; set; }
public uint? Interleave { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Package { get; set; }
public string Interface { get; set; }
public DimensionsNew Dimensions { get; set; }
public Scans Scans { get; set; }
public List<DumpHardware> DumpHardware { get; set; }
public Pcmcia Pcmcia { get; set; }
public string CopyProtection { get; set; }
}

59
AaruMetadata/Magazine.cs Normal file
View File

@@ -0,0 +1,59 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Magazine.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Magazine
{
public List<Barcode> Barcodes { get; set; }
public Cover Cover { get; set; }
public string Name { get; set; }
public string Editorial { get; set; }
public DateTime? PublicationDate { get; set; }
public uint? Number { get; set; }
public List<Language> Languages { get; set; }
public uint? Pages { get; set; }
public string PageSize { get; set; }
public Scan Scan { get; set; }
}

View File

@@ -0,0 +1,52 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : MultiMediaCard.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class MultiMediaCard
{
public Dump CID { get; set; }
public Dump CSD { get; set; }
public Dump ExtendedCSD { get; set; }
public Dump OCR { get; set; }
}

150
AaruMetadata/OpticalDisc.cs Normal file
View File

@@ -0,0 +1,150 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : OpticalDisc.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class OpticalDisc
{
public Image Image { get; set; }
public ulong Size { get; set; }
public Sequence Sequence { get; set; }
public Layers Layers { get; set; }
public List<Checksum> Checksums { get; set; }
public string PartNumber { get; set; }
public string SerialNumber { get; set; }
public List<LayeredText> RingCode { get; set; }
public List<LayeredText> MasteringSid { get; set; }
public List<LayeredText> Toolstamp { get; set; }
public List<LayeredText> MouldSid { get; set; }
public List<LayeredText> MouldText { get; set; }
public string DiscType { get; set; }
public string DiscSubType { get; set; }
public int? Offset { get; set; }
public uint[] Tracks { get; set; }
public uint Sessions { get; set; }
public string CopyProtection { get; set; }
public DimensionsNew Dimensions { get; set; }
public Case Case { get; set; }
public Scans Scans { get; set; }
public Dump Pfi { get; set; }
public Dump Dmi { get; set; }
public Dump Cmi { get; set; }
public Dump Bca { get; set; }
public Dump Atip { get; set; }
public Dump Adip { get; set; }
public Dump Pma { get; set; }
public Dump Dds { get; set; }
public Dump Sai { get; set; }
public Dump LastRmd { get; set; }
public Dump Pri { get; set; }
public Dump MediaID { get; set; }
public Dump Pfir { get; set; }
public Dump Dcb { get; set; }
public Dump Di { get; set; }
public Dump Pac { get; set; }
public Dump Toc { get; set; }
public Dump LeadInCdText { get; set; }
public List<Border> FirstTrackPregrap { get; set; }
public List<Border> LeadIn { get; set; }
public List<Border> LeadOut { get; set; }
public Xbox Xbox { get; set; }
public Ps3Encryption Ps3Encryption { get; set; }
public string MediaCatalogueNumber { get; set; }
public List<Track> Track { get; set; }
public List<DumpHardware> DumpHardware { get; set; }
}
public class Track
{
public Image Image { get; set; }
public ulong Size { get; set; }
public TrackSequence Sequence { get; set; }
public string StartMsf { get; set; }
public string EndMsf { get; set; }
public ulong StartSector { get; set; }
public ulong EndSector { get; set; }
public List<TrackIndex> Indexes { get; set; }
public TrackFlags Flags { get; set; }
public string ISRC { get; set; }
public TrackType Type { get; set; }
public uint BytesPerSector { get; set; }
public string AccoustID { get; set; }
public List<Checksum> Checksums { get; set; }
public SubChannel SubChannel { get; set; }
public List<Partition> FileSystemInformation { get; set; }
}
public class TrackSequence
{
public uint Number { get; set; }
public uint Session { get; set; }
}
public class TrackIndex
{
public ushort Index { get; set; }
public int Value { get; set; }
}
public class TrackFlags
{
public bool Quadraphonic { get; set; }
public bool Data { get; set; }
public bool CopyPermitted { get; set; }
public bool PreEmphasis { get; set; }
}
public enum TrackType
{
Audio, Mode0, Mode1,
Mode2, Mode2Form1, Mode2Form2,
Dvd, HdDvd, Bluray,
Ddcd
}
public class SubChannel
{
public Image Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
}

55
AaruMetadata/PCI.cs Normal file
View File

@@ -0,0 +1,55 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : PCI.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Pci
{
public ushort VendorID { get; set; }
public ushort DeviceID { get; set; }
public Dump Configuration { get; set; }
public LinearMedia ExpansionRom { get; set; }
}

55
AaruMetadata/PCMCIA.cs Normal file
View File

@@ -0,0 +1,55 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : PCMCIA.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Pcmcia
{
public Dump Cis { get; set; }
public string Compliance { get; set; }
public ushort? ManufacturerCode { get; set; }
public ushort? CardCode { get; set; }
public string Manufacturer { get; set; }
public string ProductName { get; set; }
public List<string> AdditionalInformation { get; set; }
}

50
AaruMetadata/PS3.cs Normal file
View File

@@ -0,0 +1,50 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : PS3.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Ps3Encryption
{
public string Key { get; set; }
public string Serial { get; set; }
}

55
AaruMetadata/Partition.cs Normal file
View File

@@ -0,0 +1,55 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Partition.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Partition
{
public uint Sequence { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public ulong StartSector { get; set; }
public ulong EndSector { get; set; }
public string Description { get; set; }
public List<FileSystem> FileSystems { get; set; }
}

View File

@@ -0,0 +1,52 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : ReleaseType.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public enum ReleaseType
{
Retail, Bundle, Coverdisc,
Subscription, Demo, OEM,
Shareware, FOSS, Adware,
Donationware, DigitalDownload, SaaS
}

View File

@@ -0,0 +1,50 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : RequiredOperatingSystem.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class RequiredOperatingSystem
{
public string Name { get; set; }
public List<string> Versions { get; set; }
}

61
AaruMetadata/SCSI.cs Normal file
View File

@@ -0,0 +1,61 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : SCSI.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class SCSI
{
public Dump Inquiry { get; set; }
public List<Evpd> Evpds { get; set; }
public Dump ModeSense { get; set; }
public Dump ModeSense10 { get; set; }
public Dump LogSense { get; set; }
}
public class Evpd
{
public string Image { get; set; }
public ulong Size { get; set; }
public List<Checksum> Checksums { get; set; }
public byte? Page { get; set; }
}

135
AaruMetadata/Scanning.cs Normal file
View File

@@ -0,0 +1,135 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Scanning.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Scan
{
public File File { get; set; }
public List<Checksum> Checksums { get; set; }
public List<Scanner> Scanner { get; set; }
public List<ScanProcessing> ScanProcessing { get; set; }
public List<OCR> OCR { get; set; }
}
public class Cover
{
public File File { get; set; }
public List<Checksum> Checksums { get; set; }
public byte[] Thumbnail { get; set; }
}
public class Case
{
public CaseType Type { get; set; }
public Scans Scans { get; set; }
}
public enum CaseType
{
Jewel, BigJewel, SlimJewel,
Sleeve, Qpack, Digisleeve,
DiscboxSlider, CompacPlus, KeepCase,
SnapCase, SoftCase, EcoPack,
Liftlock, Spindle, Ps2Case,
Ps3Case, BlurayKeepCase, PsCase,
DcCase, SaturnCase, XboxCase,
Xbox360Case, XboxOneCase, SaturnBigCase,
GcCase, WiiCase, Unknown
}
public class Scans
{
public CaseScan Case { get; set; }
public MediaScan Media { get; set; }
}
public class CaseScan
{
public CaseScanElement Element { get; set; }
public Scan Scan { get; set; }
}
public enum CaseScanElement
{
Sleeve, Inner, Inlay,
FrontBack, FrontFull, BoxFront,
BoxBack, BoxSpine, External
}
public class MediaScan
{
public MediaScanElement Element { get; set; }
public Scan Scan { get; set; }
}
public enum MediaScanElement
{
Up, Down, Front,
Back, Left, Right
}
public class Scanner
{
public string Author { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Serial { get; set; }
public string Software { get; set; }
public string SoftwareVersion { get; set; }
}
public class ScanProcessing
{
public string Author { get; set; }
public string Software { get; set; }
public string SoftwareVersion { get; set; }
}
public class OCR
{
public string Author { get; set; }
public string Software { get; set; }
public string SoftwareVersion { get; set; }
public List<Language> Language { get; set; }
}

View File

@@ -0,0 +1,52 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : SecureDigital.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class SecureDigital
{
public Dump CID { get; set; }
public Dump CSD { get; set; }
public Dump SCR { get; set; }
public Dump OCR { get; set; }
}

53
AaruMetadata/Sequence.cs Normal file
View File

@@ -0,0 +1,53 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Sequence.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Sequence
{
public string Title { get; set; }
public uint MediaSequence { get; set; }
public uint TotalMedia { get; set; }
public byte? Side { get; set; }
public byte? Layer { get; set; }
}

66
AaruMetadata/Tape.cs Normal file
View File

@@ -0,0 +1,66 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Tape.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class TapePartition
{
public Image Image { get; set; }
public ulong Size { get; set; }
public ulong Sequence { get; set; }
public ulong StartBlock { get; set; }
public ulong EndBlock { get; set; }
public List<Checksum> Checksums { get; set; }
public List<TapeFile> File { get; set; }
}
public class TapeFile
{
public Image Image { get; set; }
public ulong Size { get; set; }
public ulong Sequence { get; set; }
public ulong BlockSize { get; set; }
public ulong StartBlock { get; set; }
public ulong EndBlock { get; set; }
public List<Checksum> Checksums { get; set; }
}

51
AaruMetadata/USB.cs Normal file
View File

@@ -0,0 +1,51 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : USB.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Usb
{
public ushort VendorID { get; set; }
public ushort ProductID { get; set; }
public Dump Descriptors { get; set; }
}

View File

@@ -0,0 +1,52 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : UserManual.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class UserManual
{
public List<Language> Language { get; set; }
public uint Pages { get; set; }
public string PageSize { get; set; }
public Scan Scan { get; set; }
}

58
AaruMetadata/Xbox.cs Normal file
View File

@@ -0,0 +1,58 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Xbox.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
namespace Aaru.CommonTypes.AaruMetadata;
public class Xbox
{
public Dump Pfi { get; set; }
public Dump Dmi { get; set; }
public List<XboxSecuritySector> SecuritySectors { get; set; }
}
public class XboxSecuritySector
{
public uint RequestVersion { get; set; }
public uint RequestNumber { get; set; }
public Dump SecuritySectors { get; set; }
}