From 1e9556903dffaf77006ba10bba806114428cd53f Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Tue, 10 Jul 2018 13:08:56 +0200 Subject: 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. --- src/device.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') 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)] -- cgit v1.2.3