Struct CreateOptionsBuilder

Source
pub struct CreateOptionsBuilder(/* private fields */);
Expand description

Utility used to create a CreateOptions instance.

Implementations§

Source§

impl CreateOptionsBuilder

Source

pub fn new(cipher: Cipher) -> Self

Creates a builder instance.

The container should use the given cipher.

Source

pub fn with_password_callback<Cb: Fn() -> Result<Vec<u8>, String> + 'static>( self, callback: Cb, ) -> Self

Assigns a password callback to the container.

A password is needed, when encryption is enabled for the container. Based on the password a wrapping key is generated, which encrypts the secret part of the header. If encryption is enabled but no password callback is assigned, an Error::NoPassword error is raised. If encryption is disabled, no password is needed and an assigned callback is never called.

On success the callback returns the password (represented as an Vec<u8>) wrapped into an Ok. On any failure an Err with an error message must be returned.

Source

pub fn with_kdf(self, kdf: Kdf) -> Self

Uses the given key derivation function.

If the cipher is set to Cipher::None, then the setting is discarded; you don’t need a KDF for the None cipher.

Source

pub fn with_overwrite(self, overwrite: bool) -> Self

Assigns a new overwrite flag to the options.

If set to true an already existing backend is overwritten. If overwrite is set to false and the requested container exists, the build should fail.

Source

pub fn build<B: Backend>(self) -> ContainerResult<CreateOptions, B>

Creates the CreateOptions instance.

Before the CreateOptions instance is created all options passed to the builder are validated.

§Errors

If validation has failed an Error is returned.

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<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.