From 6fce98ec044241abd1d0f54dca307af6cd9f648f Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Fri, 25 Sep 2020 02:06:00 +0200 Subject: Update nitrokey to v0.8.0 This patch updates the nitrokey dependency to version 0.8.0 and applies all breaking changes (Config fields renaming, DeviceWrapper and Model non-exhaustiveness, changed Display implementation for Model). --- src/args.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/args.rs') diff --git a/src/args.rs b/src/args.rs index 8af38ca..e4bc77d 100644 --- a/src/args.rs +++ b/src/args.rs @@ -3,6 +3,8 @@ // Copyright (C) 2020 The Nitrocli Developers // SPDX-License-Identifier: GPL-3.0-or-later +use std::convert; + /// Provides access to a Nitrokey device #[derive(Debug, structopt::StructOpt)] #[structopt(name = "nitrocli")] @@ -59,6 +61,18 @@ impl From for nitrokey::Model { } } +impl convert::TryFrom for DeviceModel { + type Error = anyhow::Error; + + fn try_from(model: nitrokey::Model) -> Result { + match model { + nitrokey::Model::Pro => Ok(DeviceModel::Pro), + nitrokey::Model::Storage => Ok(DeviceModel::Storage), + _ => Err(anyhow::anyhow!("Unsupported device model: {}", model)), + } + } +} + impl<'de> serde::Deserialize<'de> for DeviceModel { fn deserialize(deserializer: D) -> Result where -- cgit v1.2.1