Make media scanning non-static.

This commit is contained in:
2019-04-21 00:11:27 +01:00
parent 993c839751
commit 9052ea80f4
9 changed files with 55 additions and 58 deletions

View File

@@ -0,0 +1,40 @@
using System;
using DiscImageChef.CommonTypes.Enums;
using DiscImageChef.Devices;
namespace DiscImageChef.Core.Devices.Scanning
{
public partial class MediaScan
{
readonly Device dev;
readonly string devicePath;
readonly string ibgLogPath;
readonly string mhddLogPath;
/// <param name="mhddLogPath">Path to a MHDD log file</param>
/// <param name="ibgLogPath">Path to a IMGBurn log file</param>
/// <param name="devicePath">Device path</param>
/// <param name="dev">Device</param>
public MediaScan(string mhddLogPath, string ibgLogPath, string devicePath, Device dev)
{
this.mhddLogPath = mhddLogPath;
this.ibgLogPath = ibgLogPath;
this.devicePath = devicePath;
this.dev = dev;
}
public ScanResults Scan()
{
switch(dev.Type)
{
case DeviceType.ATA: return Ata();
case DeviceType.MMC:
case DeviceType.SecureDigital: return SecureDigital();
case DeviceType.NVMe: return Nvme();
case DeviceType.ATAPI:
case DeviceType.SCSI: return Scsi();
default: throw new NotSupportedException("Unknown device type.");
}
}
}
}