Move filesystems to a separate library.

This commit is contained in:
2015-10-05 20:04:05 +01:00
parent fda7fee90c
commit 80a1e37009
31 changed files with 243 additions and 81 deletions

View File

@@ -1,3 +1,8 @@
2015-10-05 Natalia Portillo <claunia@claunia.com>
* DiscImageChef.sln:
Move filesystems to a separate library.
2015-10-05 Natalia Portillo <claunia@claunia.com> 2015-10-05 Natalia Portillo <claunia@claunia.com>
* DiscImageChef.sln: * DiscImageChef.sln:

View File

@@ -46,7 +46,7 @@ namespace DiscImageChef.Plugins
{ {
class AmigaDOSPlugin : Plugin class AmigaDOSPlugin : Plugin
{ {
public AmigaDOSPlugin(PluginBase Core) public AmigaDOSPlugin()
{ {
Name = "Amiga DOS filesystem"; Name = "Amiga DOS filesystem";
PluginUUID = new Guid("3c882400-208c-427d-a086-9119852a1bc7"); PluginUUID = new Guid("3c882400-208c-427d-a086-9119852a1bc7");
@@ -199,12 +199,12 @@ namespace DiscImageChef.Plugins
return false; return false;
ulong root_ptr = BigEndianBitConverter.ToUInt32(sector, 0x08); ulong root_ptr = BigEndianBitConverter.ToUInt32(sector, 0x08);
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (AmigaDOS plugin): Bootblock points to {0} as Rootblock", root_ptr); Console.WriteLine("DEBUG (AmigaDOS plugin): Bootblock points to {0} as Rootblock", root_ptr);
root_ptr = (partitionEnd - partitionStart) / 2 + partitionStart; root_ptr = (partitionEnd - partitionStart) / 2 + partitionStart;
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (AmigaDOS plugin): Nonetheless, going to block {0} for Rootblock", root_ptr); Console.WriteLine("DEBUG (AmigaDOS plugin): Nonetheless, going to block {0} for Rootblock", root_ptr);
if (root_ptr >= imagePlugin.GetSectors()) if (root_ptr >= imagePlugin.GetSectors())
@@ -242,7 +242,7 @@ namespace DiscImageChef.Plugins
bootBlk.bootCode = new byte[BootBlockSectors.Length - 0x0C]; bootBlk.bootCode = new byte[BootBlockSectors.Length - 0x0C];
Array.Copy(BootBlockSectors, 0x0C, bootBlk.bootCode, 0, BootBlockSectors.Length - 0x0C); Array.Copy(BootBlockSectors, 0x0C, bootBlk.bootCode, 0, BootBlockSectors.Length - 0x0C);
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("DEBUG (AmigaDOS plugin): Stored boot blocks checksum is 0x{0:X8}", bootBlk.checksum); Console.WriteLine("DEBUG (AmigaDOS plugin): Stored boot blocks checksum is 0x{0:X8}", bootBlk.checksum);
Console.WriteLine("DEBUG (AmigaDOS plugin): Probably incorrect calculated boot blocks checksum is 0x{0:X8}", AmigaChecksum(RootBlockSector)); Console.WriteLine("DEBUG (AmigaDOS plugin): Probably incorrect calculated boot blocks checksum is 0x{0:X8}", AmigaChecksum(RootBlockSector));
@@ -290,7 +290,7 @@ namespace DiscImageChef.Plugins
rootBlk.extension = BigEndianBitConverter.ToUInt32(RootBlockSector, (int)(0x18 + rootBlk.hashTableSize * 4 + 192)); rootBlk.extension = BigEndianBitConverter.ToUInt32(RootBlockSector, (int)(0x18 + rootBlk.hashTableSize * 4 + 192));
rootBlk.sec_type = BigEndianBitConverter.ToUInt32(RootBlockSector, (int)(0x18 + rootBlk.hashTableSize * 4 + 196)); rootBlk.sec_type = BigEndianBitConverter.ToUInt32(RootBlockSector, (int)(0x18 + rootBlk.hashTableSize * 4 + 196));
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("DEBUG (AmigaDOS plugin): Stored root block checksum is 0x{0:X8}", rootBlk.checksum); Console.WriteLine("DEBUG (AmigaDOS plugin): Stored root block checksum is 0x{0:X8}", rootBlk.checksum);
Console.WriteLine("DEBUG (AmigaDOS plugin): Probably incorrect calculated root block checksum is 0x{0:X8}", AmigaChecksum(RootBlockSector)); Console.WriteLine("DEBUG (AmigaDOS plugin): Probably incorrect calculated root block checksum is 0x{0:X8}", AmigaChecksum(RootBlockSector));

View File

@@ -52,7 +52,7 @@ namespace DiscImageChef.Plugins
// "H+" // "H+"
const UInt16 HFSBB_MAGIC = 0x4C4B; const UInt16 HFSBB_MAGIC = 0x4C4B;
// "LK" // "LK"
public AppleHFS(PluginBase Core) public AppleHFS()
{ {
Name = "Apple Hierarchical File System"; Name = "Apple Hierarchical File System";
PluginUUID = new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F"); PluginUUID = new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F");
@@ -82,7 +82,7 @@ namespace DiscImageChef.Plugins
if (drSigWord == HFS_MAGIC) if (drSigWord == HFS_MAGIC)
{ {
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (HFS Plugin): HFS sector size is 512 bytes, but device's 2048"); Console.WriteLine("DEBUG (HFS Plugin): HFS sector size is 512 bytes, but device's 2048");
drSigWord = BigEndianBitConverter.ToUInt16(mdb_sector, 0x7C); // Seek to embedded HFS+ signature drSigWord = BigEndianBitConverter.ToUInt16(mdb_sector, 0x7C); // Seek to embedded HFS+ signature

View File

@@ -51,7 +51,7 @@ namespace DiscImageChef.Plugins
// "H+" // "H+"
const UInt16 HFSX_MAGIC = 0x4858; const UInt16 HFSX_MAGIC = 0x4858;
// "HX" // "HX"
public AppleHFSPlus(PluginBase Core) public AppleHFSPlus()
{ {
Name = "Apple HFS+ filesystem"; Name = "Apple HFS+ filesystem";
PluginUUID = new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08"); PluginUUID = new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08");

View File

@@ -49,7 +49,7 @@ namespace DiscImageChef.Plugins
// "LK" // "LK"
const UInt16 MFSBB_MAGIC = 0x4C4B; const UInt16 MFSBB_MAGIC = 0x4C4B;
public AppleMFS(PluginBase Core) public AppleMFS()
{ {
Name = "Apple Macintosh File System"; Name = "Apple Macintosh File System";
PluginUUID = new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A"); PluginUUID = new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A");

View File

@@ -57,7 +57,7 @@ namespace DiscImageChef.Plugins
const UInt32 BEFS_CLEAN = 0x434C454E; const UInt32 BEFS_CLEAN = 0x434C454E;
const UInt32 BEFS_DIRTY = 0x44495254; const UInt32 BEFS_DIRTY = 0x44495254;
public BeFS(PluginBase Core) public BeFS()
{ {
Name = "Be Filesystem"; Name = "Be Filesystem";
PluginUUID = new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672"); PluginUUID = new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672");

View File

@@ -0,0 +1,29 @@
2015-10-05 Natalia Portillo <claunia@claunia.com>
* ODS.cs:
* FFS.cs:
* FAT.cs:
* BFS.cs:
* SysV.cs:
* HPFS.cs:
* NTFS.cs:
* Opera.cs:
* extFS.cs:
* ext2FS.cs:
* ProDOS.cs:
* Plugin.cs:
* LisaFS.cs:
* Symbian.cs:
* ISO9660.cs:
* SolarFS.cs:
* MinixFS.cs:
* UNIXBFS.cs:
* AppleMFS.cs:
* AppleHFS.cs:
* AmigaDOS.cs:
* PCEngine.cs:
* AppleHFSPlus.cs:
* Properties/AssemblyInfo.cs:
* DiscImageChef.Filesystems.csproj:
Move filesystems to a separate library.

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D7016DF2-5A5E-4524-B40D-BA2D59576688}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>DiscImageChef.Filesystems</RootNamespace>
<AssemblyName>DiscImageChef.Filesystems</AssemblyName>
<ReleaseVersion>2.2</ReleaseVersion>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="AmigaDOS.cs" />
<Compile Include="AppleHFS.cs" />
<Compile Include="AppleHFSPlus.cs" />
<Compile Include="AppleMFS.cs" />
<Compile Include="BFS.cs" />
<Compile Include="ext2FS.cs" />
<Compile Include="extFS.cs" />
<Compile Include="FAT.cs" />
<Compile Include="FFS.cs" />
<Compile Include="HPFS.cs" />
<Compile Include="ISO9660.cs" />
<Compile Include="LisaFS.cs" />
<Compile Include="MinixFS.cs" />
<Compile Include="NTFS.cs" />
<Compile Include="ODS.cs" />
<Compile Include="Opera.cs" />
<Compile Include="PCEngine.cs" />
<Compile Include="Plugin.cs" />
<Compile Include="ProDOS.cs" />
<Compile Include="SolarFS.cs" />
<Compile Include="Symbian.cs" />
<Compile Include="SysV.cs" />
<Compile Include="UNIXBFS.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<ProjectReference Include="..\DiscImageChef.Checksums\DiscImageChef.Checksums.csproj">
<Project>{CC48B324-A532-4A45-87A6-6F91F7141E8D}</Project>
<Name>DiscImageChef.Checksums</Name>
</ProjectReference>
<ProjectReference Include="..\DiscImageChef.CommonTypes\DiscImageChef.CommonTypes.csproj">
<Project>{F2B84194-26EB-4227-B1C5-6602517E85AE}</Project>
<Name>DiscImageChef.CommonTypes</Name>
</ProjectReference>
<ProjectReference Include="..\DiscImageChef.Helpers\DiscImageChef.Helpers.csproj">
<Project>{F8BDF57B-1571-4CD0-84B3-B422088D359A}</Project>
<Name>DiscImageChef.Helpers</Name>
</ProjectReference>
<ProjectReference Include="..\DiscImageChef.Partitions\DiscImageChef.Partitions.csproj">
<Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project>
<Name>DiscImageChef.Partitions</Name>
</ProjectReference>
<ProjectReference Include="..\DiscImageChef.DiscImages\DiscImageChef.DiscImages.csproj">
<Project>{74032CBC-339B-42F3-AF6F-E96C261F3E6A}</Project>
<Name>DiscImageChef.DiscImages</Name>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -46,7 +46,7 @@ namespace DiscImageChef.Plugins
{ {
class FAT : Plugin class FAT : Plugin
{ {
public FAT(PluginBase Core) public FAT()
{ {
Name = "Microsoft File Allocation Table"; Name = "Microsoft File Allocation Table";
PluginUUID = new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0"); PluginUUID = new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0");
@@ -86,7 +86,7 @@ namespace DiscImageChef.Plugins
{ {
first_fat_entry = BitConverter.ToUInt32(fat_sector, 0); // Easier to manage first_fat_entry = BitConverter.ToUInt32(fat_sector, 0); // Easier to manage
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("DEBUG (FAT plugin): fats_no = {0}", fats_no); Console.WriteLine("DEBUG (FAT plugin): fats_no = {0}", fats_no);
Console.WriteLine("DEBUG (FAT plugin): media_descriptor = 0x{0:X2}", media_descriptor); Console.WriteLine("DEBUG (FAT plugin): media_descriptor = 0x{0:X2}", media_descriptor);

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
public class FFSPlugin : Plugin public class FFSPlugin : Plugin
{ {
public FFSPlugin(PluginBase Core) public FFSPlugin()
{ {
Name = "BSD Fast File System (aka UNIX File System, UFS)"; Name = "BSD Fast File System (aka UNIX File System, UFS)";
PluginUUID = new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3"); PluginUUID = new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3");
@@ -379,7 +379,7 @@ namespace DiscImageChef.Plugins
ufs_sb.fs_magic = BigEndianBitConverter.ToUInt32(ufs_sb_sectors, 0x055C); // 0x055C magic number ufs_sb.fs_magic = BigEndianBitConverter.ToUInt32(ufs_sb_sectors, 0x055C); // 0x055C magic number
ufs_sb.fs_space = ufs_sb_sectors[0x0560]; // 0x0560 list of blocks for each rotation ufs_sb.fs_space = ufs_sb_sectors[0x0560]; // 0x0560 list of blocks for each rotation
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("ufs_sb offset: 0x{0:X8}", sb_offset); Console.WriteLine("ufs_sb offset: 0x{0:X8}", sb_offset);
Console.WriteLine("fs_link_42bsd: 0x{0:X8}", ufs_sb.fs_link_42bsd); Console.WriteLine("fs_link_42bsd: 0x{0:X8}", ufs_sb.fs_link_42bsd);

View File

@@ -46,7 +46,7 @@ namespace DiscImageChef.Plugins
{ {
class HPFS : Plugin class HPFS : Plugin
{ {
public HPFS(PluginBase Core) public HPFS()
{ {
Name = "OS/2 High Performance File System"; Name = "OS/2 High Performance File System";
PluginUUID = new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5"); PluginUUID = new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5");

View File

@@ -51,7 +51,7 @@ namespace DiscImageChef.Plugins
{ {
static bool alreadyLaunched; static bool alreadyLaunched;
public ISO9660Plugin(PluginBase Core) public ISO9660Plugin()
{ {
Name = "ISO9660 Filesystem"; Name = "ISO9660 Filesystem";
PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8"); PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
@@ -156,15 +156,15 @@ namespace DiscImageChef.Plugins
while (true) while (true)
{ {
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Processing VD loop no. {0}", counter); Console.WriteLine("DEBUG (ISO9660 Plugin): Processing VD loop no. {0}", counter);
// Seek to Volume Descriptor // Seek to Volume Descriptor
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Reading sector {0}", 16 + counter + partitionStart); Console.WriteLine("DEBUG (ISO9660 Plugin): Reading sector {0}", 16 + counter + partitionStart);
byte[] vd_sector = imagePlugin.ReadSector(16 + counter + partitionStart); byte[] vd_sector = imagePlugin.ReadSector(16 + counter + partitionStart);
VDType = vd_sector[0]; VDType = vd_sector[0];
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): VDType = {0}", VDType); Console.WriteLine("DEBUG (ISO9660 Plugin): VDType = {0}", VDType);
if (VDType == 255) // Supposedly we are in the PVD. if (VDType == 255) // Supposedly we are in the PVD.
@@ -271,7 +271,7 @@ namespace DiscImageChef.Plugins
ulong i = (ulong)BitConverter.ToInt32(VDPathTableStart, 0); ulong i = (ulong)BitConverter.ToInt32(VDPathTableStart, 0);
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): VDPathTableStart = {0} + {1} = {2}", i, partitionStart, i + partitionStart); Console.WriteLine("DEBUG (ISO9660 Plugin): VDPathTableStart = {0} + {1} = {2}", i, partitionStart, i + partitionStart);
// TODO: Check this // TODO: Check this
@@ -305,7 +305,7 @@ namespace DiscImageChef.Plugins
byte[] ipbin_sector = imagePlugin.ReadSector(0 + partitionStart); byte[] ipbin_sector = imagePlugin.ReadSector(0 + partitionStart);
Array.Copy(ipbin_sector, 0x000, SegaHardwareID, 0, 16); Array.Copy(ipbin_sector, 0x000, SegaHardwareID, 0, 16);
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): SegaHardwareID = \"{0}\"", Encoding.ASCII.GetString(SegaHardwareID)); Console.WriteLine("DEBUG (ISO9660 Plugin): SegaHardwareID = \"{0}\"", Encoding.ASCII.GetString(SegaHardwareID));
switch (Encoding.ASCII.GetString(SegaHardwareID)) switch (Encoding.ASCII.GetString(SegaHardwareID))
@@ -316,7 +316,7 @@ namespace DiscImageChef.Plugins
{ {
SegaCD = true; // Ok, this contains SegaCD IP.BIN SegaCD = true; // Ok, this contains SegaCD IP.BIN
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found SegaCD IP.BIN"); Console.WriteLine("DEBUG (ISO9660 Plugin): Found SegaCD IP.BIN");
IPBinInformation.AppendLine("--------------------------------"); IPBinInformation.AppendLine("--------------------------------");
@@ -393,8 +393,8 @@ namespace DiscImageChef.Plugins
Array.Copy(ipbin_sector, 0x1B0, spare_space7, 0, 64); // Inside here should be modem information, but I need to get a modem-enabled game Array.Copy(ipbin_sector, 0x1B0, spare_space7, 0, 64); // Inside here should be modem information, but I need to get a modem-enabled game
Array.Copy(ipbin_sector, 0x1F0, region_codes, 0, 16); // Region codes, space-filled Array.Copy(ipbin_sector, 0x1F0, region_codes, 0, 16); // Region codes, space-filled
if(MainClass.isDebug) //if(MainClass.isDebug)
{ //{
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.volume_name = \"{0}\"", Encoding.ASCII.GetString(volume_name)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.volume_name = \"{0}\"", Encoding.ASCII.GetString(volume_name));
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.system_name = \"{0}\"", Encoding.ASCII.GetString(system_name)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.system_name = \"{0}\"", Encoding.ASCII.GetString(system_name));
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.volume_version = \"{0}\"", Encoding.ASCII.GetString(volume_version)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.volume_version = \"{0}\"", Encoding.ASCII.GetString(volume_version));
@@ -416,7 +416,7 @@ namespace DiscImageChef.Plugins
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.product_code = \"{0}\"", Encoding.ASCII.GetString(product_code)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.product_code = \"{0}\"", Encoding.ASCII.GetString(product_code));
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals));
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.region_codes = \"{0}\"", Encoding.ASCII.GetString(region_codes)); Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.region_codes = \"{0}\"", Encoding.ASCII.GetString(region_codes));
} //}
// Decoding all data // Decoding all data
DateTime ipbindate; DateTime ipbindate;
@@ -531,7 +531,7 @@ namespace DiscImageChef.Plugins
{ {
Saturn = true; Saturn = true;
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Saturn IP.BIN"); Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Saturn IP.BIN");
IPBinInformation.AppendLine("--------------------------------"); IPBinInformation.AppendLine("--------------------------------");
@@ -565,8 +565,8 @@ namespace DiscImageChef.Plugins
Array.Copy(ipbin_sector, 0x050, peripherals, 0, 16); // Supported peripherals, see above Array.Copy(ipbin_sector, 0x050, peripherals, 0, 16); // Supported peripherals, see above
Array.Copy(ipbin_sector, 0x060, product_name, 0, 112); // Game name, space-filled Array.Copy(ipbin_sector, 0x060, product_name, 0, 112); // Game name, space-filled
if(MainClass.isDebug) //if(MainClass.isDebug)
{ //{
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.maker_id = \"{0}\"", Encoding.ASCII.GetString(maker_id)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.maker_id = \"{0}\"", Encoding.ASCII.GetString(maker_id));
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_no = \"{0}\"", Encoding.ASCII.GetString(product_no)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_no = \"{0}\"", Encoding.ASCII.GetString(product_no));
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_version = \"{0}\"", Encoding.ASCII.GetString(product_version)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_version = \"{0}\"", Encoding.ASCII.GetString(product_version));
@@ -580,7 +580,7 @@ namespace DiscImageChef.Plugins
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.region_codes = \"{0}\"", Encoding.ASCII.GetString(region_codes)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.region_codes = \"{0}\"", Encoding.ASCII.GetString(region_codes));
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals));
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name)); Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name));
} //}
// Decoding all data // Decoding all data
@@ -654,7 +654,7 @@ namespace DiscImageChef.Plugins
{ {
Dreamcast = true; Dreamcast = true;
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Dreamcast IP.BIN"); Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Dreamcast IP.BIN");
IPBinInformation.AppendLine("--------------------------------"); IPBinInformation.AppendLine("--------------------------------");
@@ -698,8 +698,8 @@ namespace DiscImageChef.Plugins
Array.Copy(ipbin_sector, 0x070, producer, 0, 16); // Game producer, space-filled Array.Copy(ipbin_sector, 0x070, producer, 0, 16); // Game producer, space-filled
Array.Copy(ipbin_sector, 0x080, product_name, 0, 128); // Game name, space-filled Array.Copy(ipbin_sector, 0x080, product_name, 0, 128); // Game name, space-filled
if(MainClass.isDebug) //if(MainClass.isDebug)
{ //{
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.maker_id = \"{0}\"", Encoding.ASCII.GetString(maker_id)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.maker_id = \"{0}\"", Encoding.ASCII.GetString(maker_id));
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.dreamcast_crc = 0x{0}", Encoding.ASCII.GetString(dreamcast_crc)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.dreamcast_crc = 0x{0}", Encoding.ASCII.GetString(dreamcast_crc));
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.spare_space1 = \"{0}\"", Encoding.ASCII.GetString(spare_space1)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.spare_space1 = \"{0}\"", Encoding.ASCII.GetString(spare_space1));
@@ -717,7 +717,7 @@ namespace DiscImageChef.Plugins
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.boot_filename = \"{0}\"", Encoding.ASCII.GetString(boot_filename)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.boot_filename = \"{0}\"", Encoding.ASCII.GetString(boot_filename));
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.producer = \"{0}\"", Encoding.ASCII.GetString(producer)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.producer = \"{0}\"", Encoding.ASCII.GetString(producer));
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name)); Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name));
} //}
// Decoding all data // Decoding all data
DateTime ipbindate; DateTime ipbindate;

View File

@@ -63,7 +63,7 @@ namespace DiscImageChef.Plugins
const UInt16 FILEID_ERASED = 0x7FFF; const UInt16 FILEID_ERASED = 0x7FFF;
const UInt16 FILEID_MAX = FILEID_ERASED; const UInt16 FILEID_MAX = FILEID_ERASED;
public LisaFS(PluginBase Core) public LisaFS()
{ {
Name = "Apple Lisa File System"; Name = "Apple Lisa File System";
PluginUUID = new Guid("7E6034D1-D823-4248-A54D-239742B28391"); PluginUUID = new Guid("7E6034D1-D823-4248-A54D-239742B28391");
@@ -92,7 +92,7 @@ namespace DiscImageChef.Plugins
byte[] tag = imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag); byte[] tag = imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag);
UInt16 fileid = BigEndianBitConverter.ToUInt16(tag, 0x04); UInt16 fileid = BigEndianBitConverter.ToUInt16(tag, 0x04);
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (LisaFS plugin): Sector {0}, file ID 0x{1:X4}", i, fileid); Console.WriteLine("DEBUG (LisaFS plugin): Sector {0}, file ID 0x{1:X4}", i, fileid);
if (fileid == FILEID_MDDF) if (fileid == FILEID_MDDF)
@@ -107,7 +107,7 @@ namespace DiscImageChef.Plugins
mddf.blocksize = BigEndianBitConverter.ToUInt16(sector, 0x7C); mddf.blocksize = BigEndianBitConverter.ToUInt16(sector, 0x7C);
mddf.datasize = BigEndianBitConverter.ToUInt16(sector, 0x7E); mddf.datasize = BigEndianBitConverter.ToUInt16(sector, 0x7E);
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("DEBUG (LisaFS plugin): Current sector = {0}", i); Console.WriteLine("DEBUG (LisaFS plugin): Current sector = {0}", i);
Console.WriteLine("DEBUG (LisaFS plugin): mddf.mddf_block = {0}", mddf.mddf_block); Console.WriteLine("DEBUG (LisaFS plugin): mddf.mddf_block = {0}", mddf.mddf_block);
@@ -149,7 +149,7 @@ namespace DiscImageChef.Plugins
} }
catch (Exception ex) catch (Exception ex)
{ {
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (LisaFS plugin): Exception {0}, {1}, {2}", ex.Message, ex.InnerException, ex.StackTrace); Console.WriteLine("DEBUG (LisaFS plugin): Exception {0}, {1}, {2}", ex.Message, ex.InnerException, ex.StackTrace);
return false; return false;
} }
@@ -181,7 +181,7 @@ namespace DiscImageChef.Plugins
byte[] tag = imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag); byte[] tag = imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag);
UInt16 fileid = BigEndianBitConverter.ToUInt16(tag, 0x04); UInt16 fileid = BigEndianBitConverter.ToUInt16(tag, 0x04);
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (LisaFS plugin): Sector {0}, file ID 0x{1:X4}", i, fileid); Console.WriteLine("DEBUG (LisaFS plugin): Sector {0}, file ID 0x{1:X4}", i, fileid);
if (fileid == FILEID_MDDF) if (fileid == FILEID_MDDF)
@@ -272,7 +272,7 @@ namespace DiscImageChef.Plugins
mddf.vol_sequence = BigEndianBitConverter.ToUInt16(sector, 0x136); mddf.vol_sequence = BigEndianBitConverter.ToUInt16(sector, 0x136);
mddf.vol_left_mounted = sector[0x138]; mddf.vol_left_mounted = sector[0x138];
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("mddf.unknown1 = 0x{0:X2} ({0})", mddf.unknown1); Console.WriteLine("mddf.unknown1 = 0x{0:X2} ({0})", mddf.unknown1);
Console.WriteLine("mddf.unknown2 = 0x{0:X2} ({0})", mddf.unknown2); Console.WriteLine("mddf.unknown2 = 0x{0:X2} ({0})", mddf.unknown2);
@@ -400,7 +400,7 @@ namespace DiscImageChef.Plugins
} }
catch (Exception ex) catch (Exception ex)
{ {
if (MainClass.isDebug) //if (MainClass.isDebug)
Console.WriteLine("DEBUG (LisaFS plugin): Exception {0}, {1}, {2}", ex.Message, ex.InnerException, ex.StackTrace); Console.WriteLine("DEBUG (LisaFS plugin): Exception {0}, {1}, {2}", ex.Message, ex.InnerException, ex.StackTrace);
return; return;
} }

View File

@@ -67,7 +67,7 @@ namespace DiscImageChef.Plugins
const UInt16 MINIX3_CIGAM = 0x5A4D; const UInt16 MINIX3_CIGAM = 0x5A4D;
// Minix v3, 60 char filenames // Minix v3, 60 char filenames
public MinixFS(PluginBase Core) public MinixFS()
{ {
Name = "Minix Filesystem"; Name = "Minix Filesystem";
PluginUUID = new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3"); PluginUUID = new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3");

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
class NTFS : Plugin class NTFS : Plugin
{ {
public NTFS(PluginBase Core) public NTFS()
{ {
Name = "New Technology File System (NTFS)"; Name = "New Technology File System (NTFS)";
PluginUUID = new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871"); PluginUUID = new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871");

View File

@@ -52,7 +52,7 @@ namespace DiscImageChef.Plugins
{ {
class ODS : Plugin class ODS : Plugin
{ {
public ODS(PluginBase Core) public ODS()
{ {
Name = "Files-11 On-Disk Structure"; Name = "Files-11 On-Disk Structure";
PluginUUID = new Guid("de20633c-8021-4384-aeb0-83b0df14491f"); PluginUUID = new Guid("de20633c-8021-4384-aeb0-83b0df14491f");

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
class OperaFS : Plugin class OperaFS : Plugin
{ {
public OperaFS(PluginBase Core) public OperaFS()
{ {
Name = "Opera Filesystem Plugin"; Name = "Opera Filesystem Plugin";
PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd"); PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd");

View File

@@ -44,7 +44,7 @@ namespace DiscImageChef.Plugins
{ {
class PCEnginePlugin : Plugin class PCEnginePlugin : Plugin
{ {
public PCEnginePlugin(PluginBase Core) public PCEnginePlugin()
{ {
Name = "PC Engine CD Plugin"; Name = "PC Engine CD Plugin";
PluginUUID = new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3"); PluginUUID = new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3");

View File

@@ -83,7 +83,7 @@ namespace DiscImageChef.Plugins
const byte ProDOSEntryLength = 0x27; const byte ProDOSEntryLength = 0x27;
const byte ProDOSEntriesPerBlock = 0x0D; const byte ProDOSEntriesPerBlock = 0x0D;
public ProDOSPlugin(PluginBase Core) public ProDOSPlugin()
{ {
Name = "Apple ProDOS filesystem"; Name = "Apple ProDOS filesystem";
PluginUUID = new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF"); PluginUUID = new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF");
@@ -156,7 +156,7 @@ namespace DiscImageChef.Plugins
year += 1900; year += 1900;
if (year < 1940) if (year < 1940)
year += 100; year += 100;
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("DEBUG (ProDOS plugin): temp_timestamp_left = 0x{0:X4}", temp_timestamp_left); Console.WriteLine("DEBUG (ProDOS plugin): temp_timestamp_left = 0x{0:X4}", temp_timestamp_left);
Console.WriteLine("DEBUG (ProDOS plugin): temp_timestamp_right = 0x{0:X4}", temp_timestamp_right); Console.WriteLine("DEBUG (ProDOS plugin): temp_timestamp_right = 0x{0:X4}", temp_timestamp_right);
@@ -210,7 +210,7 @@ namespace DiscImageChef.Plugins
if ((rootDirectoryKeyBlock.header.access & ProDOSBackupAttribute) == ProDOSBackupAttribute) if ((rootDirectoryKeyBlock.header.access & ProDOSBackupAttribute) == ProDOSBackupAttribute)
sbInformation.AppendLine("Volume must be backed up"); sbInformation.AppendLine("Volume must be backed up");
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
if ((rootDirectoryKeyBlock.header.access & ProDOSReservedAttributeMask) != 0) if ((rootDirectoryKeyBlock.header.access & ProDOSReservedAttributeMask) != 0)
sbInformation.AppendFormat("DEBUG(ProDOS plugin): Reserved attributes are set: {0:X2}", rootDirectoryKeyBlock.header.access).AppendLine(); sbInformation.AppendFormat("DEBUG(ProDOS plugin): Reserved attributes are set: {0:X2}", rootDirectoryKeyBlock.header.access).AppendLine();

View File

@@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("DiscImageChef.Filesystems")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Claunia.com")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("© Claunia.com")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
class SolarFS : Plugin class SolarFS : Plugin
{ {
public SolarFS(PluginBase Core) public SolarFS()
{ {
Name = "Solar_OS filesystem"; Name = "Solar_OS filesystem";
PluginUUID = new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65"); PluginUUID = new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65");
@@ -100,7 +100,7 @@ namespace DiscImageChef.Plugins
Array.Copy(bpb_sector, 0x35, bpb_strings, 0, 8); Array.Copy(bpb_sector, 0x35, bpb_strings, 0, 8);
BPB.fs_type = StringHandlers.CToString(bpb_strings); BPB.fs_type = StringHandlers.CToString(bpb_strings);
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
BPB.x86_jump = new byte[3]; BPB.x86_jump = new byte[3];
Array.Copy(bpb_sector, 0x00, BPB.x86_jump, 0, 3); Array.Copy(bpb_sector, 0x00, BPB.x86_jump, 0, 3);

View File

@@ -171,7 +171,7 @@ namespace DiscImageChef.Plugins
ZU ZU
}; };
public SymbianIS(PluginBase Core) public SymbianIS()
{ {
base.Name = "Symbian Installation File Plugin"; base.Name = "Symbian Installation File Plugin";
base.PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe48dbd"); base.PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe48dbd");

View File

@@ -60,7 +60,7 @@ namespace DiscImageChef.Plugins
const UInt16 V7_NICFREE = 50; const UInt16 V7_NICFREE = 50;
const UInt32 V7_MAXSIZE = 0x00FFFFFF; const UInt32 V7_MAXSIZE = 0x00FFFFFF;
public SysVfs(PluginBase Core) public SysVfs()
{ {
Name = "UNIX System V filesystem"; Name = "UNIX System V filesystem";
PluginUUID = new Guid("9B8D016A-8561-400E-A12A-A198283C211D"); PluginUUID = new Guid("9B8D016A-8561-400E-A12A-A198283C211D");

View File

@@ -47,7 +47,7 @@ namespace DiscImageChef.Plugins
{ {
const UInt32 BFS_MAGIC = 0x1BADFACE; const UInt32 BFS_MAGIC = 0x1BADFACE;
public BFS(PluginBase Core) public BFS()
{ {
Name = "UNIX Boot filesystem"; Name = "UNIX Boot filesystem";
PluginUUID = new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155"); PluginUUID = new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155");
@@ -87,7 +87,7 @@ namespace DiscImageChef.Plugins
Array.Copy(bfs_sb_sector, 0x22, sb_strings, 0, 6); Array.Copy(bfs_sb_sector, 0x22, sb_strings, 0, 6);
bfs_sb.s_volume = StringHandlers.CToString(sb_strings); bfs_sb.s_volume = StringHandlers.CToString(sb_strings);
if (MainClass.isDebug) //if (MainClass.isDebug)
{ {
Console.WriteLine("(BFS) bfs_sb.s_magic: 0x{0:X8}", bfs_sb.s_magic); Console.WriteLine("(BFS) bfs_sb.s_magic: 0x{0:X8}", bfs_sb.s_magic);
Console.WriteLine("(BFS) bfs_sb.s_start: 0x{0:X8}", bfs_sb.s_start); Console.WriteLine("(BFS) bfs_sb.s_start: 0x{0:X8}", bfs_sb.s_start);

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
class ext2FS : Plugin class ext2FS : Plugin
{ {
public ext2FS(PluginBase Core) public ext2FS()
{ {
Name = "Linux extended Filesystem 2, 3 and 4"; Name = "Linux extended Filesystem 2, 3 and 4";
PluginUUID = new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184"); PluginUUID = new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184");

View File

@@ -45,7 +45,7 @@ namespace DiscImageChef.Plugins
{ {
class extFS : Plugin class extFS : Plugin
{ {
public extFS(PluginBase Core) public extFS()
{ {
Name = "Linux extended Filesystem"; Name = "Linux extended Filesystem";
PluginUUID = new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2"); PluginUUID = new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2");

View File

@@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.CommonTypes",
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Partitions", "DiscImageChef.Partitions\DiscImageChef.Partitions.csproj", "{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Partitions", "DiscImageChef.Partitions\DiscImageChef.Partitions.csproj", "{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Filesystems", "DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj", "{D7016DF2-5A5E-4524-B40D-BA2D59576688}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
@@ -41,6 +43,10 @@ Global
{CC48B324-A532-4A45-87A6-6F91F7141E8D}.Debug|x86.Build.0 = Debug|Any CPU {CC48B324-A532-4A45-87A6-6F91F7141E8D}.Debug|x86.Build.0 = Debug|Any CPU
{CC48B324-A532-4A45-87A6-6F91F7141E8D}.Release|x86.ActiveCfg = Release|Any CPU {CC48B324-A532-4A45-87A6-6F91F7141E8D}.Release|x86.ActiveCfg = Release|Any CPU
{CC48B324-A532-4A45-87A6-6F91F7141E8D}.Release|x86.Build.0 = Release|Any CPU {CC48B324-A532-4A45-87A6-6F91F7141E8D}.Release|x86.Build.0 = Release|Any CPU
{D7016DF2-5A5E-4524-B40D-BA2D59576688}.Debug|x86.ActiveCfg = Debug|Any CPU
{D7016DF2-5A5E-4524-B40D-BA2D59576688}.Debug|x86.Build.0 = Debug|Any CPU
{D7016DF2-5A5E-4524-B40D-BA2D59576688}.Release|x86.ActiveCfg = Release|Any CPU
{D7016DF2-5A5E-4524-B40D-BA2D59576688}.Release|x86.Build.0 = Release|Any CPU
{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Debug|x86.ActiveCfg = Debug|Any CPU {DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Debug|x86.ActiveCfg = Debug|Any CPU
{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Debug|x86.Build.0 = Debug|Any CPU {DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Debug|x86.Build.0 = Debug|Any CPU
{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Release|x86.ActiveCfg = Release|Any CPU {DA7AB65D-B5BA-4003-8893-A51BB071BA2F}.Release|x86.ActiveCfg = Release|Any CPU

View File

@@ -1,3 +1,32 @@
2015-10-05 Natalia Portillo <claunia@claunia.com>
* Plugins.cs:
* Plugins/BFS.cs:
* Plugins/FFS.cs:
* Plugins/ODS.cs:
* Plugins/FAT.cs:
* Plugins/NTFS.cs:
* Plugins/HPFS.cs:
* Plugins/SysV.cs:
* Plugins/extFS.cs:
* Plugins/Opera.cs:
* Plugins/Plugin.cs:
* Plugins/LisaFS.cs:
* Plugins/ext2FS.cs:
* Plugins/ProDOS.cs:
* Plugins/SolarFS.cs:
* Plugins/Symbian.cs:
* Plugins/UNIXBFS.cs:
* Plugins/ISO9660.cs:
* Plugins/MinixFS.cs:
* Plugins/AmigaDOS.cs:
* Plugins/PCEngine.cs:
* Plugins/AppleMFS.cs:
* Plugins/AppleHFS.cs:
* DiscImageChef.csproj:
* Plugins/AppleHFSPlus.cs:
Move filesystems to a separate library.
2015-10-05 Natalia Portillo <claunia@claunia.com> 2015-10-05 Natalia Portillo <claunia@claunia.com>
* Plugins.cs: * Plugins.cs:

View File

@@ -39,28 +39,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="Main.cs" /> <Compile Include="Main.cs" />
<Compile Include="AssemblyInfo.cs" /> <Compile Include="AssemblyInfo.cs" />
<Compile Include="Plugins\AppleMFS.cs" />
<Compile Include="Plugins\Plugin.cs" />
<Compile Include="Plugins.cs" /> <Compile Include="Plugins.cs" />
<Compile Include="Plugins\ISO9660.cs" />
<Compile Include="Plugins\PCEngine.cs" />
<Compile Include="Plugins\Opera.cs" />
<Compile Include="Plugins\AppleHFS.cs" />
<Compile Include="Plugins\FAT.cs" />
<Compile Include="Plugins\FFS.cs" />
<Compile Include="Plugins\AppleHFSPlus.cs" />
<Compile Include="Plugins\BFS.cs" />
<Compile Include="Plugins\HPFS.cs" />
<Compile Include="Plugins\NTFS.cs" />
<Compile Include="Plugins\ODS.cs" />
<Compile Include="Plugins\Symbian.cs" />
<Compile Include="Plugins\extFS.cs" />
<Compile Include="Plugins\ext2FS.cs" />
<Compile Include="Plugins\MinixFS.cs" />
<Compile Include="Plugins\SolarFS.cs" />
<Compile Include="Plugins\UNIXBFS.cs" />
<Compile Include="Plugins\SysV.cs" />
<Compile Include="Plugins\LisaFS.cs" />
<Compile Include="Options.cs" /> <Compile Include="Options.cs" />
<Compile Include="Commands\Formats.cs" /> <Compile Include="Commands\Formats.cs" />
<Compile Include="Commands\Analyze.cs" /> <Compile Include="Commands\Analyze.cs" />
@@ -75,8 +54,6 @@
<Compile Include="Decoders\MMC.cs" /> <Compile Include="Decoders\MMC.cs" />
<Compile Include="Decoders\BD.cs" /> <Compile Include="Decoders\BD.cs" />
<Compile Include="Decoders\DVD.cs" /> <Compile Include="Decoders\DVD.cs" />
<Compile Include="Plugins\ProDOS.cs" />
<Compile Include="Plugins\AmigaDOS.cs" />
<Compile Include="Commands\Entropy.cs" /> <Compile Include="Commands\Entropy.cs" />
<Compile Include="Decoders\Floppy.cs" /> <Compile Include="Decoders\Floppy.cs" />
<Compile Include="DetectImageFormat.cs" /> <Compile Include="DetectImageFormat.cs" />
@@ -197,5 +174,9 @@
<Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project> <Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project>
<Name>DiscImageChef.Partitions</Name> <Name>DiscImageChef.Partitions</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj">
<Project>{D7016DF2-5A5E-4524-B40D-BA2D59576688}</Project>
<Name>DiscImageChef.Filesystems</Name>
</ProjectReference>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -98,7 +98,7 @@ namespace DiscImageChef
} }
} }
assembly = Assembly.GetExecutingAssembly(); assembly = Assembly.GetAssembly(typeof(Plugin));
foreach (Type type in assembly.GetTypes()) foreach (Type type in assembly.GetTypes())
{ {
@@ -106,7 +106,7 @@ namespace DiscImageChef
{ {
if (type.IsSubclassOf(typeof(Plugin))) if (type.IsSubclassOf(typeof(Plugin)))
{ {
Plugin plugin = (Plugin)type.GetConstructor(new [] { typeof(PluginBase) }).Invoke(new object[] { this }); Plugin plugin = (Plugin)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
RegisterPlugin(plugin); RegisterPlugin(plugin);
} }
} }