From 66763febd7990f35d34345175257b2ad9401e829 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sun, 13 Jan 2019 12:04:42 +0100 Subject: Implement operator<< for DeviceModel --- device.cc | 15 +++++++++++++++ libnitrokey/device.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/device.cc b/device.cc index aabcbfc..35aefca 100644 --- a/device.cc +++ b/device.cc @@ -57,6 +57,21 @@ Option nitrokey::device::product_id_to_model(uint16_t product_id) { std::atomic_int Device::instances_count{0}; std::chrono::milliseconds Device::default_delay {0} ; +std::ostream& nitrokey::device::operator<<(std::ostream& stream, DeviceModel model) { + switch (model) { + case DeviceModel::PRO: + stream << "Pro"; + break; + case DeviceModel::STORAGE: + stream << "Storage"; + break; + default: + stream << "Unknown"; + break; + } + return stream; +} + Device::Device(const uint16_t vid, const uint16_t pid, const DeviceModel model, const milliseconds send_receive_delay, const int retry_receiving_count, const milliseconds retry_timeout) diff --git a/libnitrokey/device.h b/libnitrokey/device.h index eab3888..4b1c239 100644 --- a/libnitrokey/device.h +++ b/libnitrokey/device.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "misc.h" @@ -52,6 +53,8 @@ enum class DeviceModel{ STORAGE }; +std::ostream& operator<<(std::ostream& stream, DeviceModel model); + /** * The USB vendor ID for Nitrokey devices. */ -- cgit v1.2.3