diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib.rs | 30 | ||||
-rw-r--r-- | src/tests/pro.rs | 2 |
2 files changed, 7 insertions, 25 deletions
@@ -329,30 +329,6 @@ static TEMPORARY_PASSWORD_LENGTH: usize = 25; /// [`get_hotp_code`]: #method.get_hotp_code /// [`get_totp_code`]: #method.get_totp_code pub trait Device { - /// Closes the connection to this device. This method consumes the device. - /// - /// # Example - /// - /// ```no_run - /// use nitrokey::Device; - /// # use nitrokey::CommandError; - /// - /// # fn try_main() -> Result<(), CommandError> { - /// let device = nitrokey::connect()?; - /// // perform tasks ... - /// device.disconnect(); - /// # Ok(()) - /// # } - /// ``` - fn disconnect(self) - where - Self: std::marker::Sized, - { - unsafe { - nitrokey_sys::NK_logout(); - } - } - /// Sets the time on the Nitrokey. This command may set the time to /// arbitrary values. `time` is the number of seconds since January 1st, /// 1970 (Unix timestamp). @@ -1110,6 +1086,12 @@ impl UnauthenticatedDevice { } } +impl Drop for UnauthenticatedDevice { + fn drop(&mut self) { + unsafe { nitrokey_sys::NK_logout(); } + } +} + impl Device for UnauthenticatedDevice {} impl UserAuthenticatedDevice { diff --git a/src/tests/pro.rs b/src/tests/pro.rs index 732c248..feadcbc 100644 --- a/src/tests/pro.rs +++ b/src/tests/pro.rs @@ -48,7 +48,7 @@ fn connect() { #[cfg_attr(not(feature = "test-pro"), ignore)] fn disconnect() { set_debug(false); - ::connect().unwrap().disconnect(); + ::connect().unwrap(); unsafe { let ptr = ::nitrokey_sys::NK_device_serial_number(); assert!(!ptr.is_null()); |