Copy as Markdown
Other Tools
//
// DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/dom/webauthn/nsIWebAuthnArgs.idl
//
/// `typedef int32_t COSEAlgorithmIdentifier;`
///
pub type COSEAlgorithmIdentifier = i32;
/// `interface nsIWebAuthnRegisterArgs : nsISupports`
///
// The actual type definition for the interface. This struct has methods
// declared on it which will call through its vtable. You never want to pass
// this type around by value, always pass it behind a reference.
#[repr(C)]
pub struct nsIWebAuthnRegisterArgs {
vtable: &'static nsIWebAuthnRegisterArgsVTable,
/// This field is a phantomdata to ensure that the VTable type and any
/// struct containing it is not safe to send across threads by default, as
/// XPCOM is generally not threadsafe.
///
/// If this type is marked as [rust_sync], there will be explicit `Send` and
/// `Sync` implementations on this type, which will override the inherited
/// negative impls from `Rc`.
__nosync: ::std::marker::PhantomData<::std::rc::Rc<u8>>,
// Make the rust compiler aware that there might be interior mutability
// in what actually implements the interface. This works around UB
// introduced by https://github.com/llvm/llvm-project/commit/01859da84bad95fd51d6a03b08b60c660e642a4f
// that a rust lint would make blatantly obvious, but doesn't exist.
// This prevents optimizations, but those optimizations weren't available
// before rustc switched to LLVM 16, and they now cause problems because
// of the UB.
// Until there's a lint available to find all our UB, it's simpler to
// avoid the UB in the first place, at the cost of preventing optimizations
// in places that don't cause UB. But again, those optimizations weren't
// available before.
__maybe_interior_mutability: ::std::cell::UnsafeCell<[u8; 0]>,
}
// Implementing XpCom for an interface exposes its IID, which allows for easy
// use of the `.query_interface<T>` helper method. This also defines that
// method for nsIWebAuthnRegisterArgs.
unsafe impl XpCom for nsIWebAuthnRegisterArgs {
const IID: nsIID = nsID(0x2fc8febe, 0xa277, 0x11ed,
[0xbd, 0xa2, 0x8f, 0x64, 0x95, 0xa5, 0xe7, 0x5c]);
}
// We need to implement the RefCounted trait so we can be used with `RefPtr`.
// This trait teaches `RefPtr` how to manage our memory.
unsafe impl RefCounted for nsIWebAuthnRegisterArgs {
#[inline]
unsafe fn addref(&self) {
self.AddRef();
}
#[inline]
unsafe fn release(&self) {
self.Release();
}
}
// This trait is implemented on all types which can be coerced to from nsIWebAuthnRegisterArgs.
// It is used in the implementation of `fn coerce<T>`. We hide it from the
// documentation, because it clutters it up a lot.
#[doc(hidden)]
pub trait nsIWebAuthnRegisterArgsCoerce {
/// Cheaply cast a value of this type from a `nsIWebAuthnRegisterArgs`.
fn coerce_from(v: &nsIWebAuthnRegisterArgs) -> &Self;
}
// The trivial implementation: We can obviously coerce ourselves to ourselves.
impl nsIWebAuthnRegisterArgsCoerce for nsIWebAuthnRegisterArgs {
#[inline]
fn coerce_from(v: &nsIWebAuthnRegisterArgs) -> &Self {
v
}
}
impl nsIWebAuthnRegisterArgs {
/// Cast this `nsIWebAuthnRegisterArgs` to one of its base interfaces.
#[inline]
pub fn coerce<T: nsIWebAuthnRegisterArgsCoerce>(&self) -> &T {
T::coerce_from(self)
}
}
// Every interface struct type implements `Deref` to its base interface. This
// causes methods on the base interfaces to be directly avaliable on the
// object. For example, you can call `.AddRef` or `.QueryInterface` directly
// on any interface which inherits from `nsISupports`.
impl ::std::ops::Deref for nsIWebAuthnRegisterArgs {
type Target = nsISupports;
#[inline]
fn deref(&self) -> &nsISupports {
unsafe {
::std::mem::transmute(self)
}
}
}
// Ensure we can use .coerce() to cast to our base types as well. Any type which
// our base interface can coerce from should be coercable from us as well.
impl<T: nsISupportsCoerce> nsIWebAuthnRegisterArgsCoerce for T {
#[inline]
fn coerce_from(v: &nsIWebAuthnRegisterArgs) -> &Self {
T::coerce_from(v)
}
}
// This struct represents the interface's VTable. A pointer to a statically
// allocated version of this struct is at the beginning of every nsIWebAuthnRegisterArgs
// object. It contains one pointer field for each method in the interface. In
// the case where we can't generate a binding for a method, we include a void
// pointer.
#[doc(hidden)]
#[repr(C)]
pub struct nsIWebAuthnRegisterArgsVTable {
/// We need to include the members from the base interface's vtable at the start
/// of the VTable definition.
pub __base: nsISupportsVTable,
/* readonly attribute AString origin; */
pub GetOrigin: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aOrigin: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute Array<octet> challenge; */
pub GetChallenge: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aChallenge: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* readonly attribute ACString clientDataJSON; */
pub GetClientDataJSON: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aClientDataJSON: *mut ::nsstring::nsACString) -> ::nserror::nsresult,
/* readonly attribute Array<octet> clientDataHash; */
pub GetClientDataHash: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aClientDataHash: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* readonly attribute AString rpId; */
pub GetRpId: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aRpId: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString rpName; */
pub GetRpName: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aRpName: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute Array<octet> userId; */
pub GetUserId: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aUserId: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString userName; */
pub GetUserName: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aUserName: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString userDisplayName; */
pub GetUserDisplayName: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aUserDisplayName: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute Array<COSEAlgorithmIdentifier> coseAlgs; */
pub GetCoseAlgs: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aCoseAlgs: *mut thin_vec::ThinVec<COSEAlgorithmIdentifier>) -> ::nserror::nsresult,
/* readonly attribute Array<Array<octet>> excludeList; */
pub GetExcludeList: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aExcludeList: *mut thin_vec::ThinVec<thin_vec::ThinVec<u8>>) -> ::nserror::nsresult,
/* readonly attribute Array<octet> excludeListTransports; */
pub GetExcludeListTransports: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aExcludeListTransports: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* [must_use] readonly attribute boolean credProps; */
pub GetCredProps: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aCredProps: *mut bool) -> ::nserror::nsresult,
/* [must_use] readonly attribute boolean hmacCreateSecret; */
pub GetHmacCreateSecret: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aHmacCreateSecret: *mut bool) -> ::nserror::nsresult,
/* [must_use] readonly attribute boolean minPinLength; */
pub GetMinPinLength: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aMinPinLength: *mut bool) -> ::nserror::nsresult,
/* readonly attribute AString residentKey; */
pub GetResidentKey: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aResidentKey: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute AString userVerification; */
pub GetUserVerification: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aUserVerification: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString authenticatorAttachment; */
pub GetAuthenticatorAttachment: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aAuthenticatorAttachment: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute uint32_t timeoutMS; */
pub GetTimeoutMS: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aTimeoutMS: *mut u32) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString attestationConveyancePreference; */
pub GetAttestationConveyancePreference: unsafe extern "system" fn (this: *const nsIWebAuthnRegisterArgs, aAttestationConveyancePreference: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
}
// The implementations of the function wrappers which are exposed to rust code.
// Call these methods rather than manually calling through the VTable struct.
impl nsIWebAuthnRegisterArgs {
/// `readonly attribute AString origin;`
#[inline]
pub unsafe fn GetOrigin(&self, aOrigin: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetOrigin)(self, aOrigin)
}
/// `readonly attribute Array<octet> challenge;`
#[inline]
pub unsafe fn GetChallenge(&self, aChallenge: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetChallenge)(self, aChallenge)
}
/// `readonly attribute ACString clientDataJSON;`
#[inline]
pub unsafe fn GetClientDataJSON(&self, aClientDataJSON: *mut ::nsstring::nsACString) -> ::nserror::nsresult {
((*self.vtable).GetClientDataJSON)(self, aClientDataJSON)
}
/// `readonly attribute Array<octet> clientDataHash;`
#[inline]
pub unsafe fn GetClientDataHash(&self, aClientDataHash: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetClientDataHash)(self, aClientDataHash)
}
/// `readonly attribute AString rpId;`
#[inline]
pub unsafe fn GetRpId(&self, aRpId: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetRpId)(self, aRpId)
}
/// `[must_use] readonly attribute AString rpName;`
#[inline]
pub unsafe fn GetRpName(&self, aRpName: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetRpName)(self, aRpName)
}
/// `[must_use] readonly attribute Array<octet> userId;`
#[inline]
pub unsafe fn GetUserId(&self, aUserId: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetUserId)(self, aUserId)
}
/// `[must_use] readonly attribute AString userName;`
#[inline]
pub unsafe fn GetUserName(&self, aUserName: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetUserName)(self, aUserName)
}
/// `[must_use] readonly attribute AString userDisplayName;`
#[inline]
pub unsafe fn GetUserDisplayName(&self, aUserDisplayName: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetUserDisplayName)(self, aUserDisplayName)
}
/// `[must_use] readonly attribute Array<COSEAlgorithmIdentifier> coseAlgs;`
#[inline]
pub unsafe fn GetCoseAlgs(&self, aCoseAlgs: *mut thin_vec::ThinVec<COSEAlgorithmIdentifier>) -> ::nserror::nsresult {
((*self.vtable).GetCoseAlgs)(self, aCoseAlgs)
}
/// `readonly attribute Array<Array<octet>> excludeList;`
#[inline]
pub unsafe fn GetExcludeList(&self, aExcludeList: *mut thin_vec::ThinVec<thin_vec::ThinVec<u8>>) -> ::nserror::nsresult {
((*self.vtable).GetExcludeList)(self, aExcludeList)
}
/// `readonly attribute Array<octet> excludeListTransports;`
#[inline]
pub unsafe fn GetExcludeListTransports(&self, aExcludeListTransports: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetExcludeListTransports)(self, aExcludeListTransports)
}
/// `[must_use] readonly attribute boolean credProps;`
#[inline]
pub unsafe fn GetCredProps(&self, aCredProps: *mut bool) -> ::nserror::nsresult {
((*self.vtable).GetCredProps)(self, aCredProps)
}
/// `[must_use] readonly attribute boolean hmacCreateSecret;`
#[inline]
pub unsafe fn GetHmacCreateSecret(&self, aHmacCreateSecret: *mut bool) -> ::nserror::nsresult {
((*self.vtable).GetHmacCreateSecret)(self, aHmacCreateSecret)
}
/// `[must_use] readonly attribute boolean minPinLength;`
#[inline]
pub unsafe fn GetMinPinLength(&self, aMinPinLength: *mut bool) -> ::nserror::nsresult {
((*self.vtable).GetMinPinLength)(self, aMinPinLength)
}
/// `readonly attribute AString residentKey;`
#[inline]
pub unsafe fn GetResidentKey(&self, aResidentKey: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetResidentKey)(self, aResidentKey)
}
/// `readonly attribute AString userVerification;`
#[inline]
pub unsafe fn GetUserVerification(&self, aUserVerification: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetUserVerification)(self, aUserVerification)
}
/// `[must_use] readonly attribute AString authenticatorAttachment;`
#[inline]
pub unsafe fn GetAuthenticatorAttachment(&self, aAuthenticatorAttachment: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetAuthenticatorAttachment)(self, aAuthenticatorAttachment)
}
/// `readonly attribute uint32_t timeoutMS;`
#[inline]
pub unsafe fn GetTimeoutMS(&self, aTimeoutMS: *mut u32) -> ::nserror::nsresult {
((*self.vtable).GetTimeoutMS)(self, aTimeoutMS)
}
/// `[must_use] readonly attribute AString attestationConveyancePreference;`
#[inline]
pub unsafe fn GetAttestationConveyancePreference(&self, aAttestationConveyancePreference: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetAttestationConveyancePreference)(self, aAttestationConveyancePreference)
}
}
/// `interface nsIWebAuthnSignArgs : nsISupports`
///
// The actual type definition for the interface. This struct has methods
// declared on it which will call through its vtable. You never want to pass
// this type around by value, always pass it behind a reference.
#[repr(C)]
pub struct nsIWebAuthnSignArgs {
vtable: &'static nsIWebAuthnSignArgsVTable,
/// This field is a phantomdata to ensure that the VTable type and any
/// struct containing it is not safe to send across threads by default, as
/// XPCOM is generally not threadsafe.
///
/// If this type is marked as [rust_sync], there will be explicit `Send` and
/// `Sync` implementations on this type, which will override the inherited
/// negative impls from `Rc`.
__nosync: ::std::marker::PhantomData<::std::rc::Rc<u8>>,
// Make the rust compiler aware that there might be interior mutability
// in what actually implements the interface. This works around UB
// introduced by https://github.com/llvm/llvm-project/commit/01859da84bad95fd51d6a03b08b60c660e642a4f
// that a rust lint would make blatantly obvious, but doesn't exist.
// This prevents optimizations, but those optimizations weren't available
// before rustc switched to LLVM 16, and they now cause problems because
// of the UB.
// Until there's a lint available to find all our UB, it's simpler to
// avoid the UB in the first place, at the cost of preventing optimizations
// in places that don't cause UB. But again, those optimizations weren't
// available before.
__maybe_interior_mutability: ::std::cell::UnsafeCell<[u8; 0]>,
}
// Implementing XpCom for an interface exposes its IID, which allows for easy
// use of the `.query_interface<T>` helper method. This also defines that
// method for nsIWebAuthnSignArgs.
unsafe impl XpCom for nsIWebAuthnSignArgs {
const IID: nsIID = nsID(0x2e621cf4, 0xa277, 0x11ed,
[0xae, 0x00, 0xbf, 0x41, 0xa5, 0x4e, 0xf5, 0x53]);
}
// We need to implement the RefCounted trait so we can be used with `RefPtr`.
// This trait teaches `RefPtr` how to manage our memory.
unsafe impl RefCounted for nsIWebAuthnSignArgs {
#[inline]
unsafe fn addref(&self) {
self.AddRef();
}
#[inline]
unsafe fn release(&self) {
self.Release();
}
}
// This trait is implemented on all types which can be coerced to from nsIWebAuthnSignArgs.
// It is used in the implementation of `fn coerce<T>`. We hide it from the
// documentation, because it clutters it up a lot.
#[doc(hidden)]
pub trait nsIWebAuthnSignArgsCoerce {
/// Cheaply cast a value of this type from a `nsIWebAuthnSignArgs`.
fn coerce_from(v: &nsIWebAuthnSignArgs) -> &Self;
}
// The trivial implementation: We can obviously coerce ourselves to ourselves.
impl nsIWebAuthnSignArgsCoerce for nsIWebAuthnSignArgs {
#[inline]
fn coerce_from(v: &nsIWebAuthnSignArgs) -> &Self {
v
}
}
impl nsIWebAuthnSignArgs {
/// Cast this `nsIWebAuthnSignArgs` to one of its base interfaces.
#[inline]
pub fn coerce<T: nsIWebAuthnSignArgsCoerce>(&self) -> &T {
T::coerce_from(self)
}
}
// Every interface struct type implements `Deref` to its base interface. This
// causes methods on the base interfaces to be directly avaliable on the
// object. For example, you can call `.AddRef` or `.QueryInterface` directly
// on any interface which inherits from `nsISupports`.
impl ::std::ops::Deref for nsIWebAuthnSignArgs {
type Target = nsISupports;
#[inline]
fn deref(&self) -> &nsISupports {
unsafe {
::std::mem::transmute(self)
}
}
}
// Ensure we can use .coerce() to cast to our base types as well. Any type which
// our base interface can coerce from should be coercable from us as well.
impl<T: nsISupportsCoerce> nsIWebAuthnSignArgsCoerce for T {
#[inline]
fn coerce_from(v: &nsIWebAuthnSignArgs) -> &Self {
T::coerce_from(v)
}
}
// This struct represents the interface's VTable. A pointer to a statically
// allocated version of this struct is at the beginning of every nsIWebAuthnSignArgs
// object. It contains one pointer field for each method in the interface. In
// the case where we can't generate a binding for a method, we include a void
// pointer.
#[doc(hidden)]
#[repr(C)]
pub struct nsIWebAuthnSignArgsVTable {
/// We need to include the members from the base interface's vtable at the start
/// of the VTable definition.
pub __base: nsISupportsVTable,
/* readonly attribute AString origin; */
pub GetOrigin: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aOrigin: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute AString rpId; */
pub GetRpId: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aRpId: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute Array<octet> challenge; */
pub GetChallenge: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aChallenge: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* readonly attribute ACString clientDataJSON; */
pub GetClientDataJSON: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aClientDataJSON: *mut ::nsstring::nsACString) -> ::nserror::nsresult,
/* readonly attribute Array<octet> clientDataHash; */
pub GetClientDataHash: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aClientDataHash: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* readonly attribute Array<Array<octet>> allowList; */
pub GetAllowList: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aAllowList: *mut thin_vec::ThinVec<thin_vec::ThinVec<u8>>) -> ::nserror::nsresult,
/* readonly attribute Array<octet> allowListTransports; */
pub GetAllowListTransports: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aAllowListTransports: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult,
/* [must_use] readonly attribute boolean hmacCreateSecret; */
pub GetHmacCreateSecret: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aHmacCreateSecret: *mut bool) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString appId; */
pub GetAppId: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aAppId: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* [must_use] readonly attribute AString userVerification; */
pub GetUserVerification: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aUserVerification: *mut ::nsstring::nsAString) -> ::nserror::nsresult,
/* readonly attribute unsigned long timeoutMS; */
pub GetTimeoutMS: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aTimeoutMS: *mut u32) -> ::nserror::nsresult,
/* readonly attribute boolean conditionallyMediated; */
pub GetConditionallyMediated: unsafe extern "system" fn (this: *const nsIWebAuthnSignArgs, aConditionallyMediated: *mut bool) -> ::nserror::nsresult,
}
// The implementations of the function wrappers which are exposed to rust code.
// Call these methods rather than manually calling through the VTable struct.
impl nsIWebAuthnSignArgs {
/// `readonly attribute AString origin;`
#[inline]
pub unsafe fn GetOrigin(&self, aOrigin: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetOrigin)(self, aOrigin)
}
/// `readonly attribute AString rpId;`
#[inline]
pub unsafe fn GetRpId(&self, aRpId: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetRpId)(self, aRpId)
}
/// `readonly attribute Array<octet> challenge;`
#[inline]
pub unsafe fn GetChallenge(&self, aChallenge: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetChallenge)(self, aChallenge)
}
/// `readonly attribute ACString clientDataJSON;`
#[inline]
pub unsafe fn GetClientDataJSON(&self, aClientDataJSON: *mut ::nsstring::nsACString) -> ::nserror::nsresult {
((*self.vtable).GetClientDataJSON)(self, aClientDataJSON)
}
/// `readonly attribute Array<octet> clientDataHash;`
#[inline]
pub unsafe fn GetClientDataHash(&self, aClientDataHash: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetClientDataHash)(self, aClientDataHash)
}
/// `readonly attribute Array<Array<octet>> allowList;`
#[inline]
pub unsafe fn GetAllowList(&self, aAllowList: *mut thin_vec::ThinVec<thin_vec::ThinVec<u8>>) -> ::nserror::nsresult {
((*self.vtable).GetAllowList)(self, aAllowList)
}
/// `readonly attribute Array<octet> allowListTransports;`
#[inline]
pub unsafe fn GetAllowListTransports(&self, aAllowListTransports: *mut thin_vec::ThinVec<u8>) -> ::nserror::nsresult {
((*self.vtable).GetAllowListTransports)(self, aAllowListTransports)
}
/// `[must_use] readonly attribute boolean hmacCreateSecret;`
#[inline]
pub unsafe fn GetHmacCreateSecret(&self, aHmacCreateSecret: *mut bool) -> ::nserror::nsresult {
((*self.vtable).GetHmacCreateSecret)(self, aHmacCreateSecret)
}
/// `[must_use] readonly attribute AString appId;`
#[inline]
pub unsafe fn GetAppId(&self, aAppId: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetAppId)(self, aAppId)
}
/// `[must_use] readonly attribute AString userVerification;`
#[inline]
pub unsafe fn GetUserVerification(&self, aUserVerification: *mut ::nsstring::nsAString) -> ::nserror::nsresult {
((*self.vtable).GetUserVerification)(self, aUserVerification)
}
/// `readonly attribute unsigned long timeoutMS;`
#[inline]
pub unsafe fn GetTimeoutMS(&self, aTimeoutMS: *mut u32) -> ::nserror::nsresult {
((*self.vtable).GetTimeoutMS)(self, aTimeoutMS)
}
/// `readonly attribute boolean conditionallyMediated;`
#[inline]
pub unsafe fn GetConditionallyMediated(&self, aConditionallyMediated: *mut bool) -> ::nserror::nsresult {
((*self.vtable).GetConditionallyMediated)(self, aConditionallyMediated)
}
}