From f2b421a6b385b08fcea30683468079950b0caa0f Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 11 Oct 2025 16:29:58 +0100 Subject: [PATCH] [AaruFormat] Implement Identify. --- Aaru.Images/AaruFormat/Identify.cs | 27 +++++++++++++++++++++++++ Aaru.Images/AaruFormat/Unimplemented.cs | 3 --- 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 Aaru.Images/AaruFormat/Identify.cs diff --git a/Aaru.Images/AaruFormat/Identify.cs b/Aaru.Images/AaruFormat/Identify.cs new file mode 100644 index 000000000..0c946a58b --- /dev/null +++ b/Aaru.Images/AaruFormat/Identify.cs @@ -0,0 +1,27 @@ +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Aaru.CommonTypes.Interfaces; + +namespace Aaru.Images; + +public sealed partial class AaruFormat +{ +#region IWritableOpticalImage Members + + /// + public bool Identify(IFilter imageFilter) + { + string imagePath = imageFilter.BasePath; + + int ret = aaruf_identify(imagePath); + + return ret >= 100; + } + +#endregion + + // AARU_EXPORT int AARU_CALL aaruf_identify(const char *filename) + [LibraryImport("libaaruformat", EntryPoint = "aaruf_identify", StringMarshalling = StringMarshalling.Utf8)] + [UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])] + private static partial int aaruf_identify(string filename); +} \ No newline at end of file diff --git a/Aaru.Images/AaruFormat/Unimplemented.cs b/Aaru.Images/AaruFormat/Unimplemented.cs index 05b81d332..f9d887716 100644 --- a/Aaru.Images/AaruFormat/Unimplemented.cs +++ b/Aaru.Images/AaruFormat/Unimplemented.cs @@ -22,9 +22,6 @@ public sealed partial class AaruFormat #region IWritableOpticalImage Members - /// - public bool Identify(IFilter imageFilter) => throw new NotImplementedException(); - /// public ErrorNumber Open(IFilter imageFilter) => throw new NotImplementedException();