From d8495ba2b83e3ec4deeb2acd32b1285888e6ada1 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 13 Oct 2021 21:20:17 +0100 Subject: [PATCH] Add native nuget. --- Aaru6.Checksums/Aaru6.Checksums.csproj | 2 ++ Aaru6.Checksums/Native.cs | 41 ++++++++++++++++++++++++++ AaruBenchmark/Program.cs | 10 +++---- 3 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 Aaru6.Checksums/Native.cs diff --git a/Aaru6.Checksums/Aaru6.Checksums.csproj b/Aaru6.Checksums/Aaru6.Checksums.csproj index d9ac662..71dc092 100644 --- a/Aaru6.Checksums/Aaru6.Checksums.csproj +++ b/Aaru6.Checksums/Aaru6.Checksums.csproj @@ -61,6 +61,7 @@ + @@ -74,6 +75,7 @@ + diff --git a/Aaru6.Checksums/Native.cs b/Aaru6.Checksums/Native.cs new file mode 100644 index 0000000..f5a7868 --- /dev/null +++ b/Aaru6.Checksums/Native.cs @@ -0,0 +1,41 @@ +using System.Runtime.InteropServices; + +namespace Aaru6.Checksums +{ + public static class Native + { + static bool _checked; + static bool _supported; + + public static bool IsSupported + { + get + { + if(_checked) + return _supported; + + ulong version; + _checked = true; + + try + { + version = get_acn_version(); + } + catch + { + _supported = false; + + return false; + } + + // TODO: Check version compatibility + _supported = version >= 0x06000000; + + return _supported; + } + } + + [DllImport("libAaru.Checksums.Native", SetLastError = true)] + static extern ulong get_acn_version(); + } +} \ No newline at end of file diff --git a/AaruBenchmark/Program.cs b/AaruBenchmark/Program.cs index 8eec3f3..9145a2b 100644 --- a/AaruBenchmark/Program.cs +++ b/AaruBenchmark/Program.cs @@ -13,21 +13,21 @@ namespace AaruBenchmark { var config = ManualConfig.Create(DefaultConfig.Instance); -/* BenchmarkRunner.Run(config); + BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); - BenchmarkRunner.Run(config);*/ + BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); -/* BenchmarkRunner.Run(config); + BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); - BenchmarkRunner.Run(config);*/ + BenchmarkRunner.Run(config); } } -} +} \ No newline at end of file