Xdg.Directories/src/Xdg.Directories.FFI/UserDirectory.cs

33 lines
1.2 KiB
C#

#if NET7_0_OR_GREATER
using System.Runtime.InteropServices;
namespace Xdg.Directories.FFI;
internal static partial class Exports
{
[UnmanagedCallersOnly(EntryPoint = "xdg_desktop_dir")]
public static IntPtr Desktop() => StringToPtr(UserDirectory.DesktopDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_download_dir")]
public static IntPtr Download() => StringToPtr(UserDirectory.DownloadDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_documents_dir")]
public static IntPtr Documents() => StringToPtr(UserDirectory.DocumentsDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_music_dir")]
public static IntPtr Music() => StringToPtr(UserDirectory.MusicDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_pictures_dir")]
public static IntPtr Pictures() => StringToPtr(UserDirectory.PicturesDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_videos_dir")]
public static IntPtr Videos() => StringToPtr(UserDirectory.VideosDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_templates_dir")]
public static IntPtr Templates() => StringToPtr(UserDirectory.TemplatesDir);
[UnmanagedCallersOnly(EntryPoint = "xdg_publicshare_dir")]
public static IntPtr Public() => StringToPtr(UserDirectory.PublicDir);
}
#endif