pub struct CreateOptionsBuilder(/* private fields */);
Expand description
Utility used to create a CreateOptions
instance.
Implementations§
Source§impl CreateOptionsBuilder
impl CreateOptionsBuilder
Sourcepub fn new(cipher: Cipher) -> Self
pub fn new(cipher: Cipher) -> Self
Creates a builder instance.
The container should use the given cipher
.
Sourcepub fn with_password_callback<Cb: Fn() -> Result<Vec<u8>, String> + 'static>(
self,
callback: Cb,
) -> Self
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.
Sourcepub fn with_kdf(self, kdf: Kdf) -> Self
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.
Sourcepub fn with_overwrite(self, overwrite: bool) -> Self
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.
Sourcepub fn build<B: Backend>(self) -> ContainerResult<CreateOptions, B>
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.