diff options
| -rw-r--r-- | NK_C_API.cc | 6 | ||||
| -rw-r--r-- | NK_C_API.h | 8 | ||||
| -rw-r--r-- | include/log.h | 1 | ||||
| -rw-r--r-- | log.cc | 2 | ||||
| -rw-r--r-- | unittest/conftest.py | 8 | 
5 files changed, 22 insertions, 3 deletions
| diff --git a/NK_C_API.cc b/NK_C_API.cc index 822c95d..e730bae 100644 --- a/NK_C_API.cc +++ b/NK_C_API.cc @@ -296,6 +296,12 @@ extern "C" {  		m->set_debug(state);  	} + +	NK_C_API void NK_set_debug_level(const int level) { +		auto m = NitrokeyManager::instance(); +		m->set_loglevel(level); +	} +  	NK_C_API int NK_totp_set_time(uint64_t time) {  		auto m = NitrokeyManager::instance();  		return get_without_result([&]() { @@ -14,11 +14,17 @@ extern "C" {  #endif  	/**  	 * Set debug level of messages written on stderr -	 * @param state state=True - all messages, state=False - only errors level +	 * @param state state=True - most messages, state=False - only errors level  	 */  	NK_C_API void NK_set_debug(bool state);  	/** +	 * Set debug level of messages written on stderr +	 * @param level (int) 0-lowest verbosity, 5-highest verbosity +	 */ +  NK_C_API void NK_set_debug_level(const int level); + +	/**  	 * Connect to device of given model. Currently library can be connected only to one device at once.  	 * @param device_model char 'S': Nitrokey Storage, 'P': Nitrokey Pro  	 * @return 1 if connected, 0 if wrong model or cannot connect diff --git a/include/log.h b/include/log.h index 80e5097..a97ff25 100644 --- a/include/log.h +++ b/include/log.h @@ -19,6 +19,7 @@ namespace nitrokey {        ERROR,        WARNING,        INFO, +      DEBUG_L1,        DEBUG,        DEBUG_L2      }; @@ -14,6 +14,8 @@ namespace nitrokey {      std::string LogHandler::loglevel_to_str(Loglevel lvl) {        switch (lvl) { +        case Loglevel::DEBUG_L1: +          return std::string("DEBUG_L1");          case Loglevel::DEBUG_L2:            return std::string("DEBUG_L2");          case Loglevel::DEBUG: diff --git a/unittest/conftest.py b/unittest/conftest.py index 8c9899c..ef4539c 100644 --- a/unittest/conftest.py +++ b/unittest/conftest.py @@ -20,14 +20,17 @@ def C(request):      with open(fp, 'r') as f:          declarations = f.readlines() +    cnt = 0      a = iter(declarations)      for declaration in a:          if declaration.strip().startswith('NK_C_API'):              declaration = declaration.replace('NK_C_API', '').strip()              while ';' not in declaration:                  declaration += (next(a)).strip() -            print(declaration) +            # print(declaration)              ffi.cdef(declaration, override=True) +            cnt +=1 +    print('Imported {} declarations'.format(cnt))      C = None      import os, sys @@ -73,6 +76,7 @@ def C(request):          print('Finished')      request.addfinalizer(fin) -    C.NK_set_debug(True) +    # C.NK_set_debug(True) +    C.NK_set_debug_level(3)      return C | 
