aboutsummaryrefslogtreecommitdiff
path: root/src/device.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-07-06 00:30:38 +0200
committerRobin Krahl <robin.krahl@ireas.org>2019-07-06 00:30:38 +0200
commitd426f1a56fedbb8b9fdc6c797f837a770e923029 (patch)
tree84b6b6a6cbdda473c79c39544a7e1a3ea47da2ba /src/device.rs
parent606177a61de39ba5e96390d63cff536f895d8c39 (diff)
parentd95355e3d76c0c0022629e635f36a2dc325c0af2 (diff)
downloadnitrokey-rs-d426f1a56fedbb8b9fdc6c797f837a770e923029.tar.gz
nitrokey-rs-d426f1a56fedbb8b9fdc6c797f837a770e923029.tar.bz2
Merge branch 'revert' into next
The tests with the 0.4.0-alpha.1 version showed that the approach using mutable references to the Device in User, Admin and PasswordSafe causes problems in nitrocli, see [0]. Therefore, these changes are reverted. [0] https://lists.sr.ht/~ireas/nitrokey-rs-dev/%3C43cc304d-23e8-7f95-2167-ce3f0530b81e%40posteo.net%3E * revert: Revert "Store mutable reference to Device in PasswordSafe" Revert "Refactor User and Admin to use a mutable reference"
Diffstat (limited to 'src/device.rs')
-rw-r--r--src/device.rs42
1 files changed, 30 insertions, 12 deletions
diff --git a/src/device.rs b/src/device.rs
index a0df30e..f6492cd 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -71,10 +71,16 @@ impl fmt::Display for VolumeMode {
/// fn perform_other_task(device: &DeviceWrapper) {}
///
/// # fn try_main() -> Result<(), Error> {
-/// let mut device = nitrokey::connect()?;
-/// match device.authenticate_user("123456") {
-/// Ok(user) => perform_user_task(&user),
-/// Err(err) => eprintln!("Could not authenticate as user: {}", err),
+/// let device = nitrokey::connect()?;
+/// let device = match device.authenticate_user("123456") {
+/// Ok(user) => {
+/// perform_user_task(&user);
+/// user.device()
+/// },
+/// Err((device, err)) => {
+/// eprintln!("Could not authenticate as user: {}", err);
+/// device
+/// },
/// };
/// perform_other_task(&device);
/// # Ok(())
@@ -129,10 +135,16 @@ pub enum DeviceWrapper {
/// fn perform_other_task(device: &Pro) {}
///
/// # fn try_main() -> Result<(), Error> {
-/// let mut device = nitrokey::Pro::connect()?;
-/// match device.authenticate_user("123456") {
-/// Ok(user) => perform_user_task(&user),
-/// Err(err) => eprintln!("Could not authenticate as user: {}", err),
+/// let device = nitrokey::Pro::connect()?;
+/// let device = match device.authenticate_user("123456") {
+/// Ok(user) => {
+/// perform_user_task(&user);
+/// user.device()
+/// },
+/// Err((device, err)) => {
+/// eprintln!("Could not authenticate as user: {}", err);
+/// device
+/// },
/// };
/// perform_other_task(&device);
/// # Ok(())
@@ -169,10 +181,16 @@ pub struct Pro {
/// fn perform_other_task(device: &Storage) {}
///
/// # fn try_main() -> Result<(), Error> {
-/// let mut device = nitrokey::Storage::connect()?;
-/// match device.authenticate_user("123456") {
-/// Ok(user) => perform_user_task(&user),
-/// Err(err) => eprintln!("Could not authenticate as user: {}", err),
+/// let device = nitrokey::Storage::connect()?;
+/// let device = match device.authenticate_user("123456") {
+/// Ok(user) => {
+/// perform_user_task(&user);
+/// user.device()
+/// },
+/// Err((device, err)) => {
+/// eprintln!("Could not authenticate as user: {}", err);
+/// device
+/// },
/// };
/// perform_other_task(&device);
/// # Ok(())