aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md1
-rw-r--r--src/device.rs20
2 files changed, 20 insertions, 1 deletions
diff --git a/TODO.md b/TODO.md
index 38044ae..2d865a4 100644
--- a/TODO.md
+++ b/TODO.md
@@ -35,7 +35,6 @@
- Clear passwords from memory.
- Find a nicer syntax for the `write_config` test.
- Prevent construction of internal types.
-- Add Storage-only examples to the `DeviceWrapper` documentation.
- More specific error checking in the tests.
- Differentiate empty strings and errors (see `result_from_string`).
- Check integer conversions.
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)]