diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index bb726e68..7b3d6999 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -506,6 +506,7 @@ + @@ -520,9 +521,6 @@ - - - @@ -539,8 +537,6 @@ - - diff --git a/DiscImageChef.Core/PluginBase.cs b/DiscImageChef.Core/PluginBase.cs index 1e0cd717..65bed874 100644 --- a/DiscImageChef.Core/PluginBase.cs +++ b/DiscImageChef.Core/PluginBase.cs @@ -59,6 +59,10 @@ namespace DiscImageChef.Core /// List of all filesystem plugins /// public readonly SortedDictionary PluginsList; + /// + /// List of all filesystem plugins + /// + public readonly SortedDictionary ReadOnlyFilesystems; /// /// Initializes the plugins lists @@ -66,12 +70,13 @@ namespace DiscImageChef.Core public PluginBase() { PluginsList = new SortedDictionary(); + ReadOnlyFilesystems = new SortedDictionary(); PartPluginsList = new SortedDictionary(); ImagePluginsList = new SortedDictionary(); 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 { IMediaImage plugin = (IMediaImage)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); @@ -81,7 +86,7 @@ namespace DiscImageChef.Core 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 { IPartition plugin = @@ -92,13 +97,24 @@ namespace DiscImageChef.Core 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 { IFilesystem plugin = (IFilesystem)type.GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); RegisterPlugin(plugin); } 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) @@ -112,6 +128,11 @@ namespace DiscImageChef.Core 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) { if(!PartPluginsList.ContainsKey(partplugin.Name.ToLower())) diff --git a/DiscImageChef.Filesystems/AODOS.cs b/DiscImageChef.Filesystems/AODOS.cs index a30dc1a4..601d9fce 100644 --- a/DiscImageChef.Filesystems/AODOS.cs +++ b/DiscImageChef.Filesystems/AODOS.cs @@ -109,61 +109,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct AODOS_BootBlock { diff --git a/DiscImageChef.Filesystems/APFS.cs b/DiscImageChef.Filesystems/APFS.cs index efd9e526..c6e9fe98 100644 --- a/DiscImageChef.Filesystems/APFS.cs +++ b/DiscImageChef.Filesystems/APFS.cs @@ -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 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 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)] struct ApfsContainerSuperBlock { diff --git a/DiscImageChef.Filesystems/Acorn.cs b/DiscImageChef.Filesystems/Acorn.cs index c6030c67..463d764b 100644 --- a/DiscImageChef.Filesystems/Acorn.cs +++ b/DiscImageChef.Filesystems/Acorn.cs @@ -501,61 +501,6 @@ namespace DiscImageChef.Filesystems 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 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 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) { int sum = 0; diff --git a/DiscImageChef.Filesystems/AmigaDOS.cs b/DiscImageChef.Filesystems/AmigaDOS.cs index 1738ffe3..ec25b675 100644 --- a/DiscImageChef.Filesystems/AmigaDOS.cs +++ b/DiscImageChef.Filesystems/AmigaDOS.cs @@ -371,61 +371,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Boot block, first 2 sectors /// diff --git a/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs b/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs index ab52fc49..f553ea1b 100644 --- a/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs +++ b/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs @@ -40,7 +40,7 @@ using Encoding = System.Text.Encoding; namespace DiscImageChef.Filesystems.AppleDOS { - public partial class AppleDOS : IFilesystem + public partial class AppleDOS : IReadOnlyFilesystem { IMediaImage device; Encoding currentEncoding; diff --git a/DiscImageChef.Filesystems/AppleHFS.cs b/DiscImageChef.Filesystems/AppleHFS.cs index 520d6bf1..28b31928 100644 --- a/DiscImageChef.Filesystems/AppleHFS.cs +++ b/DiscImageChef.Filesystems/AppleHFS.cs @@ -300,61 +300,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Master Directory Block, should be sector 2 in volume /// diff --git a/DiscImageChef.Filesystems/AppleHFSPlus.cs b/DiscImageChef.Filesystems/AppleHFSPlus.cs index 672fd81f..ef338963 100644 --- a/DiscImageChef.Filesystems/AppleHFSPlus.cs +++ b/DiscImageChef.Filesystems/AppleHFSPlus.cs @@ -260,61 +260,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// HFS+ Volume Header, should be at offset 0x0400 bytes in volume with a size of 532 bytes /// diff --git a/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs b/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs index c0608150..b9a6d22f 100644 --- a/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs +++ b/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs @@ -40,7 +40,7 @@ using Schemas; namespace DiscImageChef.Filesystems.AppleMFS { // Information from Inside Macintosh Volume II - public partial class AppleMFS : IFilesystem + public partial class AppleMFS : IReadOnlyFilesystem { bool mounted; bool debug; diff --git a/DiscImageChef.Filesystems/AtheOS.cs b/DiscImageChef.Filesystems/AtheOS.cs index 498d77ed..25a52e71 100644 --- a/DiscImageChef.Filesystems/AtheOS.cs +++ b/DiscImageChef.Filesystems/AtheOS.cs @@ -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 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 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; - } - /// /// Be superblock /// diff --git a/DiscImageChef.Filesystems/BFS.cs b/DiscImageChef.Filesystems/BFS.cs index 7a7f781c..bdac0f7d 100644 --- a/DiscImageChef.Filesystems/BFS.cs +++ b/DiscImageChef.Filesystems/BFS.cs @@ -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 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 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; - } - /// /// Be superblock /// diff --git a/DiscImageChef.Filesystems/BTRFS.cs b/DiscImageChef.Filesystems/BTRFS.cs index 99ddb188..f04f7836 100644 --- a/DiscImageChef.Filesystems/BTRFS.cs +++ b/DiscImageChef.Filesystems/BTRFS.cs @@ -184,61 +184,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct SuperBlock { diff --git a/DiscImageChef.Filesystems/CBM.cs b/DiscImageChef.Filesystems/CBM.cs index 3a2007d9..eb3eaaf7 100644 --- a/DiscImageChef.Filesystems/CBM.cs +++ b/DiscImageChef.Filesystems/CBM.cs @@ -159,61 +159,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct CommodoreBAM { diff --git a/DiscImageChef.Filesystems/CPM/CPM.cs b/DiscImageChef.Filesystems/CPM/CPM.cs index b69668c7..cfc3b49e 100644 --- a/DiscImageChef.Filesystems/CPM/CPM.cs +++ b/DiscImageChef.Filesystems/CPM/CPM.cs @@ -39,7 +39,7 @@ using Schemas; namespace DiscImageChef.Filesystems.CPM { - partial class CPM : IFilesystem + partial class CPM : IReadOnlyFilesystem { /// /// True if thinks this is a CP/M filesystem diff --git a/DiscImageChef.Filesystems/Cram.cs b/DiscImageChef.Filesystems/Cram.cs index c220478e..b2d988b7 100644 --- a/DiscImageChef.Filesystems/Cram.cs +++ b/DiscImageChef.Filesystems/Cram.cs @@ -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 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 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 { Zlib = 1, diff --git a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj index 37d8112c..9d118f84 100644 --- a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj +++ b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj @@ -38,6 +38,7 @@ + @@ -137,13 +138,8 @@ - - - - - diff --git a/DiscImageChef.Filesystems/ECMA67.cs b/DiscImageChef.Filesystems/ECMA67.cs index 2a3703be..ab88dea5 100644 --- a/DiscImageChef.Filesystems/ECMA67.cs +++ b/DiscImageChef.Filesystems/ECMA67.cs @@ -101,61 +101,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct VolumeLabel { diff --git a/DiscImageChef.Filesystems/EFS.cs b/DiscImageChef.Filesystems/EFS.cs index 6a0b81e6..9c52e319 100644 --- a/DiscImageChef.Filesystems/EFS.cs +++ b/DiscImageChef.Filesystems/EFS.cs @@ -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 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 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)] [SuppressMessage("ReSharper", "InconsistentNaming")] struct EFS_Superblock diff --git a/DiscImageChef.Filesystems/F2FS.cs b/DiscImageChef.Filesystems/F2FS.cs index 80644877..45ff4e96 100644 --- a/DiscImageChef.Filesystems/F2FS.cs +++ b/DiscImageChef.Filesystems/F2FS.cs @@ -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 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 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)] [SuppressMessage("ReSharper", "InconsistentNaming")] struct F2FS_Superblock diff --git a/DiscImageChef.Filesystems/FAT.cs b/DiscImageChef.Filesystems/FAT.cs index c4212c4a..e2d3578e 100644 --- a/DiscImageChef.Filesystems/FAT.cs +++ b/DiscImageChef.Filesystems/FAT.cs @@ -1353,61 +1353,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// BIOS Parameter Block as used by Atari ST GEMDOS on FAT12 volumes. /// diff --git a/DiscImageChef.Filesystems/FATX.cs b/DiscImageChef.Filesystems/FATX.cs index 9bbd2795..47273f60 100644 --- a/DiscImageChef.Filesystems/FATX.cs +++ b/DiscImageChef.Filesystems/FATX.cs @@ -98,61 +98,6 @@ namespace DiscImageChef.Filesystems (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 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 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)] struct FATX_Superblock { diff --git a/DiscImageChef.Filesystems/FFS.cs b/DiscImageChef.Filesystems/FFS.cs index 50d1c3a3..32eeafe4 100644 --- a/DiscImageChef.Filesystems/FFS.cs +++ b/DiscImageChef.Filesystems/FFS.cs @@ -481,61 +481,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct csum { diff --git a/DiscImageChef.Filesystems/Fossil.cs b/DiscImageChef.Filesystems/Fossil.cs index a3aa8919..63a0fa56 100644 --- a/DiscImageChef.Filesystems/Fossil.cs +++ b/DiscImageChef.Filesystems/Fossil.cs @@ -134,61 +134,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct FossilHeader { diff --git a/DiscImageChef.Filesystems/HAMMER.cs b/DiscImageChef.Filesystems/HAMMER.cs index 0287f3c0..1d5c3c4d 100644 --- a/DiscImageChef.Filesystems/HAMMER.cs +++ b/DiscImageChef.Filesystems/HAMMER.cs @@ -150,61 +150,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Hammer superblock /// diff --git a/DiscImageChef.Filesystems/HPFS.cs b/DiscImageChef.Filesystems/HPFS.cs index 07751e57..b5f5de1c 100644 --- a/DiscImageChef.Filesystems/HPFS.cs +++ b/DiscImageChef.Filesystems/HPFS.cs @@ -202,61 +202,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// BIOS Parameter Block, at sector 0 /// diff --git a/DiscImageChef.Filesystems/IFilesystem.cs b/DiscImageChef.Filesystems/IFilesystem.cs index 97c84a66..4c801c1a 100644 --- a/DiscImageChef.Filesystems/IFilesystem.cs +++ b/DiscImageChef.Filesystems/IFilesystem.cs @@ -71,92 +71,5 @@ namespace DiscImageChef.Filesystems /// Filesystem information. /// Which encoding to use for this filesystem. void GetInformation(IMediaImage imagePlugin, Partition partition, out string information, Encoding encoding); - - /// - /// Initializates whatever internal structures the filesystem plugin needs to be able to read files and directories - /// from the filesystem. - /// - /// - /// - /// Which encoding to use for this filesystem. - /// If true enable debug. - Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug); - - /// - /// Frees all internal structures created by - /// - /// - Errno Unmount(); - - /// - /// Maps a filesystem block from a file to a block from the underlying device. - /// - /// Error number. - /// File path. - /// File block. - /// Device block. - Errno MapBlock(string path, long fileBlock, ref long deviceBlock); - - /// - /// Gets the attributes of a file or directory - /// - /// Error number. - /// File path. - /// File attributes. - Errno GetAttributes(string path, ref FileAttributes attributes); - - /// - /// Lists all extended attributes, alternate data streams and forks of the given file. - /// - /// Error number. - /// Path. - /// List of extended attributes, alternate data streams and forks. - Errno ListXAttr(string path, ref List xattrs); - - /// - /// Reads an extended attribute, alternate data stream or fork from the given file. - /// - /// Error number. - /// File path. - /// Extendad attribute, alternate data stream or fork name. - /// Buffer. - Errno GetXattr(string path, string xattr, ref byte[] buf); - - /// - /// Reads data from a file (main/only data stream or data fork). - /// - /// File path. - /// Offset. - /// Bytes to read. - /// Buffer. - Errno Read(string path, long offset, long size, ref byte[] buf); - - /// - /// Lists contents from a directory. - /// - /// Directory path. - /// Directory contents. - Errno ReadDir(string path, ref List contents); - - /// - /// Gets information about the mounted volume. - /// - /// Information about the mounted volume. - Errno StatFs(ref FileSystemInfo stat); - - /// - /// Gets information about a file or directory. - /// - /// File path. - /// File information. - Errno Stat(string path, ref FileEntryInfo stat); - - /// - /// Solves a symbolic link. - /// - /// Link path. - /// Link destination. - Errno ReadLink(string path, ref string dest); } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/IReadOnlyFilesystem.cs b/DiscImageChef.Filesystems/IReadOnlyFilesystem.cs new file mode 100644 index 00000000..9ec35fd2 --- /dev/null +++ b/DiscImageChef.Filesystems/IReadOnlyFilesystem.cs @@ -0,0 +1,135 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : IReadOnlyFilesystem.cs +// Author(s) : Natalia Portillo +// +// 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 . +// +// ---------------------------------------------------------------------------- +// 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 +{ + /// + /// Interface to implement filesystem plugins. + /// + public interface IReadOnlyFilesystem : IFilesystem + { + /// + /// Initializates whatever internal structures the filesystem plugin needs to be able to read files and directories + /// from the filesystem. + /// + /// + /// + /// Which encoding to use for this filesystem. + /// If true enable debug. + Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding, bool debug); + + /// + /// Frees all internal structures created by + /// + /// + Errno Unmount(); + + /// + /// Maps a filesystem block from a file to a block from the underlying device. + /// + /// Error number. + /// File path. + /// File block. + /// Device block. + Errno MapBlock(string path, long fileBlock, ref long deviceBlock); + + /// + /// Gets the attributes of a file or directory + /// + /// Error number. + /// File path. + /// File attributes. + Errno GetAttributes(string path, ref FileAttributes attributes); + + /// + /// Lists all extended attributes, alternate data streams and forks of the given file. + /// + /// Error number. + /// Path. + /// List of extended attributes, alternate data streams and forks. + Errno ListXAttr(string path, ref List xattrs); + + /// + /// Reads an extended attribute, alternate data stream or fork from the given file. + /// + /// Error number. + /// File path. + /// Extendad attribute, alternate data stream or fork name. + /// Buffer. + Errno GetXattr(string path, string xattr, ref byte[] buf); + + /// + /// Reads data from a file (main/only data stream or data fork). + /// + /// File path. + /// Offset. + /// Bytes to read. + /// Buffer. + Errno Read(string path, long offset, long size, ref byte[] buf); + + /// + /// Lists contents from a directory. + /// + /// Directory path. + /// Directory contents. + Errno ReadDir(string path, ref List contents); + + /// + /// Gets information about the mounted volume. + /// + /// Information about the mounted volume. + Errno StatFs(ref FileSystemInfo stat); + + /// + /// Gets information about a file or directory. + /// + /// File path. + /// File information. + Errno Stat(string path, ref FileEntryInfo stat); + + /// + /// Solves a symbolic link. + /// + /// Link path. + /// Link destination. + Errno ReadLink(string path, ref string dest); + } +} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs deleted file mode 100644 index 3d964061..00000000 --- a/DiscImageChef.Filesystems/ISO9660/Dir.cs +++ /dev/null @@ -1,49 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : Dir.cs -// Author(s) : Natalia Portillo -// -// 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 . -// -// ---------------------------------------------------------------------------- -// 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 contents) - { - return Errno.NotImplemented; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ISO9660/Extent.cs b/DiscImageChef.Filesystems/ISO9660/Extent.cs deleted file mode 100644 index a49c2143..00000000 --- a/DiscImageChef.Filesystems/ISO9660/Extent.cs +++ /dev/null @@ -1,42 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : Extent.cs -// Author(s) : Natalia Portillo -// -// 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 . -// -// ---------------------------------------------------------------------------- -// 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; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ISO9660/File.cs b/DiscImageChef.Filesystems/ISO9660/File.cs deleted file mode 100644 index 75cdf939..00000000 --- a/DiscImageChef.Filesystems/ISO9660/File.cs +++ /dev/null @@ -1,52 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : File.cs -// Author(s) : Natalia Portillo -// -// 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 . -// -// ---------------------------------------------------------------------------- -// 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; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ISO9660/Super.cs b/DiscImageChef.Filesystems/ISO9660/Super.cs deleted file mode 100644 index 89c40538..00000000 --- a/DiscImageChef.Filesystems/ISO9660/Super.cs +++ /dev/null @@ -1,56 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : Super.cs -// Author(s) : Natalia Portillo -// -// 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 . -// -// ---------------------------------------------------------------------------- -// 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; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ISO9660/Xattr.cs b/DiscImageChef.Filesystems/ISO9660/Xattr.cs deleted file mode 100644 index 9322d9f9..00000000 --- a/DiscImageChef.Filesystems/ISO9660/Xattr.cs +++ /dev/null @@ -1,49 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : Xattr.cs -// Author(s) : Natalia Portillo -// -// 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 . -// -// ---------------------------------------------------------------------------- -// 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 xattrs) - { - return Errno.NotImplemented; - } - - public virtual Errno GetXattr(string path, string xattr, ref byte[] buf) - { - return Errno.NotImplemented; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Filesystems/JFS.cs b/DiscImageChef.Filesystems/JFS.cs index 5147c641..2c93fb7d 100644 --- a/DiscImageChef.Filesystems/JFS.cs +++ b/DiscImageChef.Filesystems/JFS.cs @@ -140,61 +140,6 @@ namespace DiscImageChef.Filesystems 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 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 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] enum JFS_Flags : uint { diff --git a/DiscImageChef.Filesystems/LIF.cs b/DiscImageChef.Filesystems/LIF.cs index 034c7895..33369096 100644 --- a/DiscImageChef.Filesystems/LIF.cs +++ b/DiscImageChef.Filesystems/LIF.cs @@ -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 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 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)] struct LIF_SystemBlock { diff --git a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs index b11f8b50..0c709978 100644 --- a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs +++ b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs @@ -42,7 +42,7 @@ namespace DiscImageChef.Filesystems.LisaFS { // All information by Natalia Portillo // Variable names from Lisa API - public partial class LisaFS : IFilesystem + public partial class LisaFS : IReadOnlyFilesystem { IMediaImage device; Encoding currentEncoding; diff --git a/DiscImageChef.Filesystems/LisaFS/Xattr.cs b/DiscImageChef.Filesystems/LisaFS/Xattr.cs index 0923a405..79c8850d 100644 --- a/DiscImageChef.Filesystems/LisaFS/Xattr.cs +++ b/DiscImageChef.Filesystems/LisaFS/Xattr.cs @@ -190,7 +190,7 @@ namespace DiscImageChef.Filesystems.LisaFS /// Error number. /// Sector tag. /// Decoded sector tag. - Errno DecodeTag(byte[] tag, out LisaTag.PriamTag decoded) + static Errno DecodeTag(byte[] tag, out LisaTag.PriamTag decoded) { decoded = new LisaTag.PriamTag(); LisaTag.PriamTag? pmTag = LisaTag.DecodeTag(tag); diff --git a/DiscImageChef.Filesystems/Locus.cs b/DiscImageChef.Filesystems/Locus.cs index a3009c9a..b6091f05 100644 --- a/DiscImageChef.Filesystems/Locus.cs +++ b/DiscImageChef.Filesystems/Locus.cs @@ -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 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 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", "BuiltInTypeReferenceStyle")] [StructLayout(LayoutKind.Sequential, Pack = 1)] diff --git a/DiscImageChef.Filesystems/MicroDOS.cs b/DiscImageChef.Filesystems/MicroDOS.cs index 3bb242c9..e5d541c2 100644 --- a/DiscImageChef.Filesystems/MicroDOS.cs +++ b/DiscImageChef.Filesystems/MicroDOS.cs @@ -106,61 +106,6 @@ namespace DiscImageChef.Filesystems 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 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 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 [StructLayout(LayoutKind.Sequential, Pack = 1)] struct MicroDOSBlock0 diff --git a/DiscImageChef.Filesystems/MinixFS.cs b/DiscImageChef.Filesystems/MinixFS.cs index ca7e1945..eded5f8e 100644 --- a/DiscImageChef.Filesystems/MinixFS.cs +++ b/DiscImageChef.Filesystems/MinixFS.cs @@ -304,61 +304,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Superblock for Minix v1 and V2 filesystems /// diff --git a/DiscImageChef.Filesystems/NILFS2.cs b/DiscImageChef.Filesystems/NILFS2.cs index f563b39b..7681f3ff 100644 --- a/DiscImageChef.Filesystems/NILFS2.cs +++ b/DiscImageChef.Filesystems/NILFS2.cs @@ -139,61 +139,6 @@ namespace DiscImageChef.Filesystems 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 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 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 { Valid = 0x0001, diff --git a/DiscImageChef.Filesystems/NTFS.cs b/DiscImageChef.Filesystems/NTFS.cs index a3c06f66..c9f0cdd8 100644 --- a/DiscImageChef.Filesystems/NTFS.cs +++ b/DiscImageChef.Filesystems/NTFS.cs @@ -145,61 +145,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// NTFS $BOOT /// diff --git a/DiscImageChef.Filesystems/Nintendo.cs b/DiscImageChef.Filesystems/Nintendo.cs index f31f10aa..290f879e 100644 --- a/DiscImageChef.Filesystems/Nintendo.cs +++ b/DiscImageChef.Filesystems/Nintendo.cs @@ -396,61 +396,6 @@ namespace DiscImageChef.Filesystems 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 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 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 { public string DiscType; diff --git a/DiscImageChef.Filesystems/ODS.cs b/DiscImageChef.Filesystems/ODS.cs index 26a16966..277aecc0 100644 --- a/DiscImageChef.Filesystems/ODS.cs +++ b/DiscImageChef.Filesystems/ODS.cs @@ -229,61 +229,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct OdsHomeBlock { diff --git a/DiscImageChef.Filesystems/Opera.cs b/DiscImageChef.Filesystems/Opera.cs index e2a989cf..cfaf137d 100644 --- a/DiscImageChef.Filesystems/Opera.cs +++ b/DiscImageChef.Filesystems/Opera.cs @@ -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 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 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)] struct OperaSuperBlock { diff --git a/DiscImageChef.Filesystems/PCEngine.cs b/DiscImageChef.Filesystems/PCEngine.cs index 1226f26b..a8cb0637 100644 --- a/DiscImageChef.Filesystems/PCEngine.cs +++ b/DiscImageChef.Filesystems/PCEngine.cs @@ -72,60 +72,5 @@ namespace DiscImageChef.Filesystems 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 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 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; - } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/PFS.cs b/DiscImageChef.Filesystems/PFS.cs index 40b82e25..de20f728 100644 --- a/DiscImageChef.Filesystems/PFS.cs +++ b/DiscImageChef.Filesystems/PFS.cs @@ -141,61 +141,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Boot block, first 2 sectors /// diff --git a/DiscImageChef.Filesystems/ProDOS.cs b/DiscImageChef.Filesystems/ProDOS.cs index 66beb9ee..537f53d2 100644 --- a/DiscImageChef.Filesystems/ProDOS.cs +++ b/DiscImageChef.Filesystems/ProDOS.cs @@ -311,61 +311,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// ProDOS directory entry, decoded structure /// diff --git a/DiscImageChef.Filesystems/QNX4.cs b/DiscImageChef.Filesystems/QNX4.cs index 5e8ae5ac..e34693cc 100644 --- a/DiscImageChef.Filesystems/QNX4.cs +++ b/DiscImageChef.Filesystems/QNX4.cs @@ -190,61 +190,6 @@ namespace DiscImageChef.Filesystems 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 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 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 { public uint block; diff --git a/DiscImageChef.Filesystems/QNX6.cs b/DiscImageChef.Filesystems/QNX6.cs index 8f69df89..272f8724 100644 --- a/DiscImageChef.Filesystems/QNX6.cs +++ b/DiscImageChef.Filesystems/QNX6.cs @@ -171,61 +171,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct QNX6_RootNode { diff --git a/DiscImageChef.Filesystems/RBF.cs b/DiscImageChef.Filesystems/RBF.cs index b0e83103..c4180a08 100644 --- a/DiscImageChef.Filesystems/RBF.cs +++ b/DiscImageChef.Filesystems/RBF.cs @@ -226,61 +226,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Identification sector. Wherever the sector this resides on, becomes LSN 0. /// diff --git a/DiscImageChef.Filesystems/RT11.cs b/DiscImageChef.Filesystems/RT11.cs index a31058c0..afd7bcb9 100644 --- a/DiscImageChef.Filesystems/RT11.cs +++ b/DiscImageChef.Filesystems/RT11.cs @@ -118,61 +118,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct RT11HomeBlock { diff --git a/DiscImageChef.Filesystems/Reiser.cs b/DiscImageChef.Filesystems/Reiser.cs index acdaa343..822bf367 100644 --- a/DiscImageChef.Filesystems/Reiser.cs +++ b/DiscImageChef.Filesystems/Reiser.cs @@ -143,61 +143,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] struct ReiserJournalParams { diff --git a/DiscImageChef.Filesystems/Reiser4.cs b/DiscImageChef.Filesystems/Reiser4.cs index b87a5cc4..2e3c91b8 100644 --- a/DiscImageChef.Filesystems/Reiser4.cs +++ b/DiscImageChef.Filesystems/Reiser4.cs @@ -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 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 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)] struct Reiser4_Superblock { diff --git a/DiscImageChef.Filesystems/SFS.cs b/DiscImageChef.Filesystems/SFS.cs index ca9450ff..d278408c 100644 --- a/DiscImageChef.Filesystems/SFS.cs +++ b/DiscImageChef.Filesystems/SFS.cs @@ -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 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 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] enum SFSFlags : byte { diff --git a/DiscImageChef.Filesystems/SolarFS.cs b/DiscImageChef.Filesystems/SolarFS.cs index cae88207..54a0ed57 100644 --- a/DiscImageChef.Filesystems/SolarFS.cs +++ b/DiscImageChef.Filesystems/SolarFS.cs @@ -160,61 +160,6 @@ namespace DiscImageChef.Filesystems 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 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 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 { /// 0x00, x86 jump (3 bytes), jumps to 0x60 diff --git a/DiscImageChef.Filesystems/Squash.cs b/DiscImageChef.Filesystems/Squash.cs index baf1ac04..9d067043 100644 --- a/DiscImageChef.Filesystems/Squash.cs +++ b/DiscImageChef.Filesystems/Squash.cs @@ -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 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 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 { Zlib = 1, diff --git a/DiscImageChef.Filesystems/SysV.cs b/DiscImageChef.Filesystems/SysV.cs index 871f8e4e..ab49a92d 100644 --- a/DiscImageChef.Filesystems/SysV.cs +++ b/DiscImageChef.Filesystems/SysV.cs @@ -669,61 +669,6 @@ namespace DiscImageChef.Filesystems 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 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 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 struct XenixSuperBlock { diff --git a/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs b/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs index 2cbcb2bc..304ebbc1 100644 --- a/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs +++ b/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs @@ -41,7 +41,7 @@ using Encoding = System.Text.Encoding; namespace DiscImageChef.Filesystems.UCSDPascal { // Information from Call-A.P.P.L.E. Pascal Disk Directory Structure - public partial class PascalPlugin : IFilesystem + public partial class PascalPlugin : IReadOnlyFilesystem { IMediaImage device; byte[] bootBlocks; diff --git a/DiscImageChef.Filesystems/UDF.cs b/DiscImageChef.Filesystems/UDF.cs index 80d27b96..9993d133 100644 --- a/DiscImageChef.Filesystems/UDF.cs +++ b/DiscImageChef.Filesystems/UDF.cs @@ -300,61 +300,6 @@ namespace DiscImageChef.Filesystems 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 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 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] enum EntityFlags : byte { diff --git a/DiscImageChef.Filesystems/UNICOS.cs b/DiscImageChef.Filesystems/UNICOS.cs index 23fa0350..9261e2da 100644 --- a/DiscImageChef.Filesystems/UNICOS.cs +++ b/DiscImageChef.Filesystems/UNICOS.cs @@ -133,61 +133,6 @@ namespace DiscImageChef.Filesystems 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 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 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)] [SuppressMessage("ReSharper", "InconsistentNaming")] struct nc1ireg_sb diff --git a/DiscImageChef.Filesystems/UNIXBFS.cs b/DiscImageChef.Filesystems/UNIXBFS.cs index deacb769..bc91193b 100644 --- a/DiscImageChef.Filesystems/UNIXBFS.cs +++ b/DiscImageChef.Filesystems/UNIXBFS.cs @@ -105,70 +105,17 @@ namespace DiscImageChef.Filesystems sb.AppendFormat("Filesystem name: {0}", bfsSb.s_fsname).AppendLine(); sb.AppendFormat("Volume name: {0}", bfsSb.s_volume).AppendLine(); - xmlFsType = new FileSystemType(); - xmlFsType.Type = "BFS"; - xmlFsType.VolumeName = bfsSb.s_volume; - xmlFsType.ClusterSize = (int)imagePlugin.Info.SectorSize; - xmlFsType.Clusters = (long)(partition.End - partition.Start + 1); + xmlFsType = new FileSystemType + { + Type = "BFS", + VolumeName = bfsSb.s_volume, + ClusterSize = (int)imagePlugin.Info.SectorSize, + Clusters = (long)(partition.End - partition.Start + 1) + }; 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 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 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 { /// 0x00, 0x1BADFACE diff --git a/DiscImageChef.Filesystems/VMfs.cs b/DiscImageChef.Filesystems/VMfs.cs index b2822269..f892ff41 100644 --- a/DiscImageChef.Filesystems/VMfs.cs +++ b/DiscImageChef.Filesystems/VMfs.cs @@ -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 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 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] enum VMfsFlags : byte { diff --git a/DiscImageChef.Filesystems/VxFS.cs b/DiscImageChef.Filesystems/VxFS.cs index 2272d73e..e15e93fb 100644 --- a/DiscImageChef.Filesystems/VxFS.cs +++ b/DiscImageChef.Filesystems/VxFS.cs @@ -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 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 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)] struct VxSuperBlock { diff --git a/DiscImageChef.Filesystems/XFS.cs b/DiscImageChef.Filesystems/XFS.cs index 34c063d8..f54a8bc5 100644 --- a/DiscImageChef.Filesystems/XFS.cs +++ b/DiscImageChef.Filesystems/XFS.cs @@ -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 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 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)] struct XFS_Superblock { diff --git a/DiscImageChef.Filesystems/Xia.cs b/DiscImageChef.Filesystems/Xia.cs index e4127eed..9978df0e 100644 --- a/DiscImageChef.Filesystems/Xia.cs +++ b/DiscImageChef.Filesystems/Xia.cs @@ -119,61 +119,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// Xia superblock /// diff --git a/DiscImageChef.Filesystems/ZFS.cs b/DiscImageChef.Filesystems/ZFS.cs index 9f70c548..feb948e5 100644 --- a/DiscImageChef.Filesystems/ZFS.cs +++ b/DiscImageChef.Filesystems/ZFS.cs @@ -626,61 +626,6 @@ namespace DiscImageChef.Filesystems 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 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 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 { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] word; diff --git a/DiscImageChef.Filesystems/dump.cs b/DiscImageChef.Filesystems/dump.cs index 50d85933..abc92da8 100644 --- a/DiscImageChef.Filesystems/dump.cs +++ b/DiscImageChef.Filesystems/dump.cs @@ -299,61 +299,6 @@ namespace DiscImageChef.Filesystems 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 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 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 [StructLayout(LayoutKind.Sequential, Pack = 1)] struct spcl16 diff --git a/DiscImageChef.Filesystems/exFAT.cs b/DiscImageChef.Filesystems/exFAT.cs index 6833ac5e..48367f83 100644 --- a/DiscImageChef.Filesystems/exFAT.cs +++ b/DiscImageChef.Filesystems/exFAT.cs @@ -148,61 +148,6 @@ namespace DiscImageChef.Filesystems 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 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 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] enum VolumeFlags : ushort { diff --git a/DiscImageChef.Filesystems/ext2FS.cs b/DiscImageChef.Filesystems/ext2FS.cs index d2e0a19f..70509b7b 100644 --- a/DiscImageChef.Filesystems/ext2FS.cs +++ b/DiscImageChef.Filesystems/ext2FS.cs @@ -631,61 +631,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// ext2/3/4 superblock /// diff --git a/DiscImageChef.Filesystems/extFS.cs b/DiscImageChef.Filesystems/extFS.cs index b3020970..8a667ef2 100644 --- a/DiscImageChef.Filesystems/extFS.cs +++ b/DiscImageChef.Filesystems/extFS.cs @@ -130,61 +130,6 @@ namespace DiscImageChef.Filesystems 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 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 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; - } - /// /// ext superblock /// diff --git a/DiscImageChef/Commands/ExtractFiles.cs b/DiscImageChef/Commands/ExtractFiles.cs index a08271c4..efedf61a 100644 --- a/DiscImageChef/Commands/ExtractFiles.cs +++ b/DiscImageChef/Commands/ExtractFiles.cs @@ -134,7 +134,7 @@ namespace DiscImageChef.Commands Core.Partitions.AddSchemesToStats(partitions); List idPlugins; - IFilesystem plugin; + IReadOnlyFilesystem plugin; Errno error; if(partitions.Count == 0) DicConsole.DebugWriteLine("Extract-Files command", "No partitions found"); else @@ -155,10 +155,10 @@ namespace DiscImageChef.Commands DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); 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}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug); @@ -307,9 +307,9 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin); DicConsole.WriteLine($"Identified by {plugin.Name}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); error = fs.Mount(imageFormat, partitions[i], encoding, options.Debug); if(error == Errno.NoError) @@ -462,10 +462,10 @@ namespace DiscImageChef.Commands DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); 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}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); error = fs.Mount(imageFormat, wholePart, encoding, options.Debug); if(error == Errno.NoError) @@ -604,9 +604,9 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin); DicConsole.WriteLine($"Identified by {plugin.Name}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); error = fs.Mount(imageFormat, wholePart, encoding, options.Debug); if(error == Errno.NoError) diff --git a/DiscImageChef/Commands/Formats.cs b/DiscImageChef/Commands/Formats.cs index 8ff563f1..5cba693a 100644 --- a/DiscImageChef/Commands/Formats.cs +++ b/DiscImageChef/Commands/Formats.cs @@ -31,6 +31,7 @@ // ****************************************************************************/ using System.Collections.Generic; +using System.Linq; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.DiscImages; @@ -47,14 +48,14 @@ namespace DiscImageChef.Commands PluginBase plugins = new PluginBase(); 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"); foreach(KeyValuePair kvp in filtersList.Filters) 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 disc image formats:"); + DicConsole.WriteLine("Supported disc image formats ({0}):", plugins.ImagePluginsList.Count); if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); foreach(KeyValuePair kvp in plugins.ImagePluginsList) if(formatsOptions.Verbose) @@ -62,15 +63,23 @@ namespace DiscImageChef.Commands else DicConsole.WriteLine(kvp.Value.Name); 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"); - foreach(KeyValuePair kvp in plugins.PluginsList) + foreach(KeyValuePair kvp in plugins.PluginsList.Where(t => !t.Value.GetType().GetInterfaces().Contains(typeof(IReadOnlyFilesystem)))) 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:"); + 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 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"); foreach(KeyValuePair kvp in plugins.PartPluginsList) if(formatsOptions.Verbose) diff --git a/DiscImageChef/Commands/Ls.cs b/DiscImageChef/Commands/Ls.cs index e5ed4698..71f40041 100644 --- a/DiscImageChef/Commands/Ls.cs +++ b/DiscImageChef/Commands/Ls.cs @@ -121,7 +121,7 @@ namespace DiscImageChef.Commands Core.Partitions.AddSchemesToStats(partitions); List idPlugins; - IFilesystem plugin; + IReadOnlyFilesystem plugin; Errno error; if(partitions.Count == 0) DicConsole.DebugWriteLine("Ls command", "No partitions found"); else @@ -142,10 +142,10 @@ namespace DiscImageChef.Commands DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); 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}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); if(fs == null) continue; @@ -170,11 +170,11 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin); if(plugin == null) continue; DicConsole.WriteLine($"Identified by {plugin.Name}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); if(fs == null) continue; @@ -209,10 +209,10 @@ namespace DiscImageChef.Commands DicConsole.WriteLine($"Identified by {idPlugins.Count} plugins"); 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}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); if(fs == null) continue; @@ -233,11 +233,11 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out plugin); if(plugin != null) { DicConsole.WriteLine($"Identified by {plugin.Name}."); - IFilesystem fs = (IFilesystem)plugin + IReadOnlyFilesystem fs = (IReadOnlyFilesystem)plugin .GetType().GetConstructor(Type.EmptyTypes)?.Invoke(new object[] { }); if(fs != null) {