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>
* DiscImageChef.sln:

View File

@@ -46,7 +46,7 @@ namespace DiscImageChef.Plugins
{
class AmigaDOSPlugin : Plugin
{
public AmigaDOSPlugin(PluginBase Core)
public AmigaDOSPlugin()
{
Name = "Amiga DOS filesystem";
PluginUUID = new Guid("3c882400-208c-427d-a086-9119852a1bc7");
@@ -199,12 +199,12 @@ namespace DiscImageChef.Plugins
return false;
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);
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);
if (root_ptr >= imagePlugin.GetSectors())
@@ -242,7 +242,7 @@ namespace DiscImageChef.Plugins
bootBlk.bootCode = new byte[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): 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.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): Probably incorrect calculated root block checksum is 0x{0:X8}", AmigaChecksum(RootBlockSector));

View File

@@ -52,7 +52,7 @@ namespace DiscImageChef.Plugins
// "H+"
const UInt16 HFSBB_MAGIC = 0x4C4B;
// "LK"
public AppleHFS(PluginBase Core)
public AppleHFS()
{
Name = "Apple Hierarchical File System";
PluginUUID = new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F");
@@ -82,7 +82,7 @@ namespace DiscImageChef.Plugins
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");
drSigWord = BigEndianBitConverter.ToUInt16(mdb_sector, 0x7C); // Seek to embedded HFS+ signature

View File

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

View File

@@ -49,7 +49,7 @@ namespace DiscImageChef.Plugins
// "LK"
const UInt16 MFSBB_MAGIC = 0x4C4B;
public AppleMFS(PluginBase Core)
public AppleMFS()
{
Name = "Apple Macintosh File System";
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_DIRTY = 0x44495254;
public BeFS(PluginBase Core)
public BeFS()
{
Name = "Be Filesystem";
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
{
public FAT(PluginBase Core)
public FAT()
{
Name = "Microsoft File Allocation Table";
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
if (MainClass.isDebug)
//if (MainClass.isDebug)
{
Console.WriteLine("DEBUG (FAT plugin): fats_no = {0}", fats_no);
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 FFSPlugin(PluginBase Core)
public FFSPlugin()
{
Name = "BSD Fast File System (aka UNIX File System, UFS)";
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_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("fs_link_42bsd: 0x{0:X8}", ufs_sb.fs_link_42bsd);

View File

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

View File

@@ -51,7 +51,7 @@ namespace DiscImageChef.Plugins
{
static bool alreadyLaunched;
public ISO9660Plugin(PluginBase Core)
public ISO9660Plugin()
{
Name = "ISO9660 Filesystem";
PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
@@ -156,15 +156,15 @@ namespace DiscImageChef.Plugins
while (true)
{
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Processing VD loop no. {0}", counter);
// Seek to Volume Descriptor
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Reading sector {0}", 16 + counter + partitionStart);
byte[] vd_sector = imagePlugin.ReadSector(16 + counter + partitionStart);
VDType = vd_sector[0];
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): VDType = {0}", VDType);
if (VDType == 255) // Supposedly we are in the PVD.
@@ -271,7 +271,7 @@ namespace DiscImageChef.Plugins
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);
// TODO: Check this
@@ -305,7 +305,7 @@ namespace DiscImageChef.Plugins
byte[] ipbin_sector = imagePlugin.ReadSector(0 + partitionStart);
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));
switch (Encoding.ASCII.GetString(SegaHardwareID))
@@ -316,7 +316,7 @@ namespace DiscImageChef.Plugins
{
SegaCD = true; // Ok, this contains SegaCD IP.BIN
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found SegaCD IP.BIN");
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, 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.system_name = \"{0}\"", Encoding.ASCII.GetString(system_name));
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.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals));
Console.WriteLine("DEBUG (ISO9660 Plugin): segacd_ipbin.region_codes = \"{0}\"", Encoding.ASCII.GetString(region_codes));
}
//}
// Decoding all data
DateTime ipbindate;
@@ -531,7 +531,7 @@ namespace DiscImageChef.Plugins
{
Saturn = true;
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Saturn IP.BIN");
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, 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.product_no = \"{0}\"", Encoding.ASCII.GetString(product_no));
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.peripherals = \"{0}\"", Encoding.ASCII.GetString(peripherals));
Console.WriteLine("DEBUG (ISO9660 Plugin): saturn_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name));
}
//}
// Decoding all data
@@ -654,7 +654,7 @@ namespace DiscImageChef.Plugins
{
Dreamcast = true;
if (MainClass.isDebug)
//if (MainClass.isDebug)
Console.WriteLine("DEBUG (ISO9660 Plugin): Found Sega Dreamcast IP.BIN");
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, 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.dreamcast_crc = 0x{0}", Encoding.ASCII.GetString(dreamcast_crc));
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.producer = \"{0}\"", Encoding.ASCII.GetString(producer));
Console.WriteLine("DEBUG (ISO9660 Plugin): dreamcast_ipbin.product_name = \"{0}\"", Encoding.ASCII.GetString(product_name));
}
//}
// Decoding all data
DateTime ipbindate;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -83,7 +83,7 @@ namespace DiscImageChef.Plugins
const byte ProDOSEntryLength = 0x27;
const byte ProDOSEntriesPerBlock = 0x0D;
public ProDOSPlugin(PluginBase Core)
public ProDOSPlugin()
{
Name = "Apple ProDOS filesystem";
PluginUUID = new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF");
@@ -156,7 +156,7 @@ namespace DiscImageChef.Plugins
year += 1900;
if (year < 1940)
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_right = 0x{0:X4}", temp_timestamp_right);
@@ -210,7 +210,7 @@ namespace DiscImageChef.Plugins
if ((rootDirectoryKeyBlock.header.access & ProDOSBackupAttribute) == ProDOSBackupAttribute)
sbInformation.AppendLine("Volume must be backed up");
if (MainClass.isDebug)
//if (MainClass.isDebug)
{
if ((rootDirectoryKeyBlock.header.access & ProDOSReservedAttributeMask) != 0)
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
{
public SolarFS(PluginBase Core)
public SolarFS()
{
Name = "Solar_OS filesystem";
PluginUUID = new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65");
@@ -100,7 +100,7 @@ namespace DiscImageChef.Plugins
Array.Copy(bpb_sector, 0x35, bpb_strings, 0, 8);
BPB.fs_type = StringHandlers.CToString(bpb_strings);
if (MainClass.isDebug)
//if (MainClass.isDebug)
{
BPB.x86_jump = new byte[3];
Array.Copy(bpb_sector, 0x00, BPB.x86_jump, 0, 3);

View File

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

View File

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

View File

@@ -47,7 +47,7 @@ namespace DiscImageChef.Plugins
{
const UInt32 BFS_MAGIC = 0x1BADFACE;
public BFS(PluginBase Core)
public BFS()
{
Name = "UNIX Boot filesystem";
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);
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_start: 0x{0:X8}", bfs_sb.s_start);

View File

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

View File

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

View File

@@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.CommonTypes",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Partitions", "DiscImageChef.Partitions\DiscImageChef.Partitions.csproj", "{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Filesystems", "DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj", "{D7016DF2-5A5E-4524-B40D-BA2D59576688}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
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}.Release|x86.ActiveCfg = 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.Build.0 = Debug|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>
* Plugins.cs:

View File

@@ -39,28 +39,7 @@
<ItemGroup>
<Compile Include="Main.cs" />
<Compile Include="AssemblyInfo.cs" />
<Compile Include="Plugins\AppleMFS.cs" />
<Compile Include="Plugins\Plugin.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="Commands\Formats.cs" />
<Compile Include="Commands\Analyze.cs" />
@@ -75,8 +54,6 @@
<Compile Include="Decoders\MMC.cs" />
<Compile Include="Decoders\BD.cs" />
<Compile Include="Decoders\DVD.cs" />
<Compile Include="Plugins\ProDOS.cs" />
<Compile Include="Plugins\AmigaDOS.cs" />
<Compile Include="Commands\Entropy.cs" />
<Compile Include="Decoders\Floppy.cs" />
<Compile Include="DetectImageFormat.cs" />
@@ -197,5 +174,9 @@
<Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project>
<Name>DiscImageChef.Partitions</Name>
</ProjectReference>
<ProjectReference Include="..\DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj">
<Project>{D7016DF2-5A5E-4524-B40D-BA2D59576688}</Project>
<Name>DiscImageChef.Filesystems</Name>
</ProjectReference>
</ItemGroup>
</Project>

View File

@@ -98,7 +98,7 @@ namespace DiscImageChef
}
}
assembly = Assembly.GetExecutingAssembly();
assembly = Assembly.GetAssembly(typeof(Plugin));
foreach (Type type in assembly.GetTypes())
{
@@ -106,7 +106,7 @@ namespace DiscImageChef
{
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);
}
}