diff --git a/DiscImageChef.Core/Devices/Report/ATA.cs b/DiscImageChef.Core/Devices/Report/ATA.cs index eebb972fd..6d320c286 100644 --- a/DiscImageChef.Core/Devices/Report/ATA.cs +++ b/DiscImageChef.Core/Devices/Report/ATA.cs @@ -58,8 +58,6 @@ namespace DiscImageChef.Core.Devices.Report const uint TIMEOUT = 5; - if(dev.IsPcmcia) Pcmcia.Report(dev, ref report); - DicConsole.WriteLine("Querying ATA IDENTIFY..."); dev.AtaIdentify(out byte[] buffer, out _, TIMEOUT, out _); diff --git a/DiscImageChef.Core/Devices/Report/PCMCIA.cs b/DiscImageChef.Core/Devices/Report/PCMCIA.cs index 1df5e3392..dafc01591 100644 --- a/DiscImageChef.Core/Devices/Report/PCMCIA.cs +++ b/DiscImageChef.Core/Devices/Report/PCMCIA.cs @@ -32,25 +32,22 @@ using DiscImageChef.CommonTypes.Metadata; using DiscImageChef.Decoders.PCMCIA; -using DiscImageChef.Devices; namespace DiscImageChef.Core.Devices.Report { /// /// Implements creating a report for a PCMCIA device /// - static class Pcmcia + public partial class DeviceReport { /// /// Fills a device report with parameters specific to a PCMCIA device /// - /// Device - /// Device report - internal static void Report(Device dev, ref DeviceReportV2 report) + public Pcmcia PcmciaReport() { - report.PCMCIA = new CommonTypes.Metadata.Pcmcia {CIS = dev.Cis}; - Tuple[] tuples = CIS.GetTuples(dev.Cis); - if(tuples == null) return; + Pcmcia pcmciaReport = new Pcmcia {CIS = dev.Cis}; + Tuple[] tuples = CIS.GetTuples(dev.Cis); + if(tuples == null) return pcmciaReport; foreach(Tuple tuple in tuples) switch(tuple.Code) @@ -60,8 +57,8 @@ namespace DiscImageChef.Core.Devices.Report if(manfid != null) { - report.PCMCIA.ManufacturerCode = manfid.ManufacturerID; - report.PCMCIA.CardCode = manfid.CardID; + pcmciaReport.ManufacturerCode = manfid.ManufacturerID; + pcmciaReport.CardCode = manfid.CardID; } break; @@ -70,14 +67,16 @@ namespace DiscImageChef.Core.Devices.Report if(vers != null) { - report.PCMCIA.Manufacturer = vers.Manufacturer; - report.PCMCIA.ProductName = vers.Product; - report.PCMCIA.Compliance = $"{vers.MajorVersion}.{vers.MinorVersion}"; - report.PCMCIA.AdditionalInformation = vers.AdditionalInformation; + pcmciaReport.Manufacturer = vers.Manufacturer; + pcmciaReport.ProductName = vers.Product; + pcmciaReport.Compliance = $"{vers.MajorVersion}.{vers.MinorVersion}"; + pcmciaReport.AdditionalInformation = vers.AdditionalInformation; } break; } + + return pcmciaReport; } } } \ No newline at end of file diff --git a/DiscImageChef.Core/Devices/Report/SCSI/General.cs b/DiscImageChef.Core/Devices/Report/SCSI/General.cs index 0a2f10609..fe236939c 100644 --- a/DiscImageChef.Core/Devices/Report/SCSI/General.cs +++ b/DiscImageChef.Core/Devices/Report/SCSI/General.cs @@ -63,8 +63,6 @@ namespace DiscImageChef.Core.Devices.Report.SCSI const uint TIMEOUT = 5; ConsoleKeyInfo pressedKey; - if(dev.IsPcmcia) Pcmcia.Report(dev, ref report); - if(!dev.IsUsb && !dev.IsFireWire && dev.IsRemovable) { pressedKey = new ConsoleKeyInfo(); diff --git a/DiscImageChef/Commands/DeviceReport.cs b/DiscImageChef/Commands/DeviceReport.cs index 570edaec8..d30f51890 100644 --- a/DiscImageChef/Commands/DeviceReport.cs +++ b/DiscImageChef/Commands/DeviceReport.cs @@ -133,6 +133,8 @@ namespace DiscImageChef.Commands } } + if(dev.IsPcmcia) report.PCMCIA = reporter.PcmciaReport(); + switch(dev.Type) { case DeviceType.ATA: