diff options
| -rw-r--r-- | device.cc | 12 | ||||
| -rw-r--r-- | libnitrokey/device.h | 7 | 
2 files changed, 19 insertions, 0 deletions
@@ -36,12 +36,24 @@ std::mutex mex_dev_com;  using namespace nitrokey::device;  using namespace nitrokey::log; +using namespace nitrokey::misc;  using namespace std::chrono;  const uint16_t nitrokey::device::NITROKEY_VID = 0x20a0;  const uint16_t nitrokey::device::NITROKEY_PRO_PID = 0x4108;  const uint16_t nitrokey::device::NITROKEY_STORAGE_PID = 0x4109; +Option<DeviceModel> nitrokey::device::product_id_to_model(uint16_t product_id) { +  switch (product_id) { +    case NITROKEY_PRO_PID: +      return DeviceModel::PRO; +    case NITROKEY_STORAGE_PID: +      return DeviceModel::STORAGE; +    default: +      return {}; +  } +} +  std::atomic_int Device::instances_count{0};  std::chrono::milliseconds Device::default_delay {0} ; diff --git a/libnitrokey/device.h b/libnitrokey/device.h index 477640f..8fbb385 100644 --- a/libnitrokey/device.h +++ b/libnitrokey/device.h @@ -26,6 +26,7 @@  #include <cstdint>  #include <string>  #include <vector> +#include "misc.h"  #define HID_REPORT_SIZE 65 @@ -64,6 +65,12 @@ extern const uint16_t NITROKEY_PRO_PID;  extern const uint16_t NITROKEY_STORAGE_PID;  /** + * Convert the given USB product ID to a Nitrokey model.  If there is no model + * with that ID, return an absent value. + */ +misc::Option<DeviceModel> product_id_to_model(uint16_t product_id); + +/**   * Information about a connected device.   *   * This struct contains the information about a connected device returned by  | 
