diff --git a/NativeFileDialogs.AutoGen/nfd.cs b/NativeFileDialogs.AutoGen/nfd.cs
index 575edb4..360a157 100644
--- a/NativeFileDialogs.AutoGen/nfd.cs
+++ b/NativeFileDialogs.AutoGen/nfd.cs
@@ -1,778 +1,778 @@
-// ----------------------------------------------------------------------------
-//
-// This is autogenerated code by CppSharp.
-// Do not edit this file or all your changes will be lost after re-generation.
-//
-// ----------------------------------------------------------------------------
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention;
-using __IntPtr = global::System.IntPtr;
-
-#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required
-
-namespace NativeFileDialogs.AutoGen
-{
- public enum NfdresultT
- {
- NFD_ERROR = 0,
- NFD_OKAY = 1,
- NFD_CANCEL = 2
- }
-
- public unsafe partial class NfdpathsetenumT : IDisposable
- {
- [StructLayout(LayoutKind.Sequential, Size = 8)]
- public partial struct __Internal
- {
- internal __IntPtr ptr;
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdpathsetenum_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
- }
-
- public __IntPtr __Instance { get; protected set; }
-
- internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
- new global::System.Collections.Concurrent.ConcurrentDictionary();
-
- internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.NfdpathsetenumT managed)
- {
- NativeToManagedMap[native] = managed;
- }
-
- internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.NfdpathsetenumT managed)
- {
-
- return NativeToManagedMap.TryGetValue(native, out managed);
- }
-
- protected bool __ownsNativeInstance;
-
- internal static NfdpathsetenumT __CreateInstance(__IntPtr native, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- return new NfdpathsetenumT(native.ToPointer(), skipVTables);
- }
-
- internal static NfdpathsetenumT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- if (__TryGetNativeToManagedMapping(native, out var managed))
- return (NfdpathsetenumT)managed;
- var result = __CreateInstance(native, skipVTables);
- if (saveInstance)
- __RecordNativeToManagedMapping(native, result);
- return result;
- }
-
- internal static NfdpathsetenumT __CreateInstance(__Internal native, bool skipVTables = false)
- {
- return new NfdpathsetenumT(native, skipVTables);
- }
-
- private static void* __CopyValue(__Internal native)
- {
- var ret = Marshal.AllocHGlobal(sizeof(__Internal));
- *(__Internal*) ret = native;
- return ret.ToPointer();
- }
-
- private NfdpathsetenumT(__Internal native, bool skipVTables = false)
- : this(__CopyValue(native), skipVTables)
- {
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- protected NfdpathsetenumT(void* native, bool skipVTables = false)
- {
- if (native == null)
- return;
- __Instance = new __IntPtr(native);
- }
-
- public NfdpathsetenumT()
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- public NfdpathsetenumT(global::NativeFileDialogs.AutoGen.NfdpathsetenumT _0)
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- *((global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal*) _0.__Instance);
- }
-
- public void Dispose()
- {
- Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
- }
-
- partial void DisposePartial(bool disposing);
-
- internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
- {
- if (__Instance == IntPtr.Zero)
- return;
- NativeToManagedMap.TryRemove(__Instance, out _);
- DisposePartial(disposing);
- if (__ownsNativeInstance)
- Marshal.FreeHGlobal(__Instance);
- __Instance = IntPtr.Zero;
- }
-
- public __IntPtr Ptr
- {
- get
- {
- return ((__Internal*)__Instance)->ptr;
- }
-
- set
- {
- ((__Internal*)__Instance)->ptr = (__IntPtr) value;
- }
- }
- }
-
- public unsafe partial class NfdnfilteritemT : IDisposable
- {
- [StructLayout(LayoutKind.Sequential, Size = 16)]
- public partial struct __Internal
- {
- internal __IntPtr name;
- internal __IntPtr spec;
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdnfilteritem_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
- }
-
- public __IntPtr __Instance { get; protected set; }
-
- internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
- new global::System.Collections.Concurrent.ConcurrentDictionary();
-
- internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.NfdnfilteritemT managed)
- {
- NativeToManagedMap[native] = managed;
- }
-
- internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.NfdnfilteritemT managed)
- {
-
- return NativeToManagedMap.TryGetValue(native, out managed);
- }
-
- private bool __name_OwnsNativeMemory = false;
- private bool __spec_OwnsNativeMemory = false;
- protected bool __ownsNativeInstance;
-
- internal static NfdnfilteritemT __CreateInstance(__IntPtr native, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- return new NfdnfilteritemT(native.ToPointer(), skipVTables);
- }
-
- internal static NfdnfilteritemT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- if (__TryGetNativeToManagedMapping(native, out var managed))
- return (NfdnfilteritemT)managed;
- var result = __CreateInstance(native, skipVTables);
- if (saveInstance)
- __RecordNativeToManagedMapping(native, result);
- return result;
- }
-
- internal static NfdnfilteritemT __CreateInstance(__Internal native, bool skipVTables = false)
- {
- return new NfdnfilteritemT(native, skipVTables);
- }
-
- private static void* __CopyValue(__Internal native)
- {
- var ret = Marshal.AllocHGlobal(sizeof(__Internal));
- *(__Internal*) ret = native;
- return ret.ToPointer();
- }
-
- private NfdnfilteritemT(__Internal native, bool skipVTables = false)
- : this(__CopyValue(native), skipVTables)
- {
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- protected NfdnfilteritemT(void* native, bool skipVTables = false)
- {
- if (native == null)
- return;
- __Instance = new __IntPtr(native);
- }
-
- public NfdnfilteritemT()
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- public NfdnfilteritemT(global::NativeFileDialogs.AutoGen.NfdnfilteritemT _0)
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- *((global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) _0.__Instance);
- if (_0.__name_OwnsNativeMemory)
- this.Name = _0.Name;
- if (_0.__spec_OwnsNativeMemory)
- this.Spec = _0.Spec;
- }
-
- public void Dispose()
- {
- Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
- }
-
- partial void DisposePartial(bool disposing);
-
- internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
- {
- if (__Instance == IntPtr.Zero)
- return;
- NativeToManagedMap.TryRemove(__Instance, out _);
- DisposePartial(disposing);
- if (__name_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
- if (__spec_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
- if (__ownsNativeInstance)
- Marshal.FreeHGlobal(__Instance);
- __Instance = IntPtr.Zero;
- }
-
- public string Name
- {
- get
- {
- return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.Unicode, ((__Internal*)__Instance)->name);
- }
-
- set
- {
- if (__name_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
- __name_OwnsNativeMemory = true;
- if (value == null)
- {
- ((__Internal*)__Instance)->name = global::System.IntPtr.Zero;
- return;
- }
- var __bytePtr0 = Marshal.StringToHGlobalUni(value);
- ((__Internal*)__Instance)->name = (__IntPtr) __bytePtr0;
- }
- }
-
- public string Spec
- {
- get
- {
- return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.Unicode, ((__Internal*)__Instance)->spec);
- }
-
- set
- {
- if (__spec_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
- __spec_OwnsNativeMemory = true;
- if (value == null)
- {
- ((__Internal*)__Instance)->spec = global::System.IntPtr.Zero;
- return;
- }
- var __bytePtr0 = Marshal.StringToHGlobalUni(value);
- ((__Internal*)__Instance)->spec = (__IntPtr) __bytePtr0;
- }
- }
- }
-
- public unsafe partial class Nfdu8filteritemT : IDisposable
- {
- [StructLayout(LayoutKind.Sequential, Size = 16)]
- public partial struct __Internal
- {
- internal __IntPtr name;
- internal __IntPtr spec;
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdu8filteritem_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
- }
-
- public __IntPtr __Instance { get; protected set; }
-
- internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
- new global::System.Collections.Concurrent.ConcurrentDictionary();
-
- internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT managed)
- {
- NativeToManagedMap[native] = managed;
- }
-
- internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.Nfdu8filteritemT managed)
- {
-
- return NativeToManagedMap.TryGetValue(native, out managed);
- }
-
- private bool __name_OwnsNativeMemory = false;
- private bool __spec_OwnsNativeMemory = false;
- protected bool __ownsNativeInstance;
-
- internal static Nfdu8filteritemT __CreateInstance(__IntPtr native, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- return new Nfdu8filteritemT(native.ToPointer(), skipVTables);
- }
-
- internal static Nfdu8filteritemT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
- {
- if (native == __IntPtr.Zero)
- return null;
- if (__TryGetNativeToManagedMapping(native, out var managed))
- return (Nfdu8filteritemT)managed;
- var result = __CreateInstance(native, skipVTables);
- if (saveInstance)
- __RecordNativeToManagedMapping(native, result);
- return result;
- }
-
- internal static Nfdu8filteritemT __CreateInstance(__Internal native, bool skipVTables = false)
- {
- return new Nfdu8filteritemT(native, skipVTables);
- }
-
- private static void* __CopyValue(__Internal native)
- {
- var ret = Marshal.AllocHGlobal(sizeof(__Internal));
- *(__Internal*) ret = native;
- return ret.ToPointer();
- }
-
- private Nfdu8filteritemT(__Internal native, bool skipVTables = false)
- : this(__CopyValue(native), skipVTables)
- {
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- protected Nfdu8filteritemT(void* native, bool skipVTables = false)
- {
- if (native == null)
- return;
- __Instance = new __IntPtr(native);
- }
-
- public Nfdu8filteritemT()
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- }
-
- public Nfdu8filteritemT(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT _0)
- {
- __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal));
- __ownsNativeInstance = true;
- __RecordNativeToManagedMapping(__Instance, this);
- *((global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) _0.__Instance);
- if (_0.__name_OwnsNativeMemory)
- this.Name = _0.Name;
- if (_0.__spec_OwnsNativeMemory)
- this.Spec = _0.Spec;
- }
-
- public void Dispose()
- {
- Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
- }
-
- partial void DisposePartial(bool disposing);
-
- internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
- {
- if (__Instance == IntPtr.Zero)
- return;
- NativeToManagedMap.TryRemove(__Instance, out _);
- DisposePartial(disposing);
- if (__name_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
- if (__spec_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
- if (__ownsNativeInstance)
- Marshal.FreeHGlobal(__Instance);
- __Instance = IntPtr.Zero;
- }
-
- public string Name
- {
- get
- {
- return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->name);
- }
-
- set
- {
- if (__name_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
- __name_OwnsNativeMemory = true;
- if (value == null)
- {
- ((__Internal*)__Instance)->name = global::System.IntPtr.Zero;
- return;
- }
- var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value);
- var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1);
- Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length);
- Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0);
- ((__Internal*)__Instance)->name = (__IntPtr) __bytePtr0;
- }
- }
-
- public string Spec
- {
- get
- {
- return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->spec);
- }
-
- set
- {
- if (__spec_OwnsNativeMemory)
- Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
- __spec_OwnsNativeMemory = true;
- if (value == null)
- {
- ((__Internal*)__Instance)->spec = global::System.IntPtr.Zero;
- return;
- }
- var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value);
- var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1);
- Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length);
- Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0);
- ((__Internal*)__Instance)->spec = (__IntPtr) __bytePtr0;
- }
- }
- }
-
- public unsafe partial class nfd
- {
- public partial struct __Internal
- {
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_FreePathN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_FreePathN(char* filePath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_Init", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_Init();
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_Quit", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_Quit();
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogN(char** outPath, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogMultipleN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleN(__IntPtr* outPaths, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_SaveDialogN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogN(char** outPath, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath, [MarshalAs(UnmanagedType.LPWStr)] string defaultName);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PickFolderN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderN(char** outPath, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_GetError", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern __IntPtr NFD_GetError();
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_ClearError", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_ClearError();
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetCount", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetCount(__IntPtr pathSet, uint* count);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetPathN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathN(__IntPtr pathSet, uint index, char** outPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetEnum", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetEnum(__IntPtr pathSet, __IntPtr outEnumerator);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_FreeEnum", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_PathSetFreeEnum(__IntPtr enumerator);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_EnumNextN", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextN(__IntPtr enumerator, char** outPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_Free", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_PathSetFree(__IntPtr pathSet);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_FreePathU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern void NFD_FreePathU8(sbyte* outPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogU8(sbyte** outPath, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogMultipleU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleU8(__IntPtr* outPaths, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_SaveDialogU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogU8(sbyte** outPath, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultName);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PickFolderU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderU8(sbyte** outPath, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetPathU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathU8(__IntPtr pathSet, uint index, sbyte** outPath);
-
- [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_EnumNextU8", CallingConvention = __CallingConvention.Cdecl)]
- internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextU8(__IntPtr enumerator, sbyte** outPath);
- }
-
- public static void NFD_FreePathN(char* filePath)
- {
- __Internal.NFD_FreePathN(filePath);
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_Init()
- {
- var ___ret = __Internal.NFD_Init();
- return ___ret;
- }
-
- public static void NFD_Quit()
- {
- __Internal.NFD_Quit();
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogN(char** outPath, Span filterList, uint filterCount, string defaultPath)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_OpenDialogN(outPath, __arg1, filterCount, defaultPath);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleN(__IntPtr* outPaths, Span filterList, uint filterCount, string defaultPath)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_OpenDialogMultipleN(outPaths, __arg1, filterCount, defaultPath);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogN(char** outPath, Span filterList, uint filterCount, string defaultPath, string defaultName)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_SaveDialogN(outPath, __arg1, filterCount, defaultPath, defaultName);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderN(char** outPath, string defaultPath)
- {
- var ___ret = __Internal.NFD_PickFolderN(outPath, defaultPath);
- return ___ret;
- }
-
- public static string NFD_GetError()
- {
- var ___ret = __Internal.NFD_GetError();
- return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret);
- }
-
- public static void NFD_ClearError()
- {
- __Internal.NFD_ClearError();
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetCount(__IntPtr pathSet, ref uint count)
- {
- fixed (uint* __count1 = &count)
- {
- var __arg1 = __count1;
- var ___ret = __Internal.NFD_PathSetGetCount(pathSet, __arg1);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathN(__IntPtr pathSet, uint index, char** outPath)
- {
- var ___ret = __Internal.NFD_PathSetGetPathN(pathSet, index, outPath);
- return ___ret;
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetEnum(__IntPtr pathSet, global::NativeFileDialogs.AutoGen.NfdpathsetenumT outEnumerator)
- {
- var __arg1 = outEnumerator is null ? __IntPtr.Zero : outEnumerator.__Instance;
- var ___ret = __Internal.NFD_PathSetGetEnum(pathSet, __arg1);
- return ___ret;
- }
-
- public static void NFD_PathSetFreeEnum(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator)
- {
- var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
- __Internal.NFD_PathSetFreeEnum(__arg0);
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextN(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator, char** outPath)
- {
- var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
- var ___ret = __Internal.NFD_PathSetEnumNextN(__arg0, outPath);
- return ___ret;
- }
-
- public static void NFD_PathSetFree(__IntPtr pathSet)
- {
- __Internal.NFD_PathSetFree(pathSet);
- }
-
- public static void NFD_FreePathU8(sbyte* outPath)
- {
- __Internal.NFD_FreePathU8(outPath);
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogU8(sbyte** outPath, Span filterList, uint count, string defaultPath)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_OpenDialogU8(outPath, __arg1, count, defaultPath);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleU8(__IntPtr* outPaths, Span filterList, uint count, string defaultPath)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_OpenDialogMultipleU8(outPaths, __arg1, count, defaultPath);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogU8(sbyte** outPath, Span filterList, uint count, string defaultPath, string defaultName)
- {
- Span __filterList;
- if (filterList == null)
- __filterList = null;
- else
- {
- __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
- for (int i = 0; i < __filterList.Length; i++)
- {
- var __element = filterList[i];
- __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
- }
- }
- fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
- {
- var __arg1 = ____filterList1;
- var ___ret = __Internal.NFD_SaveDialogU8(outPath, __arg1, count, defaultPath, defaultName);
- return ___ret;
- }
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderU8(sbyte** outPath, string defaultPath)
- {
- var ___ret = __Internal.NFD_PickFolderU8(outPath, defaultPath);
- return ___ret;
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathU8(__IntPtr pathSet, uint index, sbyte** outPath)
- {
- var ___ret = __Internal.NFD_PathSetGetPathU8(pathSet, index, outPath);
- return ___ret;
- }
-
- public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextU8(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator, sbyte** outPath)
- {
- var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
- var ___ret = __Internal.NFD_PathSetEnumNextU8(__arg0, outPath);
- return ___ret;
- }
- }
-}
+// ----------------------------------------------------------------------------
+//
+// This is autogenerated code by CppSharp.
+// Do not edit this file or all your changes will be lost after re-generation.
+//
+// ----------------------------------------------------------------------------
+using System;
+using System.Runtime.InteropServices;
+using System.Security;
+using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention;
+using __IntPtr = global::System.IntPtr;
+
+#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required
+
+namespace NativeFileDialogs.AutoGen
+{
+ public enum NfdresultT
+ {
+ NFD_ERROR = 0,
+ NFD_OKAY = 1,
+ NFD_CANCEL = 2
+ }
+
+ public unsafe partial class NfdpathsetenumT : IDisposable
+ {
+ [StructLayout(LayoutKind.Sequential, Size = 8)]
+ public partial struct __Internal
+ {
+ internal __IntPtr ptr;
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdpathsetenum_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
+ }
+
+ public __IntPtr __Instance { get; protected set; }
+
+ internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
+ new global::System.Collections.Concurrent.ConcurrentDictionary();
+
+ internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.NfdpathsetenumT managed)
+ {
+ NativeToManagedMap[native] = managed;
+ }
+
+ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.NfdpathsetenumT managed)
+ {
+
+ return NativeToManagedMap.TryGetValue(native, out managed);
+ }
+
+ protected bool __ownsNativeInstance;
+
+ internal static NfdpathsetenumT __CreateInstance(__IntPtr native, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ return new NfdpathsetenumT(native.ToPointer(), skipVTables);
+ }
+
+ internal static NfdpathsetenumT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ if (__TryGetNativeToManagedMapping(native, out var managed))
+ return (NfdpathsetenumT)managed;
+ var result = __CreateInstance(native, skipVTables);
+ if (saveInstance)
+ __RecordNativeToManagedMapping(native, result);
+ return result;
+ }
+
+ internal static NfdpathsetenumT __CreateInstance(__Internal native, bool skipVTables = false)
+ {
+ return new NfdpathsetenumT(native, skipVTables);
+ }
+
+ private static void* __CopyValue(__Internal native)
+ {
+ var ret = Marshal.AllocHGlobal(sizeof(__Internal));
+ *(__Internal*) ret = native;
+ return ret.ToPointer();
+ }
+
+ private NfdpathsetenumT(__Internal native, bool skipVTables = false)
+ : this(__CopyValue(native), skipVTables)
+ {
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ protected NfdpathsetenumT(void* native, bool skipVTables = false)
+ {
+ if (native == null)
+ return;
+ __Instance = new __IntPtr(native);
+ }
+
+ public NfdpathsetenumT()
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ public NfdpathsetenumT(global::NativeFileDialogs.AutoGen.NfdpathsetenumT _0)
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ *((global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.NfdpathsetenumT.__Internal*) _0.__Instance);
+ }
+
+ public void Dispose()
+ {
+ Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
+ }
+
+ partial void DisposePartial(bool disposing);
+
+ internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
+ {
+ if (__Instance == IntPtr.Zero)
+ return;
+ NativeToManagedMap.TryRemove(__Instance, out _);
+ DisposePartial(disposing);
+ if (__ownsNativeInstance)
+ Marshal.FreeHGlobal(__Instance);
+ __Instance = IntPtr.Zero;
+ }
+
+ public __IntPtr Ptr
+ {
+ get
+ {
+ return ((__Internal*)__Instance)->ptr;
+ }
+
+ set
+ {
+ ((__Internal*)__Instance)->ptr = (__IntPtr) value;
+ }
+ }
+ }
+
+ public unsafe partial class NfdnfilteritemT : IDisposable
+ {
+ [StructLayout(LayoutKind.Sequential, Size = 16)]
+ public partial struct __Internal
+ {
+ internal __IntPtr name;
+ internal __IntPtr spec;
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdnfilteritem_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
+ }
+
+ public __IntPtr __Instance { get; protected set; }
+
+ internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
+ new global::System.Collections.Concurrent.ConcurrentDictionary();
+
+ internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.NfdnfilteritemT managed)
+ {
+ NativeToManagedMap[native] = managed;
+ }
+
+ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.NfdnfilteritemT managed)
+ {
+
+ return NativeToManagedMap.TryGetValue(native, out managed);
+ }
+
+ private bool __name_OwnsNativeMemory = false;
+ private bool __spec_OwnsNativeMemory = false;
+ protected bool __ownsNativeInstance;
+
+ internal static NfdnfilteritemT __CreateInstance(__IntPtr native, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ return new NfdnfilteritemT(native.ToPointer(), skipVTables);
+ }
+
+ internal static NfdnfilteritemT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ if (__TryGetNativeToManagedMapping(native, out var managed))
+ return (NfdnfilteritemT)managed;
+ var result = __CreateInstance(native, skipVTables);
+ if (saveInstance)
+ __RecordNativeToManagedMapping(native, result);
+ return result;
+ }
+
+ internal static NfdnfilteritemT __CreateInstance(__Internal native, bool skipVTables = false)
+ {
+ return new NfdnfilteritemT(native, skipVTables);
+ }
+
+ private static void* __CopyValue(__Internal native)
+ {
+ var ret = Marshal.AllocHGlobal(sizeof(__Internal));
+ *(__Internal*) ret = native;
+ return ret.ToPointer();
+ }
+
+ private NfdnfilteritemT(__Internal native, bool skipVTables = false)
+ : this(__CopyValue(native), skipVTables)
+ {
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ protected NfdnfilteritemT(void* native, bool skipVTables = false)
+ {
+ if (native == null)
+ return;
+ __Instance = new __IntPtr(native);
+ }
+
+ public NfdnfilteritemT()
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ public NfdnfilteritemT(global::NativeFileDialogs.AutoGen.NfdnfilteritemT _0)
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ *((global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) _0.__Instance);
+ if (_0.__name_OwnsNativeMemory)
+ this.Name = _0.Name;
+ if (_0.__spec_OwnsNativeMemory)
+ this.Spec = _0.Spec;
+ }
+
+ public void Dispose()
+ {
+ Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
+ }
+
+ partial void DisposePartial(bool disposing);
+
+ internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
+ {
+ if (__Instance == IntPtr.Zero)
+ return;
+ NativeToManagedMap.TryRemove(__Instance, out _);
+ DisposePartial(disposing);
+ if (__name_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
+ if (__spec_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
+ if (__ownsNativeInstance)
+ Marshal.FreeHGlobal(__Instance);
+ __Instance = IntPtr.Zero;
+ }
+
+ public string Name
+ {
+ get
+ {
+ return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.Unicode, ((__Internal*)__Instance)->name);
+ }
+
+ set
+ {
+ if (__name_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
+ __name_OwnsNativeMemory = true;
+ if (value == null)
+ {
+ ((__Internal*)__Instance)->name = global::System.IntPtr.Zero;
+ return;
+ }
+ var __bytePtr0 = Marshal.StringToHGlobalUni(value);
+ ((__Internal*)__Instance)->name = (__IntPtr) __bytePtr0;
+ }
+ }
+
+ public string Spec
+ {
+ get
+ {
+ return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.Unicode, ((__Internal*)__Instance)->spec);
+ }
+
+ set
+ {
+ if (__spec_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
+ __spec_OwnsNativeMemory = true;
+ if (value == null)
+ {
+ ((__Internal*)__Instance)->spec = global::System.IntPtr.Zero;
+ return;
+ }
+ var __bytePtr0 = Marshal.StringToHGlobalUni(value);
+ ((__Internal*)__Instance)->spec = (__IntPtr) __bytePtr0;
+ }
+ }
+ }
+
+ public unsafe partial class Nfdu8filteritemT : IDisposable
+ {
+ [StructLayout(LayoutKind.Sequential, Size = 16)]
+ public partial struct __Internal
+ {
+ internal __IntPtr name;
+ internal __IntPtr spec;
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "??0nfdu8filteritem_t@@QEAA@AEBU0@@Z", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0);
+ }
+
+ public __IntPtr __Instance { get; protected set; }
+
+ internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap =
+ new global::System.Collections.Concurrent.ConcurrentDictionary();
+
+ internal static void __RecordNativeToManagedMapping(IntPtr native, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT managed)
+ {
+ NativeToManagedMap[native] = managed;
+ }
+
+ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::NativeFileDialogs.AutoGen.Nfdu8filteritemT managed)
+ {
+
+ return NativeToManagedMap.TryGetValue(native, out managed);
+ }
+
+ private bool __name_OwnsNativeMemory = false;
+ private bool __spec_OwnsNativeMemory = false;
+ protected bool __ownsNativeInstance;
+
+ internal static Nfdu8filteritemT __CreateInstance(__IntPtr native, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ return new Nfdu8filteritemT(native.ToPointer(), skipVTables);
+ }
+
+ internal static Nfdu8filteritemT __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false)
+ {
+ if (native == __IntPtr.Zero)
+ return null;
+ if (__TryGetNativeToManagedMapping(native, out var managed))
+ return (Nfdu8filteritemT)managed;
+ var result = __CreateInstance(native, skipVTables);
+ if (saveInstance)
+ __RecordNativeToManagedMapping(native, result);
+ return result;
+ }
+
+ internal static Nfdu8filteritemT __CreateInstance(__Internal native, bool skipVTables = false)
+ {
+ return new Nfdu8filteritemT(native, skipVTables);
+ }
+
+ private static void* __CopyValue(__Internal native)
+ {
+ var ret = Marshal.AllocHGlobal(sizeof(__Internal));
+ *(__Internal*) ret = native;
+ return ret.ToPointer();
+ }
+
+ private Nfdu8filteritemT(__Internal native, bool skipVTables = false)
+ : this(__CopyValue(native), skipVTables)
+ {
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ protected Nfdu8filteritemT(void* native, bool skipVTables = false)
+ {
+ if (native == null)
+ return;
+ __Instance = new __IntPtr(native);
+ }
+
+ public Nfdu8filteritemT()
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ }
+
+ public Nfdu8filteritemT(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT _0)
+ {
+ __Instance = Marshal.AllocHGlobal(sizeof(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal));
+ __ownsNativeInstance = true;
+ __RecordNativeToManagedMapping(__Instance, this);
+ *((global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __Instance) = *((global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) _0.__Instance);
+ if (_0.__name_OwnsNativeMemory)
+ this.Name = _0.Name;
+ if (_0.__spec_OwnsNativeMemory)
+ this.Spec = _0.Spec;
+ }
+
+ public void Dispose()
+ {
+ Dispose(disposing: true, callNativeDtor : __ownsNativeInstance );
+ }
+
+ partial void DisposePartial(bool disposing);
+
+ internal protected virtual void Dispose(bool disposing, bool callNativeDtor )
+ {
+ if (__Instance == IntPtr.Zero)
+ return;
+ NativeToManagedMap.TryRemove(__Instance, out _);
+ DisposePartial(disposing);
+ if (__name_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
+ if (__spec_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
+ if (__ownsNativeInstance)
+ Marshal.FreeHGlobal(__Instance);
+ __Instance = IntPtr.Zero;
+ }
+
+ public string Name
+ {
+ get
+ {
+ return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->name);
+ }
+
+ set
+ {
+ if (__name_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->name);
+ __name_OwnsNativeMemory = true;
+ if (value == null)
+ {
+ ((__Internal*)__Instance)->name = global::System.IntPtr.Zero;
+ return;
+ }
+ var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value);
+ var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1);
+ Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length);
+ Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0);
+ ((__Internal*)__Instance)->name = (__IntPtr) __bytePtr0;
+ }
+ }
+
+ public string Spec
+ {
+ get
+ {
+ return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->spec);
+ }
+
+ set
+ {
+ if (__spec_OwnsNativeMemory)
+ Marshal.FreeHGlobal(((__Internal*)__Instance)->spec);
+ __spec_OwnsNativeMemory = true;
+ if (value == null)
+ {
+ ((__Internal*)__Instance)->spec = global::System.IntPtr.Zero;
+ return;
+ }
+ var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value);
+ var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1);
+ Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length);
+ Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0);
+ ((__Internal*)__Instance)->spec = (__IntPtr) __bytePtr0;
+ }
+ }
+ }
+
+ public unsafe partial class nfd
+ {
+ public partial struct __Internal
+ {
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_FreePathN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_FreePathN(char* filePath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_Init", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_Init();
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_Quit", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_Quit();
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogN(char** outPath, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogMultipleN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleN(__IntPtr* outPaths, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_SaveDialogN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogN(char** outPath, global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* filterList, uint filterCount, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath, [MarshalAs(UnmanagedType.LPWStr)] string defaultName);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PickFolderN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderN(char** outPath, [MarshalAs(UnmanagedType.LPWStr)] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_GetError", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern __IntPtr NFD_GetError();
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_ClearError", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_ClearError();
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetCount", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetCount(__IntPtr pathSet, uint* count);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetPathN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathN(__IntPtr pathSet, uint index, char** outPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetEnum", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetEnum(__IntPtr pathSet, __IntPtr outEnumerator);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_FreeEnum", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_PathSetFreeEnum(__IntPtr enumerator);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_EnumNextN", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextN(__IntPtr enumerator, char** outPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_Free", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_PathSetFree(__IntPtr pathSet);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_FreePathU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern void NFD_FreePathU8(sbyte* outPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogU8(sbyte** outPath, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_OpenDialogMultipleU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleU8(__IntPtr* outPaths, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_SaveDialogU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogU8(sbyte** outPath, global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* filterList, uint count, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultName);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PickFolderU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderU8(sbyte** outPath, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string defaultPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_GetPathU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathU8(__IntPtr pathSet, uint index, sbyte** outPath);
+
+ [SuppressUnmanagedCodeSecurity, DllImport("nfd", EntryPoint = "NFD_PathSet_EnumNextU8", CallingConvention = __CallingConvention.Cdecl)]
+ internal static extern global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextU8(__IntPtr enumerator, sbyte** outPath);
+ }
+
+ public static void NFD_FreePathN(char* filePath)
+ {
+ __Internal.NFD_FreePathN(filePath);
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_Init()
+ {
+ var ___ret = __Internal.NFD_Init();
+ return ___ret;
+ }
+
+ public static void NFD_Quit()
+ {
+ __Internal.NFD_Quit();
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogN(char** outPath, Span filterList, uint filterCount, string defaultPath)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_OpenDialogN(outPath, __arg1, filterCount, defaultPath);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleN(__IntPtr* outPaths, Span filterList, uint filterCount, string defaultPath)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_OpenDialogMultipleN(outPaths, __arg1, filterCount, defaultPath);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogN(char** outPath, Span filterList, uint filterCount, string defaultPath, string defaultName)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.NfdnfilteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_SaveDialogN(outPath, __arg1, filterCount, defaultPath, defaultName);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderN(char** outPath, string defaultPath)
+ {
+ var ___ret = __Internal.NFD_PickFolderN(outPath, defaultPath);
+ return ___ret;
+ }
+
+ public static string NFD_GetError()
+ {
+ var ___ret = __Internal.NFD_GetError();
+ return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret);
+ }
+
+ public static void NFD_ClearError()
+ {
+ __Internal.NFD_ClearError();
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetCount(__IntPtr pathSet, ref uint count)
+ {
+ fixed (uint* __count1 = &count)
+ {
+ var __arg1 = __count1;
+ var ___ret = __Internal.NFD_PathSetGetCount(pathSet, __arg1);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathN(__IntPtr pathSet, uint index, char** outPath)
+ {
+ var ___ret = __Internal.NFD_PathSetGetPathN(pathSet, index, outPath);
+ return ___ret;
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetEnum(__IntPtr pathSet, global::NativeFileDialogs.AutoGen.NfdpathsetenumT outEnumerator)
+ {
+ var __arg1 = outEnumerator is null ? __IntPtr.Zero : outEnumerator.__Instance;
+ var ___ret = __Internal.NFD_PathSetGetEnum(pathSet, __arg1);
+ return ___ret;
+ }
+
+ public static void NFD_PathSetFreeEnum(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator)
+ {
+ var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
+ __Internal.NFD_PathSetFreeEnum(__arg0);
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextN(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator, char** outPath)
+ {
+ var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
+ var ___ret = __Internal.NFD_PathSetEnumNextN(__arg0, outPath);
+ return ___ret;
+ }
+
+ public static void NFD_PathSetFree(__IntPtr pathSet)
+ {
+ __Internal.NFD_PathSetFree(pathSet);
+ }
+
+ public static void NFD_FreePathU8(sbyte* outPath)
+ {
+ __Internal.NFD_FreePathU8(outPath);
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogU8(sbyte** outPath, Span filterList, uint count, string defaultPath)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_OpenDialogU8(outPath, __arg1, count, defaultPath);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_OpenDialogMultipleU8(__IntPtr* outPaths, Span filterList, uint count, string defaultPath)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_OpenDialogMultipleU8(outPaths, __arg1, count, defaultPath);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_SaveDialogU8(sbyte** outPath, Span filterList, uint count, string defaultPath, string defaultName)
+ {
+ Span __filterList;
+ if (filterList == null)
+ __filterList = null;
+ else
+ {
+ __filterList = new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal[filterList.Length];
+ for (int i = 0; i < __filterList.Length; i++)
+ {
+ var __element = filterList[i];
+ __filterList[i] = __element is null ? new global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal() : *(global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal*) __element.__Instance;
+ }
+ }
+ fixed (global::NativeFileDialogs.AutoGen.Nfdu8filteritemT.__Internal* ____filterList1 = &MemoryMarshal.GetReference(__filterList))
+ {
+ var __arg1 = ____filterList1;
+ var ___ret = __Internal.NFD_SaveDialogU8(outPath, __arg1, count, defaultPath, defaultName);
+ return ___ret;
+ }
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PickFolderU8(sbyte** outPath, string defaultPath)
+ {
+ var ___ret = __Internal.NFD_PickFolderU8(outPath, defaultPath);
+ return ___ret;
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetGetPathU8(__IntPtr pathSet, uint index, sbyte** outPath)
+ {
+ var ___ret = __Internal.NFD_PathSetGetPathU8(pathSet, index, outPath);
+ return ___ret;
+ }
+
+ public static global::NativeFileDialogs.AutoGen.NfdresultT NFD_PathSetEnumNextU8(global::NativeFileDialogs.AutoGen.NfdpathsetenumT enumerator, sbyte** outPath)
+ {
+ var __arg0 = enumerator is null ? __IntPtr.Zero : enumerator.__Instance;
+ var ___ret = __Internal.NFD_PathSetEnumNextU8(__arg0, outPath);
+ return ___ret;
+ }
+ }
+}