aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2018-07-10 13:08:56 +0200
committerRobin Krahl <robin.krahl@ireas.org>2018-12-10 14:36:50 +0100
commit1e9556903dffaf77006ba10bba806114428cd53f (patch)
tree4ca96da83dceeb54ec09b4f94fb61a249309f4c1 /src
parent99e417b8b5ca921f45f59f85b887f9bf6f03a267 (diff)
downloadnitrokey-rs-1e9556903dffaf77006ba10bba806114428cd53f.tar.gz
nitrokey-rs-1e9556903dffaf77006ba10bba806114428cd53f.tar.bz2
Add a Storage-only example to the DeviceWrapper documentation
As connect() now returns DeviceWrappers of the correct type, this patch adds an example to the DeviceWrapper documentation that shows how to use type conditions, i. e. how to execute a command only for Nitrokey Storage devices.
Diffstat (limited to 'src')
-rw-r--r--src/device.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/device.rs b/src/device.rs
index 4f96860..843b41d 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -50,6 +50,26 @@ enum Model {
/// # }
/// ```
///
+/// Device-specific commands:
+///
+/// ```no_run
+/// use nitrokey::{DeviceWrapper, Storage};
+/// # use nitrokey::CommandError;
+///
+/// fn perform_common_task(device: &DeviceWrapper) {}
+/// fn perform_storage_task(device: &Storage) {}
+///
+/// # fn try_main() -> Result<(), CommandError> {
+/// let device = nitrokey::connect()?;
+/// perform_common_task(&device);
+/// match device {
+/// DeviceWrapper::Storage(storage) => perform_storage_task(&storage),
+/// _ => (),
+/// };
+/// # Ok(())
+/// # }
+/// ```
+///
/// [`connect`]: fn.connect.html
// TODO: add example for Storage-specific code
#[derive(Debug)]