summaryrefslogtreecommitdiff
path: root/src/device.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-01-27 18:07:59 +0000
committerRobin Krahl <robin.krahl@ireas.org>2019-07-08 21:31:40 +0000
commitbd7c7a5fdf0ae66a1ff2f00beb5ed4c2e6994ca1 (patch)
tree7e9a249db27c80a0e40fe16bcda2c1ca0cd386f3 /src/device.rs
parent54d23475aa3b712a539bad129fe37223173268f2 (diff)
downloadnitrokey-rs-bd7c7a5fdf0ae66a1ff2f00beb5ed4c2e6994ca1.tar.gz
nitrokey-rs-bd7c7a5fdf0ae66a1ff2f00beb5ed4c2e6994ca1.tar.bz2
Move the connect_model function into Manager
As part of the connection refactoring, this patch moves the connect_model function to the Manager struct. As the connect_model function is not used by nitrokey-test, it is removed.
Diffstat (limited to 'src/device.rs')
-rw-r--r--src/device.rs33
1 files changed, 2 insertions, 31 deletions
diff --git a/src/device.rs b/src/device.rs
index 653c5d1..f28558d 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -652,35 +652,6 @@ pub fn connect() -> Result<DeviceWrapper, Error> {
crate::take()?.connect().map_err(Into::into)
}
-/// Connects to a Nitrokey device of the given model.
-///
-/// # Errors
-///
-/// - [`NotConnected`][] if no Nitrokey device of the given model is connected
-///
-/// # Example
-///
-/// ```
-/// use nitrokey::DeviceWrapper;
-/// use nitrokey::Model;
-///
-/// fn do_something(device: DeviceWrapper) {}
-///
-/// match nitrokey::connect_model(Model::Pro) {
-/// Ok(device) => do_something(device),
-/// Err(err) => eprintln!("Could not connect to a Nitrokey Pro: {}", err),
-/// }
-/// ```
-///
-/// [`NotConnected`]: enum.CommunicationError.html#variant.NotConnected
-pub fn connect_model(model: Model) -> Result<DeviceWrapper, Error> {
- if connect_enum(model) {
- Ok(create_device_wrapper(model))
- } else {
- Err(CommunicationError::NotConnected.into())
- }
-}
-
fn get_connected_model() -> Option<Model> {
match unsafe { nitrokey_sys::NK_get_device_model() } {
nitrokey_sys::NK_device_model_NK_PRO => Some(Model::Pro),
@@ -689,7 +660,7 @@ fn get_connected_model() -> Option<Model> {
}
}
-fn create_device_wrapper(model: Model) -> DeviceWrapper {
+pub(crate) fn create_device_wrapper(model: Model) -> DeviceWrapper {
match model {
Model::Pro => Pro::new().into(),
Model::Storage => Storage::new().into(),
@@ -700,7 +671,7 @@ pub(crate) fn get_connected_device() -> Option<DeviceWrapper> {
get_connected_model().map(create_device_wrapper)
}
-fn connect_enum(model: Model) -> bool {
+pub(crate) fn connect_enum(model: Model) -> bool {
let model = match model {
Model::Storage => nitrokey_sys::NK_device_model_NK_STORAGE,
Model::Pro => nitrokey_sys::NK_device_model_NK_PRO,