mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move commands to families.
This commit is contained in:
45
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
45
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
@@ -3,8 +3,10 @@
|
||||
<component name="ContentModelStore">
|
||||
<e p="$APPLICATION_CONFIG_DIR$/consoles/db" t="IncludeRecursive" />
|
||||
<e p="$APPLICATION_PLUGINS_DIR$/puppet/lib/stubs" t="IncludeRecursive" />
|
||||
<e p="$APPLICATION_CONFIG_DIR$/scratches" t="IncludeRecursive" />
|
||||
<e p="$USER_HOME$/.Rider2019.3/system/extResources" t="IncludeRecursive" />
|
||||
<e p="$USER_HOME$/.Rider2019.3/system/resharper-host/local/Transient/ReSharperHost/v193/SolutionCaches/_DiscImageChef.-1491758497.00" t="ExcludeRecursive" />
|
||||
<e p="$USER_HOME$/.config/git/ignore" t="IncludeRecursive" />
|
||||
<e p="$USER_HOME$/.nuget/packages/sqlitepclraw.lib.e_sqlite3.linux/1.1.12/runtimes/linux-x64/native/libe_sqlite3.so" t="Include" />
|
||||
<e p="$PROJECT_DIR$" t="IncludeFlat">
|
||||
<e p=".git/info/exclude" t="IncludeRecursive" />
|
||||
@@ -24,33 +26,48 @@
|
||||
<e p="Changelog.md" t="Include" />
|
||||
<e p="DiscImageChef" t="IncludeRecursive">
|
||||
<e p="Commands" t="Include">
|
||||
<e p="Analyze.cs" t="Include" />
|
||||
<e p="Benchmark.cs" t="Include" />
|
||||
<e p="Configure.cs" t="Include" />
|
||||
<e p="Database" t="Include">
|
||||
<e p="DatabaseFamily.cs" t="Include" />
|
||||
<e p="Statistics.cs" t="Include" />
|
||||
<e p="Update.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Device" t="Include">
|
||||
<e p="DeviceFamily.cs" t="Include" />
|
||||
<e p="DeviceInfo.cs" t="Include" />
|
||||
<e p="DeviceReport.cs" t="Include" />
|
||||
<e p="ListDevices.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Filesystem" t="Include">
|
||||
<e p="ExtractFiles.cs" t="Include" />
|
||||
<e p="FilesystemFamily.cs" t="Include" />
|
||||
<e p="ListOptions.cs" t="Include" />
|
||||
<e p="Ls.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Formats.cs" t="Include" />
|
||||
<e p="Image" t="Include">
|
||||
<e p="Analyze.cs" t="Include" />
|
||||
<e p="Checksum.cs" t="Include" />
|
||||
<e p="Compare.cs" t="Include" />
|
||||
<e p="Configure.cs" t="Include" />
|
||||
<e p="ConvertImage.cs" t="Include" />
|
||||
<e p="CreateSidecar.cs" t="Include" />
|
||||
<e p="Decode.cs" t="Include" />
|
||||
<e p="DeviceInfo.cs" t="Include" />
|
||||
<e p="DeviceReport.cs" t="Include" />
|
||||
<e p="DumpMedia.cs" t="Include" />
|
||||
<e p="Entropy.cs" t="Include" />
|
||||
<e p="ExtractFiles.cs" t="Include" />
|
||||
<e p="Formats.cs" t="Include" />
|
||||
<e p="ImageFamily.cs" t="Include" />
|
||||
<e p="ImageInfo.cs" t="Include" />
|
||||
<e p="ListDevices.cs" t="Include" />
|
||||
<e p="PrintHex.cs" t="Include" />
|
||||
<e p="Verify.cs" t="Include" />
|
||||
</e>
|
||||
<e p="ListEncodings.cs" t="Include" />
|
||||
<e p="ListNamespaces.cs" t="Include" />
|
||||
<e p="ListOptions.cs" t="Include" />
|
||||
<e p="Ls.cs" t="Include" />
|
||||
<e p="Media" t="Include">
|
||||
<e p="DumpMedia.cs" t="Include" />
|
||||
<e p="MediaFamily.cs" t="Include" />
|
||||
<e p="MediaInfo.cs" t="Include" />
|
||||
<e p="MediaScan.cs" t="Include" />
|
||||
<e p="PrintHex.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Remote.cs" t="Include" />
|
||||
<e p="Statistics.cs" t="Include" />
|
||||
<e p="Update.cs" t="Include" />
|
||||
<e p="Verify.cs" t="Include" />
|
||||
</e>
|
||||
<e p="DiscImageChef.csproj" t="IncludeRecursive" />
|
||||
<e p="Info.plist" t="Include" />
|
||||
|
||||
@@ -199,6 +199,7 @@
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=cicm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Claunia/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=DDCD/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Deinterleave/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=dicremote/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Drive_0027s/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=dvdr/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
48
DiscImageChef/Commands/Database/DatabaseFamily.cs
Normal file
48
DiscImageChef/Commands/Database/DatabaseFamily.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : DatabaseFamily.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : Verbs.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Implements the 'database' verb.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System.CommandLine;
|
||||
|
||||
namespace DiscImageChef.Commands.Filesystem
|
||||
{
|
||||
public class DatabaseFamily : Command
|
||||
{
|
||||
public DatabaseFamily(bool masterDbUpdate) : base("database",
|
||||
"Commands to manage the device and statistics database")
|
||||
{
|
||||
AddAlias("db");
|
||||
|
||||
AddCommand(new StatisticsCommand());
|
||||
AddCommand(new UpdateCommand(masterDbUpdate));
|
||||
}
|
||||
}
|
||||
}
|
||||
49
DiscImageChef/Commands/Device/DeviceFamily.cs
Normal file
49
DiscImageChef/Commands/Device/DeviceFamily.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : DeviceFamily.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : Verbs.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Implements the 'image' verb.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System.CommandLine;
|
||||
|
||||
namespace DiscImageChef.Commands.Device
|
||||
{
|
||||
public class DeviceFamily : Command
|
||||
{
|
||||
public DeviceFamily() : base("device", "Commands that talks to devices")
|
||||
{
|
||||
AddAlias("d");
|
||||
AddAlias("dev");
|
||||
|
||||
AddCommand(new DeviceInfoCommand());
|
||||
AddCommand(new DeviceReportCommand());
|
||||
AddCommand(new ListDevicesCommand());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -46,10 +46,9 @@ using DiscImageChef.Decoders.SCSI.MMC;
|
||||
using DiscImageChef.Decoders.SCSI.SSC;
|
||||
using DiscImageChef.Devices;
|
||||
using Command = System.CommandLine.Command;
|
||||
using Device = DiscImageChef.Devices.Device;
|
||||
using DeviceInfo = DiscImageChef.Core.Devices.Info.DeviceInfo;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Device
|
||||
{
|
||||
internal class DeviceInfoCommand : Command
|
||||
{
|
||||
@@ -94,11 +93,11 @@ namespace DiscImageChef.Commands
|
||||
char.IsLetter(devicePath[0]))
|
||||
devicePath = "\\\\.\\" + char.ToUpper(devicePath[0]) + ':';
|
||||
|
||||
Device dev;
|
||||
Devices.Device dev;
|
||||
|
||||
try
|
||||
{
|
||||
dev = new Device(devicePath);
|
||||
dev = new Devices.Device(devicePath);
|
||||
|
||||
if(dev.IsRemote)
|
||||
Statistics.AddRemote(dev.RemoteApplication, dev.RemoteVersion, dev.RemoteOperatingSystem,
|
||||
@@ -48,10 +48,9 @@ using DiscImageChef.Decoders.SCSI;
|
||||
using DiscImageChef.Devices;
|
||||
using Newtonsoft.Json;
|
||||
using Command = System.CommandLine.Command;
|
||||
using Device = DiscImageChef.Devices.Device;
|
||||
using DeviceReport = DiscImageChef.Core.Devices.Report.DeviceReport;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Device
|
||||
{
|
||||
internal class DeviceReportCommand : Command
|
||||
{
|
||||
@@ -88,11 +87,11 @@ namespace DiscImageChef.Commands
|
||||
char.IsLetter(devicePath[0]))
|
||||
devicePath = "\\\\.\\" + char.ToUpper(devicePath[0]) + ':';
|
||||
|
||||
Device dev;
|
||||
Devices.Device dev;
|
||||
|
||||
try
|
||||
{
|
||||
dev = new Device(devicePath);
|
||||
dev = new Devices.Device(devicePath);
|
||||
|
||||
if(dev.IsRemote)
|
||||
Statistics.AddRemote(dev.RemoteApplication, dev.RemoteVersion, dev.RemoteOperatingSystem,
|
||||
@@ -67,8 +67,9 @@ namespace DiscImageChef.Commands
|
||||
DicConsole.DebugWriteLine("List-Devices command", "--debug={0}", debug);
|
||||
DicConsole.DebugWriteLine("List-Devices command", "--verbose={0}", verbose);
|
||||
|
||||
DeviceInfo[] devices = Device.ListDevices(out bool isRemote, out string serverApplication,
|
||||
out string serverVersion, out string serverOperatingSystem,
|
||||
DeviceInfo[] devices = Devices.Device.ListDevices(out bool isRemote, out string serverApplication,
|
||||
out string serverVersion,
|
||||
out string serverOperatingSystem,
|
||||
out string serverOperatingSystemVersion,
|
||||
out string serverArchitecture, dicRemoteHost);
|
||||
|
||||
@@ -97,8 +97,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool debug, bool verbose, string encoding, bool xattrs, string imagePath, string @namespace,
|
||||
string outputDir, string options)
|
||||
public static int Invoke(bool debug, bool verbose, string encoding, bool xattrs, string imagePath,
|
||||
string @namespace, string outputDir, string options)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
49
DiscImageChef/Commands/Filesystem/FilesystemFamily.cs
Normal file
49
DiscImageChef/Commands/Filesystem/FilesystemFamily.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : FilesystemFamily.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : Verbs.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Implements the 'image' verb.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System.CommandLine;
|
||||
|
||||
namespace DiscImageChef.Commands.Filesystem
|
||||
{
|
||||
public class FilesystemFamily : Command
|
||||
{
|
||||
public FilesystemFamily() : base("filesystem", "Commands to manage filesystems")
|
||||
{
|
||||
AddAlias("fi");
|
||||
AddAlias("fs");
|
||||
|
||||
AddCommand(new ListOptionsCommand());
|
||||
AddCommand(new ExtractFilesCommand());
|
||||
AddCommand(new LsCommand());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ using DiscImageChef.CommonTypes.Interfaces;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class AnalyzeCommand : Command
|
||||
{
|
||||
@@ -80,7 +80,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(typeof(AnalyzeCommand).GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool verbose, bool debug, string encoding, bool filesystems, bool partitions, string imagePath)
|
||||
public static int Invoke(bool verbose, bool debug, string encoding, bool filesystems, bool partitions,
|
||||
string imagePath)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -42,7 +42,7 @@ using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
using Schemas;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class ChecksumCommand : Command
|
||||
{
|
||||
@@ -43,7 +43,7 @@ using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
using ImageInfo = DiscImageChef.CommonTypes.Structs.ImageInfo;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class CompareCommand : Command
|
||||
{
|
||||
@@ -48,7 +48,7 @@ using Schemas;
|
||||
using ImageInfo = DiscImageChef.CommonTypes.Structs.ImageInfo;
|
||||
using Version = DiscImageChef.CommonTypes.Interop.Version;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class ConvertImageCommand : Command
|
||||
{
|
||||
@@ -193,9 +193,9 @@ namespace DiscImageChef.Commands
|
||||
public static int Invoke(bool verbose, bool debug, string cicmXml, string comments, int count, string creator,
|
||||
string driveFirmwareRevision, string driveManufacturer, string driveModel,
|
||||
string driveSerialNumber, bool force, string inputPath, int lastMediaSequence,
|
||||
string mediaBarcode, string mediaManufacturer, string mediaModel, string mediaPartNumber,
|
||||
int mediaSequence, string mediaSerialNumber, string mediaTitle, string outputPath,
|
||||
string outputOptions, string resumeFile, string format)
|
||||
string mediaBarcode, string mediaManufacturer, string mediaModel,
|
||||
string mediaPartNumber, int mediaSequence, string mediaSerialNumber, string mediaTitle,
|
||||
string outputPath, string outputOptions, string resumeFile, string format)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -45,7 +45,7 @@ using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
using Schemas;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class CreateSidecarCommand : Command
|
||||
{
|
||||
@@ -85,7 +85,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool debug, bool verbose, uint blockSize, string encodingName, string imagePath, bool tape)
|
||||
public static int Invoke(bool debug, bool verbose, uint blockSize, string encodingName, string imagePath,
|
||||
bool tape)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -41,7 +41,7 @@ using DiscImageChef.Decoders.ATA;
|
||||
using DiscImageChef.Decoders.CD;
|
||||
using DiscImageChef.Decoders.SCSI;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class DecodeCommand : Command
|
||||
{
|
||||
@@ -87,8 +87,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool verbose, bool debug, bool diskTags, string imagePath, string length, bool sectorTags,
|
||||
ulong startSector)
|
||||
public static int Invoke(bool verbose, bool debug, bool diskTags, string imagePath, string length,
|
||||
bool sectorTags, ulong startSector)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes.Interfaces;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class EntropyCommand : Command
|
||||
{
|
||||
@@ -76,8 +76,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool debug, bool verbose, bool duplicatedSectors, string imagePath, bool separatedTracks,
|
||||
bool wholeDisc)
|
||||
public static int Invoke(bool debug, bool verbose, bool duplicatedSectors, string imagePath,
|
||||
bool separatedTracks, bool wholeDisc)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
55
DiscImageChef/Commands/Image/ImageFamily.cs
Normal file
55
DiscImageChef/Commands/Image/ImageFamily.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : ImageFamily.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : Verbs.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Implements the 'image' verb.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System.CommandLine;
|
||||
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
public class ImageFamily : Command
|
||||
{
|
||||
public ImageFamily() : base("image", "Commands to manage images")
|
||||
{
|
||||
AddAlias("i");
|
||||
|
||||
AddCommand(new AnalyzeCommand());
|
||||
AddCommand(new ChecksumCommand());
|
||||
AddCommand(new CompareCommand());
|
||||
AddCommand(new ConvertImageCommand());
|
||||
AddCommand(new CreateSidecarCommand());
|
||||
AddCommand(new DecodeCommand());
|
||||
AddCommand(new EntropyCommand());
|
||||
AddCommand(new ImageInfoCommand());
|
||||
AddCommand(new PrintHexCommand());
|
||||
AddCommand(new VerifyCommand());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes.Interfaces;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class ImageInfoCommand : Command
|
||||
{
|
||||
@@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes.Interfaces;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class PrintHexCommand : Command
|
||||
{
|
||||
@@ -84,8 +84,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool debug, bool verbose, string imagePath, ulong length, bool longSectors, ulong startSector,
|
||||
ushort widthBytes)
|
||||
public static int Invoke(bool debug, bool verbose, string imagePath, ulong length, bool longSectors,
|
||||
ulong startSector, ushort widthBytes)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -41,7 +41,7 @@ using DiscImageChef.CommonTypes.Structs;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
|
||||
namespace DiscImageChef.Commands
|
||||
namespace DiscImageChef.Commands.Image
|
||||
{
|
||||
internal class VerifyCommand : Command
|
||||
{
|
||||
@@ -71,7 +71,8 @@ namespace DiscImageChef.Commands
|
||||
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
|
||||
}
|
||||
|
||||
public static int Invoke(bool debug, bool verbose, string imagePath, bool verifyDisc = true, bool verifySectors = true)
|
||||
public static int Invoke(bool debug, bool verbose, string imagePath, bool verifyDisc = true,
|
||||
bool verifySectors = true)
|
||||
{
|
||||
MainClass.PrintCopyright();
|
||||
|
||||
@@ -275,11 +275,11 @@ namespace DiscImageChef.Commands
|
||||
char.IsLetter(devicePath[0]))
|
||||
devicePath = "\\\\.\\" + char.ToUpper(devicePath[0]) + ':';
|
||||
|
||||
Device dev;
|
||||
Devices.Device dev;
|
||||
|
||||
try
|
||||
{
|
||||
dev = new Device(devicePath);
|
||||
dev = new Devices.Device(devicePath);
|
||||
|
||||
if(dev.IsRemote)
|
||||
Statistics.AddRemote(dev.RemoteApplication, dev.RemoteVersion, dev.RemoteOperatingSystem,
|
||||
48
DiscImageChef/Commands/Media/MediaFamily.cs
Normal file
48
DiscImageChef/Commands/Media/MediaFamily.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : MediaFamily.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : Verbs.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Implements the 'media' verb.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System.CommandLine;
|
||||
|
||||
namespace DiscImageChef.Commands.Media
|
||||
{
|
||||
public class MediaFamily : Command
|
||||
{
|
||||
public MediaFamily() : base("media", "Commands to manage media inserted in devices")
|
||||
{
|
||||
AddAlias("m");
|
||||
|
||||
AddCommand(new DumpMediaCommand());
|
||||
AddCommand(new MediaInfoCommand());
|
||||
AddCommand(new MediaScanCommand());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,6 @@ using BCA = DiscImageChef.Decoders.Bluray.BCA;
|
||||
using Cartridge = DiscImageChef.Decoders.DVD.Cartridge;
|
||||
using Command = System.CommandLine.Command;
|
||||
using DDS = DiscImageChef.Decoders.DVD.DDS;
|
||||
using Device = DiscImageChef.Devices.Device;
|
||||
using DMI = DiscImageChef.Decoders.Xbox.DMI;
|
||||
using Session = DiscImageChef.Decoders.CD.Session;
|
||||
using Spare = DiscImageChef.Decoders.DVD.Spare;
|
||||
@@ -105,11 +104,11 @@ namespace DiscImageChef.Commands
|
||||
char.IsLetter(devicePath[0]))
|
||||
devicePath = "\\\\.\\" + char.ToUpper(devicePath[0]) + ':';
|
||||
|
||||
Device dev;
|
||||
Devices.Device dev;
|
||||
|
||||
try
|
||||
{
|
||||
dev = new Device(devicePath);
|
||||
dev = new Devices.Device(devicePath);
|
||||
|
||||
if(dev.IsRemote)
|
||||
Statistics.AddRemote(dev.RemoteApplication, dev.RemoteVersion, dev.RemoteOperatingSystem,
|
||||
@@ -159,12 +158,12 @@ namespace DiscImageChef.Commands
|
||||
|
||||
static void DoAtaMediaInfo() => DicConsole.ErrorWriteLine("Please use device-info command for ATA devices.");
|
||||
|
||||
static void DoNvmeMediaInfo(string outputPrefix, Device dev) =>
|
||||
static void DoNvmeMediaInfo(string outputPrefix, Devices.Device dev) =>
|
||||
throw new NotImplementedException("NVMe devices not yet supported.");
|
||||
|
||||
static void DoSdMediaInfo() => DicConsole.ErrorWriteLine("Please use device-info command for MMC/SD devices.");
|
||||
|
||||
static void DoScsiMediaInfo(bool debug, bool verbose, string outputPrefix, Device dev)
|
||||
static void DoScsiMediaInfo(bool debug, bool verbose, string outputPrefix, Devices.Device dev)
|
||||
{
|
||||
var scsiInfo = new ScsiInfo(dev);
|
||||
|
||||
@@ -92,11 +92,11 @@ namespace DiscImageChef.Commands
|
||||
char.IsLetter(devicePath[0]))
|
||||
devicePath = "\\\\.\\" + char.ToUpper(devicePath[0]) + ':';
|
||||
|
||||
Device dev;
|
||||
Devices.Device dev;
|
||||
|
||||
try
|
||||
{
|
||||
dev = new Device(devicePath);
|
||||
dev = new Devices.Device(devicePath);
|
||||
|
||||
if(dev.IsRemote)
|
||||
Statistics.AddRemote(dev.RemoteApplication, dev.RemoteVersion, dev.RemoteOperatingSystem,
|
||||
@@ -53,36 +53,41 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Commands\ConvertImage.cs" />
|
||||
<Compile Include="Commands\ImageInfo.cs" />
|
||||
<Compile Include="Commands\ListNamespaces.cs" />
|
||||
<Compile Include="Commands\ListOptions.cs" />
|
||||
<Compile Include="Commands\Remote.cs" />
|
||||
<Compile Include="Commands\Update.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="Commands\Database\DatabaseFamily.cs" />
|
||||
<Compile Include="Commands\Database\Statistics.cs" />
|
||||
<Compile Include="Commands\Database\Update.cs" />
|
||||
<Compile Include="Commands\Device\DeviceFamily.cs" />
|
||||
<Compile Include="Commands\Device\DeviceInfo.cs" />
|
||||
<Compile Include="Commands\Device\DeviceReport.cs" />
|
||||
<Compile Include="Commands\Device\ListDevices.cs" />
|
||||
<Compile Include="Commands\Filesystem\ExtractFiles.cs" />
|
||||
<Compile Include="Commands\Filesystem\FilesystemFamily.cs" />
|
||||
<Compile Include="Commands\Filesystem\ListOptions.cs" />
|
||||
<Compile Include="Commands\Filesystem\Ls.cs" />
|
||||
<Compile Include="Commands\Formats.cs" />
|
||||
<Compile Include="Commands\Analyze.cs" />
|
||||
<Compile Include="Commands\Compare.cs" />
|
||||
<Compile Include="Commands\Checksum.cs" />
|
||||
<Compile Include="Commands\Verify.cs" />
|
||||
<Compile Include="Commands\PrintHex.cs" />
|
||||
<Compile Include="Commands\Decode.cs" />
|
||||
<Compile Include="Commands\Entropy.cs" />
|
||||
<Compile Include="Commands\DeviceInfo.cs" />
|
||||
<Compile Include="Commands\MediaInfo.cs" />
|
||||
<Compile Include="Commands\Image\Analyze.cs" />
|
||||
<Compile Include="Commands\Image\Checksum.cs" />
|
||||
<Compile Include="Commands\Image\Compare.cs" />
|
||||
<Compile Include="Commands\Image\ConvertImage.cs" />
|
||||
<Compile Include="Commands\Image\CreateSidecar.cs" />
|
||||
<Compile Include="Commands\Image\Decode.cs" />
|
||||
<Compile Include="Commands\Image\Entropy.cs" />
|
||||
<Compile Include="Commands\Image\ImageFamily.cs" />
|
||||
<Compile Include="Commands\Image\ImageInfo.cs" />
|
||||
<Compile Include="Commands\Image\PrintHex.cs" />
|
||||
<Compile Include="Commands\Image\Verify.cs" />
|
||||
<Compile Include="Commands\ListNamespaces.cs" />
|
||||
<Compile Include="Commands\Media\DumpMedia.cs" />
|
||||
<Compile Include="Commands\Media\MediaFamily.cs" />
|
||||
<Compile Include="Commands\Media\MediaInfo.cs" />
|
||||
<Compile Include="Commands\Media\MediaScan.cs" />
|
||||
<Compile Include="Commands\Remote.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="Commands\Benchmark.cs">
|
||||
<Gettext-ScanForTranslations>False</Gettext-ScanForTranslations>
|
||||
</Compile>
|
||||
<Compile Include="Commands\CreateSidecar.cs" />
|
||||
<Compile Include="Commands\MediaScan.cs" />
|
||||
<Compile Include="Commands\DumpMedia.cs" />
|
||||
<Compile Include="Commands\DeviceReport.cs" />
|
||||
<Compile Include="Commands\Configure.cs" />
|
||||
<Compile Include="Commands\Statistics.cs" />
|
||||
<Compile Include="Commands\Ls.cs" />
|
||||
<Compile Include="Commands\ExtractFiles.cs" />
|
||||
<Compile Include="Progress.cs" />
|
||||
<Compile Include="Commands\ListDevices.cs" />
|
||||
<Compile Include="Commands\ListEncodings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -39,6 +39,10 @@ using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using DiscImageChef.Commands;
|
||||
using DiscImageChef.Commands.Device;
|
||||
using DiscImageChef.Commands.Filesystem;
|
||||
using DiscImageChef.Commands.Image;
|
||||
using DiscImageChef.Commands.Media;
|
||||
using DiscImageChef.Console;
|
||||
using DiscImageChef.Core;
|
||||
using DiscImageChef.Database;
|
||||
@@ -138,32 +142,17 @@ namespace DiscImageChef
|
||||
rootCommand.Description =
|
||||
$"{_assemblyTitle} {_assemblyVersion?.InformationalVersion}\n{_assemblyCopyright}";
|
||||
|
||||
rootCommand.AddCommand(new AnalyzeCommand());
|
||||
rootCommand.AddCommand(new DatabaseFamily(masterDbUpdate));
|
||||
rootCommand.AddCommand(new DeviceFamily());
|
||||
rootCommand.AddCommand(new FilesystemFamily());
|
||||
rootCommand.AddCommand(new ImageFamily());
|
||||
rootCommand.AddCommand(new MediaFamily());
|
||||
|
||||
rootCommand.AddCommand(new BenchmarkCommand());
|
||||
rootCommand.AddCommand(new ChecksumCommand());
|
||||
rootCommand.AddCommand(new CompareCommand());
|
||||
rootCommand.AddCommand(new ConfigureCommand(false, false));
|
||||
rootCommand.AddCommand(new ConvertImageCommand());
|
||||
rootCommand.AddCommand(new CreateSidecarCommand());
|
||||
rootCommand.AddCommand(new DecodeCommand());
|
||||
rootCommand.AddCommand(new DeviceInfoCommand());
|
||||
rootCommand.AddCommand(new DeviceReportCommand());
|
||||
rootCommand.AddCommand(new DumpMediaCommand());
|
||||
rootCommand.AddCommand(new EntropyCommand());
|
||||
rootCommand.AddCommand(new ExtractFilesCommand());
|
||||
rootCommand.AddCommand(new FormatsCommand());
|
||||
rootCommand.AddCommand(new ImageInfoCommand());
|
||||
rootCommand.AddCommand(new ListDevicesCommand());
|
||||
rootCommand.AddCommand(new ListEncodingsCommand());
|
||||
rootCommand.AddCommand(new ListNamespacesCommand());
|
||||
rootCommand.AddCommand(new ListOptionsCommand());
|
||||
rootCommand.AddCommand(new LsCommand());
|
||||
rootCommand.AddCommand(new MediaInfoCommand());
|
||||
rootCommand.AddCommand(new MediaScanCommand());
|
||||
rootCommand.AddCommand(new PrintHexCommand());
|
||||
rootCommand.AddCommand(new StatisticsCommand());
|
||||
rootCommand.AddCommand(new UpdateCommand(masterDbUpdate));
|
||||
rootCommand.AddCommand(new VerifyCommand());
|
||||
rootCommand.AddCommand(new RemoteCommand());
|
||||
|
||||
return rootCommand.Invoke(args);
|
||||
|
||||
Reference in New Issue
Block a user