diff options
author | Robin Krahl <me@robin-krahl.de> | 2019-01-13 12:04:22 +0100 |
---|---|---|
committer | Robin Krahl <me@robin-krahl.de> | 2019-01-13 13:26:12 +0100 |
commit | 1751759356bd64cc78f8f71543c3edd5cdce8376 (patch) | |
tree | 850e2af876151c5ae2df96c31ea15a333002cd6b /NitrokeyManager.cc | |
parent | 6c52c50d59eafa5acc7ae650695f199b7a014841 (diff) | |
download | libnitrokey-1751759356bd64cc78f8f71543c3edd5cdce8376.tar.gz libnitrokey-1751759356bd64cc78f8f71543c3edd5cdce8376.tar.bz2 |
Make Device::enumerate static
Device::enumerate does not need any instance data, therefore it is made
static. Note that this not only changes the public API by making the
method static. We also return all connected Nitrokey devices instead of
only Storage devices.
The NitrokeyManager method list_devices_by_cpuID is changed to check the
device type so that they still only return Storage devices. The
list_device method now returns both Storage and Pro devices.
Diffstat (limited to 'NitrokeyManager.cc')
-rw-r--r-- | NitrokeyManager.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index 8ca4698..3b57ba6 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -108,8 +108,7 @@ using nitrokey::misc::strcpyT; std::vector<DeviceInfo> NitrokeyManager::list_devices(){ std::lock_guard<std::mutex> lock(mex_dev_com_manager); - auto p = make_shared<Stick20>(); - return p->enumerate(); + return Device::enumerate(); } std::vector<std::string> NitrokeyManager::list_devices_by_cpuID(){ @@ -127,12 +126,13 @@ using nitrokey::misc::strcpyT; LOGD1("Enumerating devices"); std::vector<std::string> res; - auto d = make_shared<Stick20>(); - const auto v = d->enumerate(); + const auto v = Device::enumerate(); LOGD1("Discovering IDs"); for (auto & i: v){ + if (i.m_deviceModel != DeviceModel::STORAGE) + continue; auto p = i.m_path; - d = make_shared<Stick20>(); + auto d = make_shared<Stick20>(); LOGD1( std::string("Found: ") + p ); d->set_path(p); try{ |