Provider

Struct Provider 

Source
pub struct Provider(/* private fields */);

Implementations§

Source§

impl Provider

Source

pub fn load(ctx: Option<&LibCtxRef>, name: &str) -> Result<Self, ErrorStack>

Loads a new provider into the specified library context, disabling the fallback providers.

If ctx is None, the provider will be loaded in to the default library context.

This corresponds to OSSL_provider_load.

Source

pub fn try_load( ctx: Option<&LibCtxRef>, name: &str, retain_fallbacks: bool, ) -> Result<Self, ErrorStack>

Loads a new provider into the specified library context, disabling the fallback providers if retain_fallbacks is false and the load succeeds.

If ctx is None, the provider will be loaded into the default library context.

This corresponds to OSSL_provider_try_load.

Source

pub fn set_default_search_path( ctx: Option<&LibCtxRef>, path: &str, ) -> Result<(), ErrorStack>

Specifies the default search path that is to be used for looking for providers in the specified library context. If left unspecified, an environment variable and a fall back default value will be used instead

If ctx is None, the provider will be loaded into the default library context.

This corresponds to OSSL_PROVIDER_set_default_search_path.

Trait Implementations§

Source§

impl AsRef<ProviderRef> for Provider

Source§

fn as_ref(&self) -> &ProviderRef

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

impl Borrow<ProviderRef> for Provider

Source§

fn borrow(&self) -> &ProviderRef

Immutably borrows from an owned value. Read more
Source§

impl Deref for Provider

Source§

type Target = ProviderRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &ProviderRef

Dereferences the value.
Source§

impl DerefMut for Provider

Source§

fn deref_mut(&mut self) -> &mut ProviderRef

Mutably dereferences the value.
Source§

impl Drop for Provider

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl ForeignType for Provider

Source§

type CType = OSSL_PROVIDER

The raw C type.
Source§

type Ref = ProviderRef

The type representing a reference to this type.
Source§

unsafe fn from_ptr(ptr: *mut OSSL_PROVIDER) -> Provider

Constructs an instance of this type from its raw type.
Source§

fn as_ptr(&self) -> *mut OSSL_PROVIDER

Returns a raw pointer to the wrapped value.
Source§

impl Send for Provider

Source§

impl Sync for Provider

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes