9#include <botan/p11_types.h>
11#include <botan/internal/dyn_load.h>
16 if(file_path.empty()) {
17 throw Invalid_Argument(
"PKCS11 no module path specified");
26 m_low_level->C_Finalize(
nullptr,
nullptr);
34 m_low_level->C_Finalize(
nullptr);
37 m_library = std::make_unique<Dynamically_Loaded_Library>(m_file_path);
39 m_low_level = std::make_unique<LowLevel>(m_func_list);
41 m_low_level->C_Initialize(&init_args);
static bool C_GetFunctionList(Dynamically_Loaded_Library &pkcs11_module, FunctionListPtr *function_list_ptr_ptr, ReturnValue *return_value=ThrowException)
~Module() noexcept
Calls C_Finalize()
void reload(C_InitializeArgs init_args={ nullptr, nullptr, nullptr, nullptr, static_cast< CK_FLAGS >(Flag::OsLockingOk), nullptr})
Module(std::string_view file_path, C_InitializeArgs init_args={ nullptr, nullptr, nullptr, nullptr, static_cast< CK_FLAGS >(Flag::OsLockingOk), nullptr})