diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/otp.rs | 28 | 
1 files changed, 24 insertions, 4 deletions
| @@ -295,7 +295,7 @@ pub struct OtpSlotData {      /// If true, press the enter key after sending an OTP code using double-pressed      /// numlock, capslock or scrolllock.      pub use_enter: bool, -    /// Set the token ID [OATH Token Identifier Specification][tokspec], section +    /// Set the token ID, see [OATH Token Identifier Specification][tokspec], section      /// “Class A”.      ///      /// [tokspec]: https://openauthentication.org/token-specs/ @@ -315,16 +315,36 @@ pub struct RawOtpSlotData {  impl OtpSlotData {      /// Constructs a new instance of this struct. -    pub fn new(number: u8, name: &str, secret: &str, mode: OtpMode) -> OtpSlotData { +    pub fn new<S: Into<String>, T: Into<String>>( +        number: u8, +        name: S, +        secret: T, +        mode: OtpMode, +    ) -> OtpSlotData {          OtpSlotData {              number, -            name: String::from(name), -            secret: String::from(secret), +            name: name.into(), +            secret: secret.into(),              mode,              use_enter: false,              token_id: None,          }      } + +    /// Enables pressing the enter key after sending an OTP code using double-pressed numlock, +    /// capslock or scrollock. +    pub fn use_enter(mut self) -> OtpSlotData { +        self.use_enter = true; +        self +    } + +    /// Sets the token ID, see [OATH Token Identifier Specification][tokspec], section “Class A”. +    /// +    /// [tokspec]: https://openauthentication.org/token-specs/ +    pub fn token_id<S: Into<String>>(mut self, id: S) -> OtpSlotData { +        self.token_id = Some(id.into()); +        self +    }  }  impl RawOtpSlotData { | 
