[Refactor] Use LibraryImport instead of DllImport.

This commit is contained in:
2024-05-01 05:36:13 +01:00
parent 01116106d7
commit c2e6e12b37
23 changed files with 326 additions and 258 deletions

View File

@@ -27,6 +27,7 @@
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<Authors>Natalia Portillo &lt;claunia@claunia.com&gt;</Authors>
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
</PropertyGroup>

View File

@@ -52,7 +52,7 @@ namespace Aaru.Checksums;
/// <inheritdoc />
/// <summary>Implements the Adler-32 algorithm</summary>
[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
public sealed class Adler32Context : IChecksum
public sealed partial class Adler32Context : IChecksum
{
internal const ushort ADLER_MODULE = 65521;
internal const uint NMAX = 5552;
@@ -130,17 +130,17 @@ public sealed class Adler32Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr adler32_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr adler32_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int adler32_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int adler32_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int adler32_final(IntPtr ctx, ref uint checksum);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int adler32_final(IntPtr ctx, ref uint checksum);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void adler32_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void adler32_free(IntPtr ctx);
static void Step(ref ushort preSum1, ref ushort preSum2, byte[] data, uint len, bool useNative,
IntPtr nativeContext)

View File

@@ -41,7 +41,7 @@ namespace Aaru.Checksums;
/// <inheritdoc />
/// <summary>Implements a CRC16 algorithm</summary>
public class Crc16Context : IChecksum
public partial class Crc16Context : IChecksum
{
readonly ushort _finalSeed;
readonly bool _inverse;
@@ -198,29 +198,29 @@ public class Crc16Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr crc16_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr crc16_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc16_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc16_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc16_final(IntPtr ctx, ref ushort crc);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc16_final(IntPtr ctx, ref ushort crc);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void crc16_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void crc16_free(IntPtr ctx);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr crc16_ccitt_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr crc16_ccitt_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc16_ccitt_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc16_ccitt_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc16_ccitt_final(IntPtr ctx, ref ushort crc);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc16_ccitt_final(IntPtr ctx, ref ushort crc);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void crc16_ccitt_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void crc16_ccitt_free(IntPtr ctx);
static void Step(ref ushort previousCrc, ushort[][] table, byte[] data, uint len)
{

View File

@@ -49,7 +49,7 @@ namespace Aaru.Checksums;
[SuppressMessage("ReSharper", "MemberCanBeInternal")]
[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public sealed class Crc32Context : IChecksum
public sealed partial class Crc32Context : IChecksum
{
const uint CRC32_ISO_POLY = 0xEDB88320;
const uint CRC32_ISO_SEED = 0xFFFFFFFF;
@@ -426,17 +426,17 @@ public sealed class Crc32Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr crc32_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr crc32_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc32_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc32_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc32_final(IntPtr ctx, ref uint crc);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc32_final(IntPtr ctx, ref uint crc);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void crc32_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void crc32_free(IntPtr ctx);
static uint[][] GenerateTable(uint polynomial)
{

View File

@@ -48,7 +48,7 @@ namespace Aaru.Checksums;
[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
[SuppressMessage("ReSharper", "MemberCanBeInternal")]
public sealed class Crc64Context : IChecksum
public sealed partial class Crc64Context : IChecksum
{
/// <summary>ECMA CRC64 polynomial</summary>
const ulong CRC64_ECMA_POLY = 0xC96C5795D7870F42;
@@ -371,17 +371,17 @@ public sealed class Crc64Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr crc64_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr crc64_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc64_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc64_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int crc64_final(IntPtr ctx, ref ulong crc);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int crc64_final(IntPtr ctx, ref ulong crc);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void crc64_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void crc64_free(IntPtr ctx);
static ulong[][] GenerateTable(ulong polynomial)
{

View File

@@ -50,7 +50,7 @@ namespace Aaru.Checksums;
[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
[SuppressMessage("ReSharper", "UnusedMember.Global")]
public sealed class Fletcher32Context : IChecksum
public sealed partial class Fletcher32Context : IChecksum
{
internal const ushort FLETCHER_MODULE = 0xFFFF;
internal const uint NMAX = 5552;
@@ -128,17 +128,17 @@ public sealed class Fletcher32Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr fletcher32_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr fletcher32_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int fletcher32_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int fletcher32_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int fletcher32_final(IntPtr ctx, ref uint crc);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int fletcher32_final(IntPtr ctx, ref uint crc);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void fletcher32_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void fletcher32_free(IntPtr ctx);
static void Step(ref ushort previousSum1, ref ushort previousSum2, byte[] data, uint len, bool useNative,
IntPtr nativeContext)
@@ -418,7 +418,7 @@ public sealed class Fletcher32Context : IChecksum
[SuppressMessage("ReSharper", "UnusedMember.Global")]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
public sealed class Fletcher16Context : IChecksum
public sealed partial class Fletcher16Context : IChecksum
{
const byte FLETCHER_MODULE = 0xFF;
const byte NMAX = 22;
@@ -497,17 +497,17 @@ public sealed class Fletcher16Context : IChecksum
#endregion
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern IntPtr fletcher16_init();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial IntPtr fletcher16_init();
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int fletcher16_update(IntPtr ctx, byte[] data, uint len);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int fletcher16_update(IntPtr ctx, byte[] data, uint len);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern int fletcher16_final(IntPtr ctx, ref ushort checksum);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial int fletcher16_final(IntPtr ctx, ref ushort checksum);
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern void fletcher16_free(IntPtr ctx);
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial void fletcher16_free(IntPtr ctx);
static void Step(ref byte previousSum1, ref byte previousSum2, byte[] data, uint len, bool useNative,
IntPtr nativeContext)

View File

@@ -35,7 +35,7 @@ using System.Runtime.InteropServices;
namespace Aaru.Checksums;
/// <summary>Handles native implementations of compression algorithms</summary>
public static class Native
public static partial class Native
{
static bool _checked;
static bool _supported;
@@ -76,6 +76,6 @@ public static class Native
}
}
[DllImport("libAaru.Checksums.Native", SetLastError = true)]
static extern ulong get_acn_version();
[LibraryImport("libAaru.Checksums.Native", SetLastError = true)]
private static partial ulong get_acn_version();
}