using System.Runtime.Serialization; using System.Text.Json.Serialization; using ProtonVPN.OperatingSystems.WebAuthn.Serialization; namespace ProtonVPN.OperatingSystems.WebAuthn.Enums; /// /// This enumeration’s values describe authenticators' attachment modalities. /// /// https://www.w3.org/TR/webauthn-2/#enum-attachment [JsonConverter(typeof(JsonCustomEnumConverter))] public enum AuthenticatorAttachment : uint { /// /// No authenticator attachment filters are applied. /// /// /// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY. /// [EnumMember(Value = "NULL")] Any = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY, /// /// This value indicates platform attachment. /// /// /// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM. /// [EnumMember(Value = "platform")] Platform = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM, /// /// This value indicates cross-platform attachment. /// /// /// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM. /// [EnumMember(Value = "cross-platform")] CrossPlatform = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM, /// /// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2. /// CrossPlatformU2F = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2 }