aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md2
-rw-r--r--src/otp.rs2
-rw-r--r--src/util.rs4
3 files changed, 5 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a30e531..11092ec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@
- Remove the `test-no-device` feature.
- Update the rand dependency to version 0.6.
- Add function `Device::get_model` that returns the connected model.
+- Derive the `Copy` and `Clone` traits for the enums `CommandError`, `LogLevel`
+ and `OtpMode`
# v0.2.1 (2018-12-10)
diff --git a/src/otp.rs b/src/otp.rs
index 801f52c..6f6bd80 100644
--- a/src/otp.rs
+++ b/src/otp.rs
@@ -5,7 +5,7 @@ use nitrokey_sys;
use crate::util::{get_command_result, get_cstring, result_from_string, CommandError};
/// Modes for one-time password generation.
-#[derive(Debug, PartialEq)]
+#[derive(Clone, Copy, Debug, PartialEq)]
pub enum OtpMode {
/// Generate one-time passwords with six digits.
SixDigits,
diff --git a/src/util.rs b/src/util.rs
index d98e675..a2e957e 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -6,7 +6,7 @@ use libc::{c_void, free};
use rand::Rng;
/// Error types returned by Nitrokey device or by the library.
-#[derive(Debug, PartialEq)]
+#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CommandError {
/// A packet with a wrong checksum has been sent or received.
WrongCrc,
@@ -43,7 +43,7 @@ pub enum CommandError {
///
/// Setting the log level to a lower level enables all output from higher levels too. Currently,
/// only the log levels `Warning`, `DebugL1`, `Debug` and `DebugL2` are actually used.
-#[derive(Debug, PartialEq)]
+#[derive(Clone, Copy, Debug, PartialEq)]
pub enum LogLevel {
/// Error messages. Currently not used.
Error,