diff options
author | Robin Krahl <me@robin-krahl.de> | 2018-05-25 00:15:40 +0200 |
---|---|---|
committer | Robin Krahl <me@robin-krahl.de> | 2018-05-25 00:15:40 +0200 |
commit | 6e44c2b11bd1be9e080f1179283c49f9bb8955a5 (patch) | |
tree | 2394d3c79376a34e2b6b65120b3c8c1ec3a6a92a /unittest/test_C_API.cpp | |
parent | 391a276ba35216337b777c65fda62561a6e9383f (diff) | |
download | libnitrokey-6e44c2b11bd1be9e080f1179283c49f9bb8955a5.tar.gz libnitrokey-6e44c2b11bd1be9e080f1179283c49f9bb8955a5.tar.bz2 |
Expose device model in C API
The C++ API already provides access to the model of the connected device
in NitrokeyManager::get_connected_device_model(). This patch also
exposes this information in the C API by adding NK_get_device_model. As
there might be no device connected, the function returns a boolean
indicating the connection status and writes the model of the connected
device to a pointer passed as an argument.
Diffstat (limited to 'unittest/test_C_API.cpp')
-rw-r--r-- | unittest/test_C_API.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/unittest/test_C_API.cpp b/unittest/test_C_API.cpp index acfadd2..f38d0b6 100644 --- a/unittest/test_C_API.cpp +++ b/unittest/test_C_API.cpp @@ -84,4 +84,21 @@ TEST_CASE("multiple devices with ID", "[BASIC]") { } free (string); -}
\ No newline at end of file +} + +TEST_CASE("Get device model", "[BASIC]") { + auto success = NK_get_device_model(nullptr); + REQUIRE(!success); + + NK_logout(); + NK_device_model model = static_cast<NK_device_model>(3); + success = NK_get_device_model(&model); + REQUIRE(!success); + + auto result = NK_login_auto(); + REQUIRE(result != 0); + success = NK_get_device_model(&model); + REQUIRE(success); + REQUIRE((model == NK_PRO || model == NK_STORAGE)); + NK_logout(); +} |