diff options
| -rw-r--r-- | NitrokeyManager.cc | 15 | ||||
| -rw-r--r-- | libnitrokey/NitrokeyManager.h | 1 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index db0c0a9..48196a9 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -273,6 +273,21 @@ using nitrokey::misc::strcpyT;          return device->connect();      } +    bool NitrokeyManager::connect(device::DeviceModel device_model) { +        const char *model_string; +        switch (device_model) { +            case device::DeviceModel::PRO: +                model_string = "P"; +                break; +            case device::DeviceModel::STORAGE: +                model_string = "S"; +                break; +            default: +                throw std::runtime_error("Unknown model"); +        } +        return connect(model_string); +    } +      shared_ptr<NitrokeyManager> NitrokeyManager::instance() {        static std::mutex mutex;        std::lock_guard<std::mutex> lock(mutex); diff --git a/libnitrokey/NitrokeyManager.h b/libnitrokey/NitrokeyManager.h index ca58d24..1f4cec4 100644 --- a/libnitrokey/NitrokeyManager.h +++ b/libnitrokey/NitrokeyManager.h @@ -80,6 +80,7 @@ char * strndup(const char* str, size_t maxlen);          bool connect_with_ID(const std::string id);          bool connect_with_path (std::string path);          bool connect(const char *device_model); +        bool connect(device::DeviceModel device_model);          bool connect();          bool disconnect();          bool is_connected() throw() ; | 
