diff options
| -rw-r--r-- | TODO.md | 1 | ||||
| -rw-r--r-- | src/device.rs | 22 | ||||
| -rw-r--r-- | src/otp.rs | 14 | 
3 files changed, 32 insertions, 5 deletions
| @@ -36,7 +36,6 @@    - `NK_list_devices_by_cpuID`    - `NK_connect_with_ID`  - Fix timing issues with the `totp` and `totp_pin` test cases. -- Find an example for `set_time`, also adapt `get_totp_code`.  - Improve log level documentation.  - Clear passwords from memory.  - Find a nicer syntax for the `write_config` test. diff --git a/src/device.rs b/src/device.rs index 6c1a957..ce45a50 100644 --- a/src/device.rs +++ b/src/device.rs @@ -99,13 +99,33 @@ pub trait Device {      ///      /// The time is used for TOTP generation (see [`get_totp_code`][]).      /// +    /// # Example +    /// +    /// ```ignore +    /// extern crate chrono; +    /// +    /// use chrono::Utc; +    /// use nitrokey::Device; +    /// # use nitrokey::CommandError; +    /// +    /// # fn try_main() -> Result<(), CommandError> { +    /// let device = nitrokey::connect()?; +    /// let time = Utc::now().timestamp(); +    /// if time < 0 { +    ///     println!("Timestamps before 1970-01-01 are not supported!"); +    /// } else { +    ///     device.set_time(time as u64); +    /// } +    /// #     Ok(()) +    /// # } +    /// ``` +    ///      /// # Errors      ///      /// - [`Timestamp`][] if the time could not be set      ///      /// [`get_totp_code`]: trait.ProvideOtp.html#method.get_totp_code      /// [`Timestamp`]: enum.CommandError.html#variant.Timestamp -    // TODO: example      fn set_time(&self, time: u64) -> CommandStatus {          unsafe { CommandStatus::from(nitrokey_sys::NK_totp_set_time(time)) }      } @@ -256,14 +256,22 @@ pub trait GenerateOtp {      ///      /// # Example      /// -    /// ```no_run +    /// ```ignore +    /// extern crate chrono; +    ///      /// use nitrokey::GenerateOtp;      /// # use nitrokey::CommandError;      ///      /// # fn try_main() -> Result<(), CommandError> {      /// let device = nitrokey::connect()?; -    /// let code = device.get_totp_code(1)?; -    /// println!("Generated TOTP code on slot 1: {:?}", code); +    /// let time = Utc::now().timestamp(); +    /// if time < 0 { +    ///     println!("Timestamps before 1970-01-01 are not supported!"); +    /// } else { +    ///     device.set_time(time as u64); +    ///     let code = device.get_totp_code(1)?; +    ///     println!("Generated TOTP code on slot 1: {:?}", code); +    /// }      /// #     Ok(())      /// # }      /// ``` | 
