🎨Separate read-only filesystems from identify-only filesystem interfaces.

This commit is contained in:
2017-12-26 07:23:09 +00:00
parent 3bbb645556
commit 6aee3c9cb1
74 changed files with 206 additions and 3407 deletions

View File

@@ -506,6 +506,7 @@
<e p="HAMMER.cs" t="Include" /> <e p="HAMMER.cs" t="Include" />
<e p="HPFS.cs" t="Include" /> <e p="HPFS.cs" t="Include" />
<e p="IFilesystem.cs" t="Include" /> <e p="IFilesystem.cs" t="Include" />
<e p="IReadOnlyFilesystem.cs" t="Include" />
<e p="ISO9660" t="Include"> <e p="ISO9660" t="Include">
<e p="Consts" t="Include"> <e p="Consts" t="Include">
<e p="AAIP.cs" t="Include" /> <e p="AAIP.cs" t="Include" />
@@ -520,9 +521,6 @@
<e p="XA.cs" t="Include" /> <e p="XA.cs" t="Include" />
<e p="Ziso.cs" t="Include" /> <e p="Ziso.cs" t="Include" />
</e> </e>
<e p="Dir.cs" t="Include" />
<e p="Extent.cs" t="Include" />
<e p="File.cs" t="Include" />
<e p="ISO9660.cs" t="Include" /> <e p="ISO9660.cs" t="Include" />
<e p="Info.cs" t="Include" /> <e p="Info.cs" t="Include" />
<e p="Structs" t="Include"> <e p="Structs" t="Include">
@@ -539,8 +537,6 @@
<e p="XA.cs" t="Include" /> <e p="XA.cs" t="Include" />
<e p="Ziso.cs" t="Include" /> <e p="Ziso.cs" t="Include" />
</e> </e>
<e p="Super.cs" t="Include" />
<e p="Xattr.cs" t="Include" />
</e> </e>
<e p="JFS.cs" t="Include" /> <e p="JFS.cs" t="Include" />
<e p="LIF.cs" t="Include" /> <e p="LIF.cs" t="Include" />

View File

@@ -59,6 +59,10 @@ namespace DiscImageChef.Core
/// List of all filesystem plugins /// List of all filesystem plugins
/// </summary> /// </summary>
public readonly SortedDictionary<string, IFilesystem> PluginsList; public readonly SortedDictionary<string, IFilesystem> PluginsList;
/// <summary>
/// List of all filesystem plugins
/// </summary>
public readonly SortedDictionary<string, IReadOnlyFilesystem> ReadOnlyFilesystems;
/// <summary> /// <summary>
/// Initializes the plugins lists /// Initializes the plugins lists
@@ -66,12 +70,13 @@ namespace DiscImageChef.Core
public PluginBase() public PluginBase()
{ {
PluginsList = new SortedDictionary<string, IFilesystem>(); PluginsList = new SortedDictionary<string, IFilesystem>();
ReadOnlyFilesystems = new SortedDictionary<string, IReadOnlyFilesystem>();
PartPluginsList = new SortedDictionary<string, IPartition>(); PartPluginsList = new SortedDictionary<string, IPartition>();
ImagePluginsList = new SortedDictionary<string, IMediaImage>(); ImagePluginsList = new SortedDictionary<string, IMediaImage>();
Assembly assembly = Assembly.GetAssembly(typeof(IMediaImage)); Assembly assembly = Assembly.GetAssembly(typeof(IMediaImage));
foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IMediaImage)))) foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IMediaImage))).Where(t=>t.IsClass))
try try
{ {
IMediaImage plugin = (IMediaImage)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); IMediaImage plugin = (IMediaImage)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
@@ -81,7 +86,7 @@ namespace DiscImageChef.Core
assembly = Assembly.GetAssembly(typeof(IPartition)); assembly = Assembly.GetAssembly(typeof(IPartition));
foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IPartition)))) foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IPartition))).Where(t=>t.IsClass))
try try
{ {
IPartition plugin = IPartition plugin =
@@ -92,13 +97,24 @@ namespace DiscImageChef.Core
assembly = Assembly.GetAssembly(typeof(IFilesystem)); assembly = Assembly.GetAssembly(typeof(IFilesystem));
foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IFilesystem)))) foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IFilesystem))).Where(t=>t.IsClass))
try try
{ {
IFilesystem plugin = (IFilesystem)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); IFilesystem plugin = (IFilesystem)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
RegisterPlugin(plugin); RegisterPlugin(plugin);
} }
catch(Exception exception) { DicConsole.ErrorWriteLine("Exception {0}", exception); } catch(Exception exception) { DicConsole.ErrorWriteLine("Exception {0}", exception); }
assembly = Assembly.GetAssembly(typeof(IReadOnlyFilesystem));
foreach(Type type in assembly.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IReadOnlyFilesystem))).Where(t=>t.IsClass))
try
{
IReadOnlyFilesystem plugin = (IReadOnlyFilesystem)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
RegisterReadOnlyFilesystem(plugin);
}
catch(Exception exception) { DicConsole.ErrorWriteLine("Exception {0}", exception); }
} }
void RegisterImagePlugin(IMediaImage plugin) void RegisterImagePlugin(IMediaImage plugin)
@@ -112,6 +128,11 @@ namespace DiscImageChef.Core
if(!PluginsList.ContainsKey(plugin.Name.ToLower())) PluginsList.Add(plugin.Name.ToLower(), plugin); if(!PluginsList.ContainsKey(plugin.Name.ToLower())) PluginsList.Add(plugin.Name.ToLower(), plugin);
} }
void RegisterReadOnlyFilesystem(IReadOnlyFilesystem plugin)
{
if(!ReadOnlyFilesystems.ContainsKey(plugin.Name.ToLower())) ReadOnlyFilesystems.Add(plugin.Name.ToLower(), plugin);
}
void RegisterPartPlugin(IPartition partplugin) void RegisterPartPlugin(IPartition partplugin)
{ {
if(!PartPluginsList.ContainsKey(partplugin.Name.ToLower())) if(!PartPluginsList.ContainsKey(partplugin.Name.ToLower()))

View File

@@ -109,61 +109,6 @@ namespace DiscImageChef.Filesystems
information = sbInformation.ToString(); information = sbInformation.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct AODOS_BootBlock struct AODOS_BootBlock
{ {

View File

@@ -112,61 +112,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ApfsContainerSuperBlock struct ApfsContainerSuperBlock
{ {

View File

@@ -501,61 +501,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.Type = "Acorn Advanced Disc Filing System"; xmlFsType.Type = "Acorn Advanced Disc Filing System";
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
byte AcornMapChecksum(byte[] data, int length) byte AcornMapChecksum(byte[] data, int length)
{ {
int sum = 0; int sum = 0;

View File

@@ -371,61 +371,6 @@ namespace DiscImageChef.Filesystems
return ~sum; return ~sum;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Boot block, first 2 sectors /// Boot block, first 2 sectors
/// </summary> /// </summary>

View File

@@ -40,7 +40,7 @@ using Encoding = System.Text.Encoding;
namespace DiscImageChef.Filesystems.AppleDOS namespace DiscImageChef.Filesystems.AppleDOS
{ {
public partial class AppleDOS : IFilesystem public partial class AppleDOS : IReadOnlyFilesystem
{ {
IMediaImage device; IMediaImage device;
Encoding currentEncoding; Encoding currentEncoding;

View File

@@ -300,61 +300,6 @@ namespace DiscImageChef.Filesystems
return sector; return sector;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Master Directory Block, should be sector 2 in volume /// Master Directory Block, should be sector 2 in volume
/// </summary> /// </summary>

View File

@@ -260,61 +260,6 @@ namespace DiscImageChef.Filesystems
else return; else return;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// HFS+ Volume Header, should be at offset 0x0400 bytes in volume with a size of 532 bytes /// HFS+ Volume Header, should be at offset 0x0400 bytes in volume with a size of 532 bytes
/// </summary> /// </summary>

View File

@@ -40,7 +40,7 @@ using Schemas;
namespace DiscImageChef.Filesystems.AppleMFS namespace DiscImageChef.Filesystems.AppleMFS
{ {
// Information from Inside Macintosh Volume II // Information from Inside Macintosh Volume II
public partial class AppleMFS : IFilesystem public partial class AppleMFS : IReadOnlyFilesystem
{ {
bool mounted; bool mounted;
bool debug; bool debug;

View File

@@ -151,61 +151,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Be superblock /// Be superblock
/// </summary> /// </summary>

View File

@@ -208,61 +208,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Be superblock /// Be superblock
/// </summary> /// </summary>

View File

@@ -184,61 +184,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.FreeClusters = xmlFsType.Clusters - (long)(btrfsSb.bytes_used / btrfsSb.sectorsize); xmlFsType.FreeClusters = xmlFsType.Clusters - (long)(btrfsSb.bytes_used / btrfsSb.sectorsize);
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct SuperBlock struct SuperBlock
{ {

View File

@@ -159,61 +159,6 @@ namespace DiscImageChef.Filesystems
information = sbInformation.ToString(); information = sbInformation.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct CommodoreBAM struct CommodoreBAM
{ {

View File

@@ -39,7 +39,7 @@ using Schemas;
namespace DiscImageChef.Filesystems.CPM namespace DiscImageChef.Filesystems.CPM
{ {
partial class CPM : IFilesystem partial class CPM : IReadOnlyFilesystem
{ {
/// <summary> /// <summary>
/// True if <see cref="Identify" /> thinks this is a CP/M filesystem /// True if <see cref="Identify" /> thinks this is a CP/M filesystem

View File

@@ -114,61 +114,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
enum CramCompression : ushort enum CramCompression : ushort
{ {
Zlib = 1, Zlib = 1,

View File

@@ -38,6 +38,7 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="IReadOnlyFilesystem.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="AmigaDOS.cs" /> <Compile Include="AmigaDOS.cs" />
<Compile Include="AppleHFS.cs" /> <Compile Include="AppleHFS.cs" />
@@ -137,13 +138,8 @@
<Compile Include="Locus.cs" /> <Compile Include="Locus.cs" />
<Compile Include="dump.cs" /> <Compile Include="dump.cs" />
<Compile Include="MicroDOS.cs" /> <Compile Include="MicroDOS.cs" />
<Compile Include="ISO9660\Dir.cs" />
<Compile Include="ISO9660\File.cs" />
<Compile Include="ISO9660\Info.cs" /> <Compile Include="ISO9660\Info.cs" />
<Compile Include="ISO9660\ISO9660.cs" /> <Compile Include="ISO9660\ISO9660.cs" />
<Compile Include="ISO9660\Xattr.cs" />
<Compile Include="ISO9660\Extent.cs" />
<Compile Include="ISO9660\Super.cs" />
<Compile Include="ISO9660\Structs\ISO.cs" /> <Compile Include="ISO9660\Structs\ISO.cs" />
<Compile Include="ISO9660\Structs\RRIP.cs" /> <Compile Include="ISO9660\Structs\RRIP.cs" />
<Compile Include="ISO9660\Structs\SUSP.cs" /> <Compile Include="ISO9660\Structs\SUSP.cs" />

View File

@@ -101,61 +101,6 @@ namespace DiscImageChef.Filesystems
information = sbInformation.ToString(); information = sbInformation.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct VolumeLabel struct VolumeLabel
{ {

View File

@@ -184,61 +184,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
[SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "InconsistentNaming")]
struct EFS_Superblock struct EFS_Superblock

View File

@@ -144,61 +144,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
[SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "InconsistentNaming")]
struct F2FS_Superblock struct F2FS_Superblock

View File

@@ -1353,61 +1353,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// BIOS Parameter Block as used by Atari ST GEMDOS on FAT12 volumes. /// BIOS Parameter Block as used by Atari ST GEMDOS on FAT12 volumes.
/// </summary> /// </summary>

View File

@@ -98,61 +98,6 @@ namespace DiscImageChef.Filesystems
(ulong)xmlFsType.ClusterSize); (ulong)xmlFsType.ClusterSize);
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct FATX_Superblock struct FATX_Superblock
{ {

View File

@@ -481,61 +481,6 @@ namespace DiscImageChef.Filesystems
information = sbInformation.ToString(); information = sbInformation.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct csum struct csum
{ {

View File

@@ -134,61 +134,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct FossilHeader struct FossilHeader
{ {

View File

@@ -150,61 +150,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Hammer superblock /// Hammer superblock
/// </summary> /// </summary>

View File

@@ -202,61 +202,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// BIOS Parameter Block, at sector 0 /// BIOS Parameter Block, at sector 0
/// </summary> /// </summary>

View File

@@ -71,92 +71,5 @@ namespace DiscImageChef.Filesystems
/// <param name="information">Filesystem information.</param> /// <param name="information">Filesystem information.</param>
/// <param name="encoding">Which encoding to use for this filesystem.</param> /// <param name="encoding">Which encoding to use for this filesystem.</param>
void GetInformation(IMediaImage imagePlugin, Partition partition, out string information, Encoding encoding); void GetInformation(IMediaImage imagePlugin, Partition partition, out string information, Encoding encoding);
/// <summary>
/// Initializates whatever internal structures the filesystem plugin needs to be able to read files and directories
/// from the filesystem.
/// </summary>
/// <param name="imagePlugin"></param>
/// <param name="partition"></param>
/// <param name="encoding">Which encoding to use for this filesystem.</param>
/// <param name="debug">If <c>true</c> enable debug.</param>
Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug);
/// <summary>
/// Frees all internal structures created by
/// <see
/// cref="M:DiscImageChef.Filesystems.Filesystem.Mount(DiscImageChef.DiscImages.IMediaImage,DiscImageChef.CommonTypes.Partition,System.Text.Encoding,System.Boolean)" />
/// </summary>
Errno Unmount();
/// <summary>
/// Maps a filesystem block from a file to a block from the underlying device.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="fileBlock">File block.</param>
/// <param name="deviceBlock">Device block.</param>
Errno MapBlock(string path, long fileBlock, ref long deviceBlock);
/// <summary>
/// Gets the attributes of a file or directory
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="attributes">File attributes.</param>
Errno GetAttributes(string path, ref FileAttributes attributes);
/// <summary>
/// Lists all extended attributes, alternate data streams and forks of the given file.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">Path.</param>
/// <param name="xattrs">List of extended attributes, alternate data streams and forks.</param>
Errno ListXAttr(string path, ref List<string> xattrs);
/// <summary>
/// Reads an extended attribute, alternate data stream or fork from the given file.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="xattr">Extendad attribute, alternate data stream or fork name.</param>
/// <param name="buf">Buffer.</param>
Errno GetXattr(string path, string xattr, ref byte[] buf);
/// <summary>
/// Reads data from a file (main/only data stream or data fork).
/// </summary>
/// <param name="path">File path.</param>
/// <param name="offset">Offset.</param>
/// <param name="size">Bytes to read.</param>
/// <param name="buf">Buffer.</param>
Errno Read(string path, long offset, long size, ref byte[] buf);
/// <summary>
/// Lists contents from a directory.
/// </summary>
/// <param name="path">Directory path.</param>
/// <param name="contents">Directory contents.</param>
Errno ReadDir(string path, ref List<string> contents);
/// <summary>
/// Gets information about the mounted volume.
/// </summary>
/// <param name="stat">Information about the mounted volume.</param>
Errno StatFs(ref FileSystemInfo stat);
/// <summary>
/// Gets information about a file or directory.
/// </summary>
/// <param name="path">File path.</param>
/// <param name="stat">File information.</param>
Errno Stat(string path, ref FileEntryInfo stat);
/// <summary>
/// Solves a symbolic link.
/// </summary>
/// <param name="path">Link path.</param>
/// <param name="dest">Link destination.</param>
Errno ReadLink(string path, ref string dest);
} }
} }

View File

@@ -0,0 +1,135 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : IReadOnlyFilesystem.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Filesystem plugins.
//
// --[ Description ] ----------------------------------------------------------
//
// Interface for filesystem plugins that offer read-only support of their
// contents.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using DiscImageChef.CommonTypes;
using DiscImageChef.DiscImages;
using Schemas;
namespace DiscImageChef.Filesystems
{
/// <summary>
/// Interface to implement filesystem plugins.
/// </summary>
public interface IReadOnlyFilesystem : IFilesystem
{
/// <summary>
/// Initializates whatever internal structures the filesystem plugin needs to be able to read files and directories
/// from the filesystem.
/// </summary>
/// <param name="imagePlugin"></param>
/// <param name="partition"></param>
/// <param name="encoding">Which encoding to use for this filesystem.</param>
/// <param name="debug">If <c>true</c> enable debug.</param>
Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug);
/// <summary>
/// Frees all internal structures created by
/// <see
/// cref="M:DiscImageChef.Filesystems.Filesystem.Mount(DiscImageChef.DiscImages.IMediaImage,DiscImageChef.CommonTypes.Partition,System.Text.Encoding,System.Boolean)" />
/// </summary>
Errno Unmount();
/// <summary>
/// Maps a filesystem block from a file to a block from the underlying device.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="fileBlock">File block.</param>
/// <param name="deviceBlock">Device block.</param>
Errno MapBlock(string path, long fileBlock, ref long deviceBlock);
/// <summary>
/// Gets the attributes of a file or directory
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="attributes">File attributes.</param>
Errno GetAttributes(string path, ref FileAttributes attributes);
/// <summary>
/// Lists all extended attributes, alternate data streams and forks of the given file.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">Path.</param>
/// <param name="xattrs">List of extended attributes, alternate data streams and forks.</param>
Errno ListXAttr(string path, ref List<string> xattrs);
/// <summary>
/// Reads an extended attribute, alternate data stream or fork from the given file.
/// </summary>
/// <returns>Error number.</returns>
/// <param name="path">File path.</param>
/// <param name="xattr">Extendad attribute, alternate data stream or fork name.</param>
/// <param name="buf">Buffer.</param>
Errno GetXattr(string path, string xattr, ref byte[] buf);
/// <summary>
/// Reads data from a file (main/only data stream or data fork).
/// </summary>
/// <param name="path">File path.</param>
/// <param name="offset">Offset.</param>
/// <param name="size">Bytes to read.</param>
/// <param name="buf">Buffer.</param>
Errno Read(string path, long offset, long size, ref byte[] buf);
/// <summary>
/// Lists contents from a directory.
/// </summary>
/// <param name="path">Directory path.</param>
/// <param name="contents">Directory contents.</param>
Errno ReadDir(string path, ref List<string> contents);
/// <summary>
/// Gets information about the mounted volume.
/// </summary>
/// <param name="stat">Information about the mounted volume.</param>
Errno StatFs(ref FileSystemInfo stat);
/// <summary>
/// Gets information about a file or directory.
/// </summary>
/// <param name="path">File path.</param>
/// <param name="stat">File information.</param>
Errno Stat(string path, ref FileEntryInfo stat);
/// <summary>
/// Solves a symbolic link.
/// </summary>
/// <param name="path">Link path.</param>
/// <param name="dest">Link destination.</param>
Errno ReadLink(string path, ref string dest);
}
}

View File

@@ -1,49 +0,0 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : Dir.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// Methods to handle directories in the ISO9660 filesystem.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
}
}

View File

@@ -1,42 +0,0 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : Extent.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// Methods to handle ISO9660 filesystem extents.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
}
}

View File

@@ -1,52 +0,0 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : File.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// Methods to handle files.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
}
}

View File

@@ -1,56 +0,0 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : Super.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// Handles mounting and umounting the ISO9660 filesystem.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using System.Text;
using DiscImageChef.CommonTypes;
using DiscImageChef.DiscImages;
namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
}
}

View File

@@ -1,49 +0,0 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : Xattr.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// Methods to handle ISO9660 extended attributes.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using System.Collections.Generic;
namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
}
}

View File

@@ -140,61 +140,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[Flags] [Flags]
enum JFS_Flags : uint enum JFS_Flags : uint
{ {

View File

@@ -105,61 +105,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct LIF_SystemBlock struct LIF_SystemBlock
{ {

View File

@@ -42,7 +42,7 @@ namespace DiscImageChef.Filesystems.LisaFS
{ {
// All information by Natalia Portillo // All information by Natalia Portillo
// Variable names from Lisa API // Variable names from Lisa API
public partial class LisaFS : IFilesystem public partial class LisaFS : IReadOnlyFilesystem
{ {
IMediaImage device; IMediaImage device;
Encoding currentEncoding; Encoding currentEncoding;

View File

@@ -190,7 +190,7 @@ namespace DiscImageChef.Filesystems.LisaFS
/// <returns>Error number.</returns> /// <returns>Error number.</returns>
/// <param name="tag">Sector tag.</param> /// <param name="tag">Sector tag.</param>
/// <param name="decoded">Decoded sector tag.</param> /// <param name="decoded">Decoded sector tag.</param>
Errno DecodeTag(byte[] tag, out LisaTag.PriamTag decoded) static Errno DecodeTag(byte[] tag, out LisaTag.PriamTag decoded)
{ {
decoded = new LisaTag.PriamTag(); decoded = new LisaTag.PriamTag();
LisaTag.PriamTag? pmTag = LisaTag.DecodeTag(tag); LisaTag.PriamTag? pmTag = LisaTag.DecodeTag(tag);

View File

@@ -218,61 +218,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "InconsistentNaming")]
[SuppressMessage("ReSharper", "BuiltInTypeReferenceStyle")] [SuppressMessage("ReSharper", "BuiltInTypeReferenceStyle")]
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]

View File

@@ -106,61 +106,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
// Followed by directory entries // Followed by directory entries
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct MicroDOSBlock0 struct MicroDOSBlock0

View File

@@ -304,61 +304,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Superblock for Minix v1 and V2 filesystems /// Superblock for Minix v1 and V2 filesystems
/// </summary> /// </summary>

View File

@@ -139,61 +139,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.Clusters = (long)nilfsSb.dev_size / xmlFsType.ClusterSize; xmlFsType.Clusters = (long)nilfsSb.dev_size / xmlFsType.ClusterSize;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
enum NILFS2_State : ushort enum NILFS2_State : ushort
{ {
Valid = 0x0001, Valid = 0x0001,

View File

@@ -145,61 +145,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// NTFS $BOOT /// NTFS $BOOT
/// </summary> /// </summary>

View File

@@ -396,61 +396,6 @@ namespace DiscImageChef.Filesystems
return $"unknown type {type}"; return $"unknown type {type}";
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
struct NintendoFields struct NintendoFields
{ {
public string DiscType; public string DiscType;

View File

@@ -229,61 +229,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct OdsHomeBlock struct OdsHomeBlock
{ {

View File

@@ -129,61 +129,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct OperaSuperBlock struct OperaSuperBlock
{ {

View File

@@ -72,60 +72,5 @@ namespace DiscImageChef.Filesystems
ClusterSize = 2048 ClusterSize = 2048
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
} }
} }

View File

@@ -141,61 +141,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.VolumeName = StringHandlers.PascalToString(rootBlock.diskname, currentEncoding); xmlFsType.VolumeName = StringHandlers.PascalToString(rootBlock.diskname, currentEncoding);
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Boot block, first 2 sectors /// Boot block, first 2 sectors
/// </summary> /// </summary>

View File

@@ -311,61 +311,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.Type = "ProDOS"; xmlFsType.Type = "ProDOS";
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// ProDOS directory entry, decoded structure /// ProDOS directory entry, decoded structure
/// </summary> /// </summary>

View File

@@ -190,61 +190,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.Bootable |= qnxSb.boot.di_size != 0 || qnxSb.altBoot.di_size != 0; xmlFsType.Bootable |= qnxSb.boot.di_size != 0 || qnxSb.altBoot.di_size != 0;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
struct QNX4_Extent struct QNX4_Extent
{ {
public uint block; public uint block;

View File

@@ -171,61 +171,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct QNX6_RootNode struct QNX6_RootNode
{ {

View File

@@ -226,61 +226,6 @@ namespace DiscImageChef.Filesystems
return (uint)((lsn[0] << 16) + (lsn[1] << 8) + lsn[2]); return (uint)((lsn[0] << 16) + (lsn[1] << 8) + lsn[2]);
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Identification sector. Wherever the sector this resides on, becomes LSN 0. /// Identification sector. Wherever the sector this resides on, becomes LSN 0.
/// </summary> /// </summary>

View File

@@ -118,61 +118,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct RT11HomeBlock struct RT11HomeBlock
{ {

View File

@@ -143,61 +143,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.VolumeSerial = reiserSb.uuid.ToString(); xmlFsType.VolumeSerial = reiserSb.uuid.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ReiserJournalParams struct ReiserJournalParams
{ {

View File

@@ -125,61 +125,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct Reiser4_Superblock struct Reiser4_Superblock
{ {

View File

@@ -110,61 +110,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[Flags] [Flags]
enum SFSFlags : byte enum SFSFlags : byte
{ {

View File

@@ -160,61 +160,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
struct SolarOSParameterBlock struct SolarOSParameterBlock
{ {
/// <summary>0x00, x86 jump (3 bytes), jumps to 0x60</summary> /// <summary>0x00, x86 jump (3 bytes), jumps to 0x60</summary>

View File

@@ -143,61 +143,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
enum SquashCompression : ushort enum SquashCompression : ushort
{ {
Zlib = 1, Zlib = 1,

View File

@@ -669,61 +669,6 @@ namespace DiscImageChef.Filesystems
BigEndianBitConverter.IsLittleEndian = false; // Return to default (bigendian) BigEndianBitConverter.IsLittleEndian = false; // Return to default (bigendian)
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
// Old XENIX use different offsets // Old XENIX use different offsets
struct XenixSuperBlock struct XenixSuperBlock
{ {

View File

@@ -41,7 +41,7 @@ using Encoding = System.Text.Encoding;
namespace DiscImageChef.Filesystems.UCSDPascal namespace DiscImageChef.Filesystems.UCSDPascal
{ {
// Information from Call-A.P.P.L.E. Pascal Disk Directory Structure // Information from Call-A.P.P.L.E. Pascal Disk Directory Structure
public partial class PascalPlugin : IFilesystem public partial class PascalPlugin : IReadOnlyFilesystem
{ {
IMediaImage device; IMediaImage device;
byte[] bootBlocks; byte[] bootBlocks;

View File

@@ -300,61 +300,6 @@ namespace DiscImageChef.Filesystems
timestamp.microseconds); timestamp.microseconds);
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[Flags] [Flags]
enum EntityFlags : byte enum EntityFlags : byte
{ {

View File

@@ -133,61 +133,6 @@ namespace DiscImageChef.Filesystems
xmlFsType.Dirty |= unicosSb.s_error > 0; xmlFsType.Dirty |= unicosSb.s_error > 0;
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
[SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "InconsistentNaming")]
struct nc1ireg_sb struct nc1ireg_sb

View File

@@ -105,70 +105,17 @@ namespace DiscImageChef.Filesystems
sb.AppendFormat("Filesystem name: {0}", bfsSb.s_fsname).AppendLine(); sb.AppendFormat("Filesystem name: {0}", bfsSb.s_fsname).AppendLine();
sb.AppendFormat("Volume name: {0}", bfsSb.s_volume).AppendLine(); sb.AppendFormat("Volume name: {0}", bfsSb.s_volume).AppendLine();
xmlFsType = new FileSystemType(); xmlFsType = new FileSystemType
xmlFsType.Type = "BFS"; {
xmlFsType.VolumeName = bfsSb.s_volume; Type = "BFS",
xmlFsType.ClusterSize = (int)imagePlugin.Info.SectorSize; VolumeName = bfsSb.s_volume,
xmlFsType.Clusters = (long)(partition.End - partition.Start + 1); ClusterSize = (int)imagePlugin.Info.SectorSize,
Clusters = (long)(partition.End - partition.Start + 1)
};
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
struct BFSSuperBlock struct BFSSuperBlock
{ {
/// <summary>0x00, 0x1BADFACE</summary> /// <summary>0x00, 0x1BADFACE</summary>

View File

@@ -118,61 +118,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[Flags] [Flags]
enum VMfsFlags : byte enum VMfsFlags : byte
{ {

View File

@@ -116,61 +116,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct VxSuperBlock struct VxSuperBlock
{ {

View File

@@ -186,61 +186,6 @@ namespace DiscImageChef.Filesystems
}; };
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct XFS_Superblock struct XFS_Superblock
{ {

View File

@@ -119,61 +119,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// Xia superblock /// Xia superblock
/// </summary> /// </summary>

View File

@@ -626,61 +626,6 @@ namespace DiscImageChef.Filesystems
return sb.ToString(); return sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
struct ZIO_Checksum struct ZIO_Checksum
{ {
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] word; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] word;

View File

@@ -299,61 +299,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
// Old 16-bit format record // Old 16-bit format record
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct spcl16 struct spcl16

View File

@@ -148,61 +148,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
throw new NotImplementedException();
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
throw new NotImplementedException();
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
throw new NotImplementedException();
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
throw new NotImplementedException();
}
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
throw new NotImplementedException();
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
throw new NotImplementedException();
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
throw new NotImplementedException();
}
public virtual Errno ReadLink(string path, ref string dest)
{
throw new NotImplementedException();
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
throw new NotImplementedException();
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
throw new NotImplementedException();
}
public virtual Errno Unmount()
{
throw new NotImplementedException();
}
[Flags] [Flags]
enum VolumeFlags : ushort enum VolumeFlags : ushort
{ {

View File

@@ -631,61 +631,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// ext2/3/4 superblock /// ext2/3/4 superblock
/// </summary> /// </summary>

View File

@@ -130,61 +130,6 @@ namespace DiscImageChef.Filesystems
information = sb.ToString(); information = sb.ToString();
} }
public virtual Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug)
{
return Errno.NotImplemented;
}
public virtual Errno Unmount()
{
return Errno.NotImplemented;
}
public virtual Errno MapBlock(string path, long fileBlock, ref long deviceBlock)
{
return Errno.NotImplemented;
}
public virtual Errno GetAttributes(string path, ref FileAttributes attributes)
{
return Errno.NotImplemented;
}
public virtual Errno ListXAttr(string path, ref List<string> xattrs)
{
return Errno.NotImplemented;
}
public virtual Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno Read(string path, long offset, long size, ref byte[] buf)
{
return Errno.NotImplemented;
}
public virtual Errno ReadDir(string path, ref List<string> contents)
{
return Errno.NotImplemented;
}
public virtual Errno StatFs(ref FileSystemInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno Stat(string path, ref FileEntryInfo stat)
{
return Errno.NotImplemented;
}
public virtual Errno ReadLink(string path, ref string dest)
{
return Errno.NotImplemented;
}
/// <summary> /// <summary>
/// ext superblock /// ext superblock
/// </summary> /// </summary>

View File

@@ -134,7 +134,7 @@ namespace DiscImageChef.Commands
Core.Partitions.AddSchemesToStats(partitions); Core.Partitions.AddSchemesToStats(partitions);
List<string> idPlugins; List<string> idPlugins;
IFilesystem plugin; IReadOnlyFilesystem plugin;
Errno error; Errno error;
if(partitions.Count == 0) DicConsole.DebugWriteLine("Extract-Files command", "No partitions found"); if(partitions.Count == 0) DicConsole.DebugWriteLine("Extract-Files command", "No partitions found");
else else
@@ -155,10 +155,10 @@ namespace DiscImageChef.Commands
DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins");
foreach(string pluginName in idPlugins) foreach(string pluginName in idPlugins)
if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) if(plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out plugin))
{ {
DicConsole.WriteLine($"As identified by {plugin.Name}."); DicConsole.WriteLine($"As identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug); error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug);
@@ -307,9 +307,9 @@ namespace DiscImageChef.Commands
} }
else else
{ {
plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin);
DicConsole.WriteLine($"Identified by {plugin.Name}."); DicConsole.WriteLine($"Identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug); error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug);
if(error == Errno.NoError) if(error == Errno.NoError)
@@ -462,10 +462,10 @@ namespace DiscImageChef.Commands
DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins");
foreach(string pluginName in idPlugins) foreach(string pluginName in idPlugins)
if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) if(plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out plugin))
{ {
DicConsole.WriteLine($"As identified by {plugin.Name}."); DicConsole.WriteLine($"As identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
error = fs.Mount(imageFormat, wholePart, encoding, options.Debug); error = fs.Mount(imageFormat, wholePart, encoding, options.Debug);
if(error == Errno.NoError) if(error == Errno.NoError)
@@ -604,9 +604,9 @@ namespace DiscImageChef.Commands
} }
else else
{ {
plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin);
DicConsole.WriteLine($"Identified by {plugin.Name}."); DicConsole.WriteLine($"Identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
error = fs.Mount(imageFormat, wholePart, encoding, options.Debug); error = fs.Mount(imageFormat, wholePart, encoding, options.Debug);
if(error == Errno.NoError) if(error == Errno.NoError)

View File

@@ -31,6 +31,7 @@
// ****************************************************************************/ // ****************************************************************************/
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using DiscImageChef.Console; using DiscImageChef.Console;
using DiscImageChef.Core; using DiscImageChef.Core;
using DiscImageChef.DiscImages; using DiscImageChef.DiscImages;
@@ -47,14 +48,14 @@ namespace DiscImageChef.Commands
PluginBase plugins = new PluginBase(); PluginBase plugins = new PluginBase();
FiltersList filtersList = new FiltersList(); FiltersList filtersList = new FiltersList();
DicConsole.WriteLine("Supported filters:"); DicConsole.WriteLine("Supported filters ({0}):", filtersList.Filters.Count);
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tFilter"); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tFilter");
foreach(KeyValuePair<string, IFilter> kvp in filtersList.Filters) foreach(KeyValuePair<string, IFilter> kvp in filtersList.Filters)
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.Id, kvp.Value.Name); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.Id, kvp.Value.Name);
else DicConsole.WriteLine(kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name);
DicConsole.WriteLine(); DicConsole.WriteLine();
DicConsole.WriteLine("Supported disc image formats:"); DicConsole.WriteLine("Supported disc image formats ({0}):", plugins.ImagePluginsList.Count);
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin");
foreach(KeyValuePair<string, IMediaImage> kvp in plugins.ImagePluginsList) foreach(KeyValuePair<string, IMediaImage> kvp in plugins.ImagePluginsList)
if(formatsOptions.Verbose) if(formatsOptions.Verbose)
@@ -62,15 +63,23 @@ namespace DiscImageChef.Commands
else DicConsole.WriteLine(kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name);
DicConsole.WriteLine(); DicConsole.WriteLine();
DicConsole.WriteLine("Supported filesystems:"); DicConsole.WriteLine("Supported filesystems for identification and information only ({0}):", plugins.PluginsList.Count(t => !t.Value.GetType().GetInterfaces().Contains(typeof(IReadOnlyFilesystem))));
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin");
foreach(KeyValuePair<string, IFilesystem> kvp in plugins.PluginsList) foreach(KeyValuePair<string, IFilesystem> kvp in plugins.PluginsList.Where(t => !t.Value.GetType().GetInterfaces().Contains(typeof(IReadOnlyFilesystem))))
if(formatsOptions.Verbose) if(formatsOptions.Verbose)
DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.Id, kvp.Value.Name); DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.Id, kvp.Value.Name);
else DicConsole.WriteLine(kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name);
DicConsole.WriteLine(); DicConsole.WriteLine();
DicConsole.WriteLine("Supported partitioning schemes:"); DicConsole.WriteLine("Supported filesystems that can read their contents ({0}):", plugins.ReadOnlyFilesystems.Count);
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin");
foreach(KeyValuePair<string, IReadOnlyFilesystem> kvp in plugins.ReadOnlyFilesystems)
if(formatsOptions.Verbose)
DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.Id, kvp.Value.Name);
else DicConsole.WriteLine(kvp.Value.Name);
DicConsole.WriteLine();
DicConsole.WriteLine("Supported partitioning schemes ({0}):", plugins.PartPluginsList.Count);
if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin");
foreach(KeyValuePair<string, IPartition> kvp in plugins.PartPluginsList) foreach(KeyValuePair<string, IPartition> kvp in plugins.PartPluginsList)
if(formatsOptions.Verbose) if(formatsOptions.Verbose)

View File

@@ -121,7 +121,7 @@ namespace DiscImageChef.Commands
Core.Partitions.AddSchemesToStats(partitions); Core.Partitions.AddSchemesToStats(partitions);
List<string> idPlugins; List<string> idPlugins;
IFilesystem plugin; IReadOnlyFilesystem plugin;
Errno error; Errno error;
if(partitions.Count == 0) DicConsole.DebugWriteLine("Ls command", "No partitions found"); if(partitions.Count == 0) DicConsole.DebugWriteLine("Ls command", "No partitions found");
else else
@@ -142,10 +142,10 @@ namespace DiscImageChef.Commands
DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins");
foreach(string pluginName in idPlugins) foreach(string pluginName in idPlugins)
if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) if(plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out plugin))
{ {
DicConsole.WriteLine($"As identified by {plugin.Name}."); DicConsole.WriteLine($"As identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(fs == null) continue; if(fs == null) continue;
@@ -170,11 +170,11 @@ namespace DiscImageChef.Commands
} }
else else
{ {
plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin);
if(plugin == null) continue; if(plugin == null) continue;
DicConsole.WriteLine($"Identified by {plugin.Name}."); DicConsole.WriteLine($"Identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(fs == null) continue; if(fs == null) continue;
@@ -209,10 +209,10 @@ namespace DiscImageChef.Commands
DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins");
foreach(string pluginName in idPlugins) foreach(string pluginName in idPlugins)
if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) if(plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out plugin))
{ {
DicConsole.WriteLine($"As identified by {plugin.Name}."); DicConsole.WriteLine($"As identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(fs == null) continue; if(fs == null) continue;
@@ -233,11 +233,11 @@ namespace DiscImageChef.Commands
} }
else else
{ {
plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin);
if(plugin != null) if(plugin != null)
{ {
DicConsole.WriteLine($"Identified by {plugin.Name}."); DicConsole.WriteLine($"Identified by {plugin.Name}.");
IFilesystem fs = (IFilesystem)plugin IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin
.GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { });
if(fs != null) if(fs != null)
{ {