Add support for choosing character encoding in appropiate command.

This commit is contained in:
2017-10-12 23:54:02 +01:00
parent 9cd9285276
commit 90a4a0b37d
72 changed files with 678 additions and 14 deletions

View File

@@ -37,6 +37,7 @@ using DiscImageChef.ImagePlugins;
using DiscImageChef.PartPlugins;
using DiscImageChef.Filesystems;
using DiscImageChef.Console;
using System.Text;
namespace DiscImageChef.Core
{
@@ -53,7 +54,7 @@ namespace DiscImageChef.Core
ImagePluginsList = new SortedDictionary<string, ImagePlugin>();
}
public void RegisterAllPlugins()
public void RegisterAllPlugins(Encoding encoding = null)
{
Assembly assembly;
@@ -101,7 +102,11 @@ namespace DiscImageChef.Core
{
if(type.IsSubclassOf(typeof(Filesystem)))
{
Filesystem plugin = (Filesystem)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
Filesystem plugin;
if(encoding != null)
plugin = (Filesystem)type.GetConstructor(new Type[] { encoding.GetType() }).Invoke(new object[] { encoding });
else
plugin = (Filesystem)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
RegisterPlugin(plugin);
}
}

View File

@@ -45,11 +45,11 @@ namespace DiscImageChef.Core
{
public static partial class Sidecar
{
public static CICMMetadataType Create(ImagePlugin image, string imagePath, System.Guid filterId)
public static CICMMetadataType Create(ImagePlugin image, string imagePath, System.Guid filterId, System.Text.Encoding encoding)
{
CICMMetadataType sidecar = new CICMMetadataType();
PluginBase plugins = new PluginBase();
plugins.RegisterAllPlugins();
plugins.RegisterAllPlugins(encoding);
FileInfo fi = new FileInfo(imagePath);
FileStream fs = new FileStream(imagePath, FileMode.Open, FileAccess.Read);

View File

@@ -50,6 +50,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("koi8-r");
}
public AODOS(Encoding encoding)
{
Name = "Alexander Osipov DOS file system";
PluginUUID = new Guid("668E5039-9DDD-442A-BE1B-A315D6E38E26");
CurrentEncoding = Encoding.GetEncoding("koi8-r");
}
public AODOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Alexander Osipov DOS file system";

View File

@@ -50,6 +50,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public APFS(Encoding encoding)
{
Name = "Apple File System";
PluginUUID = new Guid("A4060F9D-2909-42E2-9D95-DB31FA7EA797");
CurrentEncoding = Encoding.UTF8;
}
public APFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Apple File System";

View File

@@ -73,6 +73,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public AcornADFS(Encoding encoding)
{
Name = "Acorn Advanced Disc Filing System";
PluginUUID = new Guid("BAFC1E50-9C64-4CD3-8400-80628CC27AFA");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public AcornADFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Acorn Advanced Disc Filing System";

View File

@@ -48,6 +48,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public AmigaDOSPlugin(Encoding encoding)
{
Name = "Amiga DOS filesystem";
PluginUUID = new Guid("3c882400-208c-427d-a086-9119852a1bc7");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public AmigaDOSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Amiga DOS filesystem";

View File

@@ -80,6 +80,14 @@ namespace DiscImageChef.Filesystems.AppleDOS
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public AppleDOS(Encoding encoding)
{
Name = "Apple DOS File System";
PluginUUID = new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n");
// TODO: Until Apple ][ encoding is implemented
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public AppleDOS(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
device = imagePlugin;

View File

@@ -63,6 +63,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("macintosh");
}
public AppleHFS(Encoding encoding)
{
Name = "Apple Hierarchical File System";
PluginUUID = new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("macintosh");
else
CurrentEncoding = encoding;
}
public AppleHFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Apple Hierarchical File System";

View File

@@ -62,6 +62,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.BigEndianUnicode;
}
public AppleHFSPlus(Encoding encoding)
{
Name = "Apple HFS+ filesystem";
PluginUUID = new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08");
CurrentEncoding = Encoding.BigEndianUnicode;
}
public AppleHFSPlus(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Apple HFS+ filesystem";

View File

@@ -69,6 +69,16 @@ namespace DiscImageChef.Filesystems.AppleMFS
CurrentEncoding = Encoding.GetEncoding("macintosh");
}
public AppleMFS(Encoding encoding)
{
Name = "Apple Macintosh File System";
PluginUUID = new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("macintosh");
else
CurrentEncoding = encoding;
}
public AppleMFS(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Apple Macintosh File System";

View File

@@ -55,6 +55,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public AtheOS(Encoding encoding)
{
Name = "AtheOS Filesystem";
PluginUUID = new Guid("AAB2C4F1-DC07-49EE-A948-576CC51B58C5");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public AtheOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "AtheOS Filesystem";

View File

@@ -60,6 +60,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public BeFS(Encoding encoding)
{
Name = "Be Filesystem";
PluginUUID = new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public BeFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Be Filesystem";

View File

@@ -53,6 +53,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public BTRFS(Encoding encoding)
{
Name = "B-tree file system";
PluginUUID = new Guid("C904CF15-5222-446B-B7DB-02EAC5D781B3");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public BTRFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "B-tree file system";

View File

@@ -47,6 +47,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = new Claunia.Encoding.PETSCII();
}
public CBM(Encoding encoding)
{
Name = "Commodore file system";
PluginUUID = new Guid("D104744E-A376-450C-BAC0-1347C93F983B");
CurrentEncoding = new Claunia.Encoding.PETSCII();
}
public CBM(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Commodore file system";

View File

@@ -117,6 +117,16 @@ namespace DiscImageChef.Filesystems.CPM
CurrentEncoding = Encoding.GetEncoding("IBM437");
}
public CPM(Encoding encoding)
{
Name = "CP/M File System";
PluginUUID = new Guid("AA2B8585-41DF-4E3B-8A35-D1A935E2F8A1");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("IBM437");
else
CurrentEncoding = encoding;
}
public CPM(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
device = imagePlugin;

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public Cram(Encoding encoding)
{
Name = "Cram filesystem";
PluginUUID = new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public Cram(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Cram filesystem";

View File

@@ -34,7 +34,7 @@
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="Claunia.Encoding">
<HintPath>..\packages\Claunia.Encoding.1.1.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
<HintPath>..\packages\Claunia.Encoding.1.2.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

View File

@@ -49,6 +49,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public ECMA67(Encoding encoding)
{
Name = "ECMA-67";
PluginUUID = new Guid("62A2D44A-CBC1-4377-B4B6-28C5C92034A1");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public ECMA67(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "ECMA-67";

View File

@@ -101,6 +101,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public EFS(Encoding encoding)
{
Name = "Extent File System Plugin";
PluginUUID = new Guid("52A43F90-9AF3-4391-ADFE-65598DEEABAB");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public EFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Extent File System Plugin";

View File

@@ -116,6 +116,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.Unicode;
}
public F2FS(Encoding encoding)
{
Name = "F2FS Plugin";
PluginUUID = new Guid("82B0920F-5F0D-4063-9F57-ADE0AE02ECE5");
CurrentEncoding = Encoding.Unicode;
}
public F2FS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "F2FS Plugin";

View File

@@ -51,6 +51,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("IBM437");
}
public FAT(Encoding encoding)
{
Name = "Microsoft File Allocation Table";
PluginUUID = new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("IBM437");
else
CurrentEncoding = encoding;
}
public FAT(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Microsoft File Allocation Table";

View File

@@ -58,6 +58,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public FATX(Encoding encoding)
{
Name = "FATX Filesystem Plugin";
PluginUUID = new Guid("ED27A721-4A17-4649-89FD-33633B46E228");
CurrentEncoding = Encoding.UTF8;
}
public FATX(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "FATX Filesystem Plugin";

View File

@@ -51,6 +51,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public FFSPlugin(Encoding encoding)
{
Name = "BSD Fast File System (aka UNIX File System, UFS)";
PluginUUID = new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public FFSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "BSD Fast File System (aka UNIX File System, UFS)";

View File

@@ -65,6 +65,11 @@ namespace DiscImageChef.Filesystems
{
}
// TODO: Call other constructors
protected Filesystem(Encoding encoding)
{
}
/// <summary>
/// Initializes a filesystem instance prepared for reading contents
/// </summary>

View File

@@ -133,6 +133,14 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public Fossil(Encoding encoding)
{
Name = "Fossil Filesystem Plugin";
PluginUUID = new Guid("932BF104-43F6-494F-973C-45EF58A51DA9");
// Technically everything on Plan 9 from Bell Labs is in UTF-8
CurrentEncoding = Encoding.UTF8;
}
public Fossil(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Fossil Filesystem Plugin";

View File

@@ -55,6 +55,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public HAMMER(Encoding encoding)
{
Name = "HAMMER Filesystem";
PluginUUID = new Guid("91A188BF-5FD7-4677-BBD3-F59EBA9C864D");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public HAMMER(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "HAMMER Filesystem";

View File

@@ -49,6 +49,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("ibm850");
}
public HPFS(Encoding encoding)
{
Name = "OS/2 High Performance File System";
PluginUUID = new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("ibm850");
else
CurrentEncoding = encoding;
}
public HPFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "OS/2 High Performance File System";

View File

@@ -45,12 +45,24 @@ namespace DiscImageChef.Filesystems.ISO9660
CurrentEncoding = Encoding.ASCII;
}
public ISO9660(Encoding encoding)
{
Name = "ISO9660 Filesystem";
PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
if(encoding == null)
CurrentEncoding = Encoding.ASCII;
else
CurrentEncoding = encoding;
}
public ISO9660(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "ISO9660 Filesystem";
PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
if(encoding == null)
CurrentEncoding = Encoding.ASCII;
else
CurrentEncoding = encoding;
}
}
}

View File

@@ -141,6 +141,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public JFS(Encoding encoding)
{
Name = "JFS Plugin";
PluginUUID = new Guid("D3BE2A41-8F28-4055-94DC-BB6C72A0E9C4");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public JFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "JFS Plugin";

View File

@@ -70,6 +70,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public LIF(Encoding encoding)
{
Name = "HP Logical Interchange Format Plugin";
PluginUUID = new Guid("41535647-77A5-477B-9206-DA727ACDC704");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public LIF(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "HP Logical Interchange Format Plugin";

View File

@@ -75,6 +75,13 @@ namespace DiscImageChef.Filesystems.LisaFS
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public LisaFS(Encoding encoding)
{
Name = "Apple Lisa File System";
PluginUUID = new Guid("7E6034D1-D823-4248-A54D-239742B28391");
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public LisaFS(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
device = imagePlugin;

View File

@@ -203,6 +203,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public Locus(Encoding encoding)
{
Name = "Locus Filesystem Plugin";
PluginUUID = new Guid("1A70B30A-437D-479A-88E1-D0C9C1797FF4");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public Locus(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Locus Filesystem Plugin";

View File

@@ -52,6 +52,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("koi8-r");
}
public MicroDOS(Encoding encoding)
{
Name = "MicroDOS file system";
PluginUUID = new Guid("9F9A364A-1A27-48A3-B730-7A7122000324");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("koi8-r");
else
CurrentEncoding = encoding;
}
public MicroDOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "MicroDOS file system";

View File

@@ -70,6 +70,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public MinixFS(Encoding encoding)
{
Name = "Minix Filesystem";
PluginUUID = new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public MinixFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Minix Filesystem";

View File

@@ -104,6 +104,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public NILFS2(Encoding encoding)
{
Name = "NILFS2 Plugin";
PluginUUID = new Guid("35224226-C5CC-48B5-8FFD-3781E91E86B6");
if(encoding == null)
CurrentEncoding = Encoding.UTF8;
else
CurrentEncoding = encoding;
}
public NILFS2(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "NILFS2 Plugin";

View File

@@ -49,6 +49,13 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.Unicode;
}
public NTFS(Encoding encoding)
{
Name = "New Technology File System (NTFS)";
PluginUUID = new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871");
CurrentEncoding = Encoding.Unicode;
}
public NTFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "New Technology File System (NTFS)";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("shift_jis");
}
public NintendoPlugin(Encoding encoding)
{
Name = "Nintendo optical filesystems";
PluginUUID = new Guid("4675fcb4-4418-4288-9e4a-33d6a4ac1126");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("shift_jis");
else
CurrentEncoding = encoding;
}
public NintendoPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Nintendo optical filesystems";

View File

@@ -57,6 +57,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public ODS(Encoding encoding)
{
Name = "Files-11 On-Disk Structure";
PluginUUID = new Guid("de20633c-8021-4384-aeb0-83b0df14491f");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public ODS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Files-11 On-Disk Structure";

View File

@@ -47,6 +47,14 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.ASCII;
}
public OperaFS(Encoding encoding)
{
Name = "Opera Filesystem Plugin";
PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd");
// TODO: Find correct default encoding
CurrentEncoding = Encoding.ASCII;
}
public OperaFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Opera Filesystem Plugin";

View File

@@ -46,6 +46,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("shift_jis");
}
public PCEnginePlugin(Encoding encoding)
{
Name = "PC Engine CD Plugin";
PluginUUID = new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("shift_jis");
else
CurrentEncoding = encoding;
}
public PCEnginePlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "PC Engine CD Plugin";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public PFS(Encoding encoding)
{
Name = "Professional File System";
PluginUUID = new Guid("68DE769E-D957-406A-8AE4-3781CA8CDA77");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public PFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Professional File System";

View File

@@ -86,6 +86,14 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public ProDOSPlugin(Encoding encoding)
{
Name = "Apple ProDOS filesystem";
PluginUUID = new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF");
// TODO: Until Apple ][ encoding is implemented
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public ProDOSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Apple ProDOS filesystem";

View File

@@ -115,6 +115,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public QNX4(Encoding encoding)
{
Name = "QNX4 Plugin";
PluginUUID = new Guid("E73A63FA-B5B0-48BF-BF82-DA5F0A8170D2");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public QNX4(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "QNX4 Plugin";

View File

@@ -110,6 +110,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public QNX6(Encoding encoding)
{
Name = "QNX6 Plugin";
PluginUUID = new Guid("3E610EA2-4D08-4D70-8947-830CD4C74FC0");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public QNX6(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "QNX6 Plugin";

View File

@@ -165,6 +165,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public RBF(Encoding encoding)
{
Name = "OS-9 Random Block File Plugin";
PluginUUID = new Guid("E864E45B-0B52-4D29-A858-7BDFA9199FB2");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public RBF(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "OS-9 Random Block File Plugin";

View File

@@ -49,6 +49,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public RT11(Encoding encoding)
{
Name = "RT-11 file system";
PluginUUID = new Guid("DB3E2F98-8F98-463C-8126-E937843DA024");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public RT11(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "RT-11 file system";

View File

@@ -98,6 +98,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public Reiser(Encoding encoding)
{
Name = "Reiser Filesystem Plugin";
PluginUUID = new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public Reiser(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Reiser Filesystem Plugin";

View File

@@ -63,6 +63,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public Reiser4(Encoding encoding)
{
Name = "Reiser4 Filesystem Plugin";
PluginUUID = new Guid("301F2D00-E8D5-4F04-934E-81DFB21D15BA");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public Reiser4(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Reiser4 Filesystem Plugin";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
}
public SFS(Encoding encoding)
{
Name = "SmartFileSystem";
PluginUUID = new Guid("26550C19-3671-4A2D-BC2F-F20CEB7F48DC");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-1");
else
CurrentEncoding = encoding;
}
public SFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "SmartFileSystem";

View File

@@ -48,6 +48,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public SolarFS(Encoding encoding)
{
Name = "Solar_OS filesystem";
PluginUUID = new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public SolarFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Solar_OS filesystem";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public Squash(Encoding encoding)
{
Name = "Squash filesystem";
PluginUUID = new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09");
if(encoding == null)
CurrentEncoding = Encoding.UTF8;
else
CurrentEncoding = encoding;
}
public Squash(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Squash filesystem";

View File

@@ -66,6 +66,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public SysVfs(Encoding encoding)
{
Name = "UNIX System V filesystem";
PluginUUID = new Guid("9B8D016A-8561-400E-A12A-A198283C211D");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public SysVfs(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "UNIX System V filesystem";

View File

@@ -57,6 +57,14 @@ namespace DiscImageChef.Filesystems.UCSDPascal
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public PascalPlugin(Encoding encoding)
{
Name = "U.C.S.D. Pascal filesystem";
PluginUUID = new Guid("B0AC2CB5-72AA-473A-9200-270B5A2C2D53");
// TODO: Until Apple ][ encoding is implemented
CurrentEncoding = new Claunia.Encoding.LisaRoman();
}
public PascalPlugin(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
device = imagePlugin;

View File

@@ -51,6 +51,14 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public UDF(Encoding encoding)
{
Name = "Universal Disk Format";
PluginUUID = new Guid("83976FEC-A91B-464B-9293-56C719461BAB");
// UDF is always UTF-8
CurrentEncoding = Encoding.UTF8;
}
public UDF(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Universal Disk Format";

View File

@@ -142,6 +142,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public UNICOS(Encoding encoding)
{
Name = "UNICOS Filesystem Plugin";
PluginUUID = new Guid("61712F04-066C-44D5-A2A0-1E44C66B33F0");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public UNICOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "UNICOS Filesystem Plugin";

View File

@@ -50,6 +50,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public BFS(Encoding encoding)
{
Name = "UNIX Boot filesystem";
PluginUUID = new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public BFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "UNIX Boot filesystem";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public VMfs(Encoding encoding)
{
Name = "VMware filesystem";
PluginUUID = new Guid("EE52BDB8-B49C-4122-A3DA-AD21CBE79843");
if(encoding == null)
CurrentEncoding = Encoding.UTF8;
else
CurrentEncoding = encoding;
}
public VMfs(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "VMware filesystem";

View File

@@ -47,6 +47,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public VxFS(Encoding encoding)
{
Name = "Veritas filesystem";
PluginUUID = new Guid("EC372605-7687-453C-8BEA-7E0DFF79CB03");
if(encoding == null)
CurrentEncoding = Encoding.UTF8;
else
CurrentEncoding = encoding;
}
public VxFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Veritas filesystem";

View File

@@ -112,6 +112,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public XFS(Encoding encoding)
{
Name = "XFS Filesystem Plugin";
PluginUUID = new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public XFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "XFS Filesystem Plugin";

View File

@@ -233,6 +233,14 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.UTF8;
}
public ZFS(Encoding encoding)
{
Name = "ZFS Filesystem Plugin";
PluginUUID = new Guid("0750014F-A714-4692-A369-E23F6EC3659C");
// ZFS is always UTF-8
CurrentEncoding = Encoding.UTF8;
}
public ZFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "ZFS Filesystem Plugin";

View File

@@ -217,6 +217,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public dump(Encoding encoding)
{
Name = "dump(8) Plugin";
PluginUUID = new Guid("E53B4D28-C858-4800-B092-DDAE80D361B9");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public dump(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "dump(8) Plugin";

View File

@@ -50,6 +50,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public exFAT(Encoding encoding)
{
Name = "Microsoft Extended File Allocation Table";
PluginUUID = new Guid("8271D088-1533-4CB3-AC28-D802B68BB95C");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public exFAT(ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Microsoft Extended File Allocation Table";

View File

@@ -50,6 +50,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public ext2FS(Encoding encoding)
{
Name = "Linux extended Filesystem 2, 3 and 4";
PluginUUID = new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public ext2FS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Linux extended Filesystem 2, 3 and 4";

View File

@@ -49,6 +49,16 @@ namespace DiscImageChef.Filesystems
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
}
public extFS(Encoding encoding)
{
Name = "Linux extended Filesystem";
PluginUUID = new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2");
if(encoding == null)
CurrentEncoding = Encoding.GetEncoding("iso-8859-15");
else
CurrentEncoding = encoding;
}
public extFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding)
{
Name = "Linux extended Filesystem";

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Claunia.Encoding" version="1.1.0" targetFramework="net40" />
<package id="Claunia.Encoding" version="1.2.0" targetFramework="net40" />
</packages>

View File

@@ -39,6 +39,7 @@ using DiscImageChef.Filesystems;
using DiscImageChef.Filters;
using DiscImageChef.ImagePlugins;
using DiscImageChef.PartPlugins;
using System.Text;
namespace DiscImageChef.Commands
{
@@ -61,8 +62,26 @@ namespace DiscImageChef.Commands
return;
}
Encoding encoding = null;
if(options.EncodingName != null)
{
try
{
encoding = Claunia.Encoding.Encoding.GetEncoding(options.EncodingName);
if(options.Verbose)
DicConsole.VerboseWriteLine("Using encoding for {0}.", encoding.EncodingName);
}
catch(ArgumentException)
{
DicConsole.ErrorWriteLine("Specified encoding is not supported.");
encoding = null;
return;
}
}
PluginBase plugins = new PluginBase();
plugins.RegisterAllPlugins();
plugins.RegisterAllPlugins(encoding);
List<string> id_plugins;
Filesystem _plugin;

View File

@@ -33,6 +33,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using DiscImageChef.Console;
using DiscImageChef.Core;
using DiscImageChef.Filters;
@@ -53,6 +54,25 @@ namespace DiscImageChef.Commands
Sidecar.EndProgressEvent2 += Progress.EndProgress2;
Sidecar.UpdateStatusEvent += Progress.UpdateStatus;
Encoding encoding = null;
if(options.EncodingName != null)
{
try
{
encoding = Claunia.Encoding.Encoding.GetEncoding(options.EncodingName);
if(options.Verbose)
DicConsole.VerboseWriteLine("Using encoding for {0}.", encoding.EncodingName);
}
catch(ArgumentException)
{
DicConsole.ErrorWriteLine("Specified encoding is not supported.");
encoding = null;
return;
}
}
if(File.Exists(options.InputFile))
{
if(options.Tape)
@@ -110,7 +130,7 @@ namespace DiscImageChef.Commands
Core.Statistics.AddMediaFormat(_imageFormat.GetImageFormat());
Core.Statistics.AddFilter(inputFilter.Name);
CICMMetadataType sidecar = Sidecar.Create(_imageFormat, options.InputFile, inputFilter.UUID);
CICMMetadataType sidecar = Sidecar.Create(_imageFormat, options.InputFile, inputFilter.UUID, encoding);
DicConsole.WriteLine("Writing metadata sidecar");

View File

@@ -40,6 +40,7 @@ using System.IO;
using DiscImageChef.Filters;
using DiscImageChef.Core;
using DiscImageChef.CommonTypes;
using System.Text;
namespace DiscImageChef.Commands
{
@@ -62,8 +63,26 @@ namespace DiscImageChef.Commands
return;
}
Encoding encoding = null;
if(options.EncodingName != null)
{
try
{
encoding = Claunia.Encoding.Encoding.GetEncoding(options.EncodingName);
if(options.Verbose)
DicConsole.VerboseWriteLine("Using encoding for {0}.", encoding.EncodingName);
}
catch(ArgumentException)
{
DicConsole.ErrorWriteLine("Specified encoding is not supported.");
encoding = null;
return;
}
}
PluginBase plugins = new PluginBase();
plugins.RegisterAllPlugins();
plugins.RegisterAllPlugins(encoding);
List<string> id_plugins;
Filesystem _plugin;

View File

@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using DiscImageChef.CommonTypes;
using DiscImageChef.Console;
using DiscImageChef.Core;
@@ -58,9 +59,27 @@ namespace DiscImageChef.Commands
DicConsole.ErrorWriteLine("Cannot open specified file.");
return;
}
Encoding encoding = null;
if(options.EncodingName != null)
{
try
{
encoding = Claunia.Encoding.Encoding.GetEncoding(options.EncodingName);
if(options.Verbose)
DicConsole.VerboseWriteLine("Using encoding for {0}.", encoding.EncodingName);
}
catch(ArgumentException)
{
DicConsole.ErrorWriteLine("Specified encoding is not supported.");
encoding = null;
return;
}
}
PluginBase plugins = new PluginBase();
plugins.RegisterAllPlugins();
plugins.RegisterAllPlugins(encoding);
List<string> id_plugins;
Filesystem _plugin;

View File

@@ -41,7 +41,7 @@
</Reference>
<Reference Include="System.Xml" />
<Reference Include="Claunia.Encoding">
<HintPath>..\packages\Claunia.Encoding.1.1.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
<HintPath>..\packages\Claunia.Encoding.1.2.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@@ -147,7 +147,7 @@
</NameConventionPolicy>
<StandardHeader IncludeInNewFiles="True" Text="/***************************************************************************&#xA;The Disc Image Chef&#xA;----------------------------------------------------------------------------&#xA; &#xA;Filename : ${FileName}&#xA;Author(s) : ${AuthorName} &lt;${AuthorEmail}&gt;&#xA;&#xA;Component : Component&#xA; &#xA;--[ Description ] ----------------------------------------------------------&#xA; &#xA; Description&#xA; &#xA;--[ License ] --------------------------------------------------------------&#xA; &#xA; This program is free software: you can redistribute it and/or modify&#xA; it under the terms of the GNU General Public License as&#xA; published by the Free Software Foundation, either version 3 of the&#xA; License, or (at your option) any later version.&#xA;&#xA; This program is distributed in the hope that it will be useful,&#xA; but WITHOUT ANY WARRANTY; without even the implied warranty of&#xA; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#xA; GNU General Public License for more details.&#xA;&#xA; You should have received a copy of the GNU General Public License&#xA; along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.&#xA;&#xA;----------------------------------------------------------------------------&#xA;Copyright © 2011-${Year} ${CopyrightHolder}&#xA;****************************************************************************/" />
<TextStylePolicy FileWidth="120" TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" TabsToSpaces="True" scope="text/x-csharp" />
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="True" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLineForMembersInObjectInit="True" NewLineForMembersInAnonymousTypes="True" NewLineForClausesInQuery="True" SpacingAfterMethodDeclarationName="False" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="False" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceAfterControlFlowStatementKeyword="False" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="False" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" PlaceSystemDirectiveFirst="True" NewLinesForBracesInProperties="True" NewLinesForBracesInAccessors="True" NewLinesForBracesInAnonymousMethods="True" NewLinesForBracesInControlBlocks="True" NewLinesForBracesInAnonymousTypes="True" NewLinesForBracesInObjectCollectionArrayInitializers="True" NewLinesForBracesInLambdaExpressionBody="True" NewLineForElse="True" NewLineForCatch="True" NewLineForFinally="True" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" scope="text/x-csharp" />
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="True" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLinesForBracesInProperties="True" NewLinesForBracesInAccessors="True" NewLinesForBracesInAnonymousMethods="True" NewLinesForBracesInControlBlocks="True" NewLinesForBracesInAnonymousTypes="True" NewLinesForBracesInObjectCollectionArrayInitializers="True" NewLinesForBracesInLambdaExpressionBody="True" NewLineForElse="True" NewLineForCatch="True" NewLineForFinally="True" NewLineForMembersInObjectInit="True" NewLineForMembersInAnonymousTypes="True" NewLineForClausesInQuery="True" SpacingAfterMethodDeclarationName="False" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="False" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceAfterControlFlowStatementKeyword="False" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="False" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" PlaceSystemDirectiveFirst="True" scope="text/x-csharp" />
</Policies>
</Properties>
</MonoDevelop>

View File

@@ -56,6 +56,9 @@ namespace DiscImageChef
[Option('i', "input", Required = true, HelpText = "Disc image.")]
public string InputFile { get; set; }
[Option('e', "encoding", Default = null, HelpText = "Name of character encoding to use.")]
public string EncodingName { get; set; }
}
[Verb("compare", HelpText = "Compares two disc images.")]
@@ -272,8 +275,12 @@ namespace DiscImageChef
public bool Tape { get; set; }
[Option('b', "block-size", Required = false, Default = 512, HelpText = "Only used for tapes, indicates block size. Files in the folder whose size is not a multiple of this value will simply be ignored.")]
public int BlockSize { get; set; }
[Option('e', "encoding", Default = null, HelpText = "Name of character encoding to use.")]
public string EncodingName { get; set; }
}
// TODO: Add encoding
[Verb("dump-media", HelpText = "Dumps the media inserted on a device to a media image.")]
public class DumpMediaOptions : CommonOptions
{
@@ -337,6 +344,9 @@ namespace DiscImageChef
[Option('l', "long", Default = false, HelpText = "Uses long format.")]
public bool Long { get; set; }
[Option('e', "encoding", Default = null, HelpText = "Name of character encoding to use.")]
public string EncodingName { get; set; }
}
[Verb("extract-files", HelpText = "Extracts all files in disc image.")]
@@ -350,6 +360,9 @@ namespace DiscImageChef
[Option('x', "xattrs", Default = false, HelpText = "Extract extended attributes if present.")]
public bool Xattrs { get; set; }
[Option('e', "encoding", Default = null, HelpText = "Name of character encoding to use.")]
public string EncodingName { get; set; }
}
[Verb("list-devices", HelpText = "Lists all connected devices.")]

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Claunia.Encoding" version="1.1.0" targetFramework="net40" />
<package id="Claunia.Encoding" version="1.2.0" targetFramework="net40" />
<package id="CommandLineParser" version="2.1.1-beta" targetFramework="net40" />
</packages>