using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; namespace Foodsoft.Alpm { [StructLayout(LayoutKind.Sequential)] [SuppressMessage("ReSharper", "ConvertToConstant.Local")] public class Depend { public enum ModType { Any = 1, Equal, GreaterThanOrEqual, LessThanOrEqual, GreaterThan, LessThan } [field: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8OutMarshaler))] public string Name { get; } = null!; [field: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8OutMarshaler))] public string Version { get; } = null!; [field: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8OutMarshaler))] public string Description { get; } = null!; public ulong NameHash { get; } = 0; public ModType Mod { get; } = ModType.Any; } }