8 #include <botan/dyn_engine.h>
9 #include <botan/internal/dyn_load.h>
16 typedef Engine* (*creator_func)(void);
17 typedef u32bit (*module_version_func)(void);
23 const std::string& library_path) :
30 module_version_func get_version =
31 lib->
resolve<module_version_func>(
"module_version");
33 const u32bit mod_version = get_version();
35 if(mod_version != 20101003)
36 throw std::runtime_error(
"Incompatible version in " +
37 library_path +
" of " +
40 creator_func creator =
41 lib->
resolve<creator_func>(
"create_engine");
46 throw std::runtime_error(
"Creator function in " +
47 library_path +
" failed");
T resolve(const std::string &symbol)
Dynamically_Loaded_Engine(const std::string &lib_path)
~Dynamically_Loaded_Engine()
std::string to_string(u64bit n, size_t min_len)