aboutsummaryrefslogtreecommitdiff
path: root/nitrokey/src/device/pro.rs
diff options
context:
space:
mode:
Diffstat (limited to 'nitrokey/src/device/pro.rs')
-rw-r--r--nitrokey/src/device/pro.rs95
1 files changed, 0 insertions, 95 deletions
diff --git a/nitrokey/src/device/pro.rs b/nitrokey/src/device/pro.rs
deleted file mode 100644
index 591b730..0000000
--- a/nitrokey/src/device/pro.rs
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright (C) 2018-2019 Robin Krahl <robin.krahl@ireas.org>
-// SPDX-License-Identifier: MIT
-
-use nitrokey_sys;
-
-use crate::device::{Device, Model, Status};
-use crate::error::Error;
-use crate::otp::GenerateOtp;
-use crate::util::get_command_result;
-
-/// A Nitrokey Pro device without user or admin authentication.
-///
-/// Use the [`connect`][] method to obtain an instance wrapper or the [`connect_pro`] method to
-/// directly obtain an instance. If you want to execute a command that requires user or admin
-/// authentication, use [`authenticate_admin`][] or [`authenticate_user`][].
-///
-/// # Examples
-///
-/// Authentication with error handling:
-///
-/// ```no_run
-/// use nitrokey::{Authenticate, User, Pro};
-/// # use nitrokey::Error;
-///
-/// fn perform_user_task<'a>(device: &User<'a, Pro<'a>>) {}
-/// fn perform_other_task(device: &Pro) {}
-///
-/// # fn try_main() -> Result<(), Error> {
-/// let mut manager = nitrokey::take()?;
-/// let device = manager.connect_pro()?;
-/// 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(())
-/// # }
-/// ```
-///
-/// [`authenticate_admin`]: trait.Authenticate.html#method.authenticate_admin
-/// [`authenticate_user`]: trait.Authenticate.html#method.authenticate_user
-/// [`connect`]: struct.Manager.html#method.connect
-/// [`connect_pro`]: struct.Manager.html#method.connect_pro
-#[derive(Debug)]
-pub struct Pro<'a> {
- manager: Option<&'a mut crate::Manager>,
-}
-
-impl<'a> Pro<'a> {
- pub(crate) fn new(manager: &'a mut crate::Manager) -> Pro<'a> {
- Pro {
- manager: Some(manager),
- }
- }
-}
-
-impl<'a> Drop for Pro<'a> {
- fn drop(&mut self) {
- unsafe {
- nitrokey_sys::NK_logout();
- }
- }
-}
-
-impl<'a> Device<'a> for Pro<'a> {
- fn into_manager(mut self) -> &'a mut crate::Manager {
- self.manager.take().unwrap()
- }
-
- fn get_model(&self) -> Model {
- Model::Pro
- }
-
- fn get_status(&self) -> Result<Status, Error> {
- let mut raw_status = nitrokey_sys::NK_status {
- firmware_version_major: 0,
- firmware_version_minor: 0,
- serial_number_smart_card: 0,
- config_numlock: 0,
- config_capslock: 0,
- config_scrolllock: 0,
- otp_user_password: false,
- };
- get_command_result(unsafe { nitrokey_sys::NK_get_status(&mut raw_status) })?;
- Ok(raw_status.into())
- }
-}
-
-impl<'a> GenerateOtp for Pro<'a> {}