Struct SecRequirement

Source
#[repr(C)]
pub struct SecRequirement { /* private fields */ }
Available on crate feature CSCommon only.
Expand description

This is the type of a reference to a code requirement.

See also Apple’s documentation

Implementations§

Source§

impl SecRequirement

Source

pub unsafe fn create_with_data( data: &CFData, flags: SecCSFlags, requirement: NonNull<*mut SecRequirement>, ) -> i32

Available on crate feature SecRequirement only.

Create a SecRequirement object from binary form. This is the effective inverse of SecRequirementCopyData.

Parameter data: A binary blob obtained earlier from a valid SecRequirement object using the SecRequirementCopyData call. This is the only publicly supported way to get such a data blob.

Parameter flags: Optional flags. Pass kSecCSDefaultFlags for standard behavior.

Parameter requirement: On successful return, contains a reference to a SecRequirement object that behaves identically to the one the data blob was obtained from.

Returns: Upon success, errSecSuccess. Upon error, an OSStatus value documented in CSCommon.h or certain other Security framework headers.

Source

pub unsafe fn create_with_string( text: &CFString, flags: SecCSFlags, requirement: NonNull<*mut SecRequirement>, ) -> i32

Available on crate feature SecRequirement only.

Create a SecRequirement object by compiling a valid text representation of a requirement.

Parameter text: A CFString containing the text form of a (single) Code Requirement.

Parameter flags: Optional flags. Pass kSecCSDefaultFlags for standard behavior.

Parameter requirement: On successful return, contains a reference to a SecRequirement object that implements the conditions described in text.

Returns: Upon success, errSecSuccess. Upon error, an OSStatus value documented in CSCommon.h or certain other Security framework headers.

Source

pub unsafe fn create_with_string_and_errors( text: &CFString, flags: SecCSFlags, errors: *mut *mut CFError, requirement: NonNull<*mut SecRequirement>, ) -> i32

Available on crate feature SecRequirement only.
Source

pub unsafe fn copy_data( self: &SecRequirement, flags: SecCSFlags, data: NonNull<*const CFData>, ) -> i32

Available on crate feature SecRequirement only.

Extracts a stable, persistent binary form of a SecRequirement. This is the effective inverse of SecRequirementCreateWithData.

Parameter requirement: A valid SecRequirement object.

Parameter flags: Optional flags. Pass kSecCSDefaultFlags for standard behavior.

Parameter data: On successful return, contains a reference to a CFData object containing a binary blob that can be fed to SecRequirementCreateWithData to recreate a SecRequirement object with identical behavior.

Returns: Upon success, errSecSuccess. Upon error, an OSStatus value documented in CSCommon.h or certain other Security framework headers.

Source

pub unsafe fn copy_string( self: &SecRequirement, flags: SecCSFlags, text: NonNull<*const CFString>, ) -> i32

Available on crate feature SecRequirement only.

Converts a SecRequirement object into text form. This is the effective inverse of SecRequirementCreateWithString.

Repeated application of this function may produce text that differs in formatting, may contain different source comments, and may perform its validation functions in different order. However, it is guaranteed that recompiling the text using SecRequirementCreateWithString will produce a SecRequirement object that behaves identically to the one you start with.

Parameter requirement: A valid SecRequirement object.

Parameter flags: Optional flags. Pass kSecCSDefaultFlags for standard behavior.

Parameter text: On successful return, contains a reference to a CFString object containing a text representation of the requirement.

Returns: Upon success, errSecSuccess. Upon error, an OSStatus value documented in CSCommon.h or certain other Security framework headers.

Methods from Deref<Target = CFType>§

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: ConcreteType,

Available on crate feature SecCustomTransform only.

Attempt to downcast the type to that of type T.

This is the reference-variant. Use CFRetained::downcast if you want to convert a retained type. See also ConcreteType for more details on which types support being converted to.

Source

pub fn retain_count(&self) -> usize

Available on crate feature SecCustomTransform only.

Get the reference count of the object.

This function may be useful for debugging. You normally do not use this function otherwise.

Beware that some things (like CFNumbers, small CFStrings etc.) may not have a normal retain count for optimization purposes, and can return usize::MAX in that case.

Trait Implementations§

Source§

impl AsRef<AnyObject> for SecRequirement

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CFType> for SecRequirement

Source§

fn as_ref(&self) -> &CFType

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<SecRequirement> for SecRequirement

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for SecRequirement

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFType> for SecRequirement

Source§

fn borrow(&self) -> &CFType

Immutably borrows from an owned value. Read more
Source§

impl ConcreteType for SecRequirement

Available on crate feature SecRequirement only.
Source§

fn type_id() -> CFTypeID

Returns the type identifier of all SecRequirement instances.

Source§

impl Debug for SecRequirement

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for SecRequirement

Source§

type Target = CFType

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for SecRequirement

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for SecRequirement

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl PartialEq for SecRequirement

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for SecRequirement

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Type for SecRequirement

Source§

fn retain(&self) -> CFRetained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

fn as_concrete_TypeRef(&self) -> &Self

👎Deprecated: this is redundant
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::retain
Helper for easier transition from the core-foundation crate. Read more
Source§

fn as_CFTypeRef(&self) -> &CFType
where Self: AsRef<CFType>,

👎Deprecated: this is redundant (CF types deref to CFType)
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::from_raw
Helper for easier transition from the core-foundation crate. Read more
Source§

impl Eq for SecRequirement

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,