Enum sequoia_keystore_backend::Error

source ·
#[non_exhaustive]
pub enum Error { InvalidArgument(String), NotFound(String), OperationNotSupported(String), Locked(String), Unavailable(String), Unregistered(String), Unconfigured(String), AlreadyUnlocked(String), ExternalImportRequired(Option<String>), NoInlinePassword(Option<String>), NoExternalPassword(Option<String>), }
Expand description

Errors used in this crate.

Note: This enum cannot be exhaustively matched to allow for future extensions.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

InvalidArgument(String)

Invalid argument.

§

NotFound(String)

Not found.

§

OperationNotSupported(String)

Operation not supported.

§

Locked(String)

The device or key is locked.

A device is locked when a pin, password, or some other interaction is needed to unlock the device.

When this error is received, the caller should prompt the user for the password, unlock the object, and then retry the operation.

§

Unavailable(String)

The device or key is not available.

When this error is received, the caller may prompt the user to insert the device, and then retry the operation.

§

Unregistered(String)

The device is not registered.

§

Unconfigured(String)

The device is not configured.

The device may contain keys, but it first needs to be configured before it can be used.

§

AlreadyUnlocked(String)

The device or key is already unlocked.

Returned by DeviceHandle::unlock and KeyHandle::unlock if a device or key is already unlocked or doesn’t need to be unlocked.

§

ExternalImportRequired(Option<String>)

The backend doesn’t support importing keys using this interface.

This error is returned by Backend::import if the backend requires backend-specific information in order to import a key, which is not provided via this interface. For instance, when importing a key to a smartcard, the user needs to specify the smartcard, and the slot to use on the smartcard. Rather than try and model these parameters using this generic interface, backends should just have their own tools. The text should be a hint that is displayed to the user describing how to find the tool.

§

NoInlinePassword(Option<String>)

The key doesn’t support inline passwords.

Password entry is taken care of by the device managing the key. For instance, the password may be obtained using an external PIN pad.

§

NoExternalPassword(Option<String>)

The key doesn’t support getting passwords.

The password must be provided inline. The password cannot be obtained using something like an external PIN pad.

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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

§

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.