Class representing interface to KRB5 functions.
More...
#include <krb5_interface.h>
Class representing interface to KRB5 functions.
The functions are located in a library or libraries that are loaded in runtime. The class provides easy and safe access to them.
◆ Krb5_interface()
auth_ldap_sasl_client::Krb5_interface::Krb5_interface |
( |
| ) |
|
Constructor.
The constructor is trivial and the libraries are not loaded by it. This is done in initialize() to give chance the caller to check if succeeded.
◆ ~Krb5_interface()
auth_ldap_sasl_client::Krb5_interface::~Krb5_interface |
( |
| ) |
|
Destructor.
Closes the libraries.
◆ close_libs()
void auth_ldap_sasl_client::Krb5_interface::close_libs |
( |
| ) |
|
|
private |
◆ get_function()
template<class T >
bool auth_ldap_sasl_client::Krb5_interface::get_function |
( |
void * |
lib_handle, |
|
|
const char * |
name, |
|
|
T & |
function |
|
) |
| |
|
inlineprivate |
Get pointer to the interface function by its name.
- Template Parameters
-
- Parameters
-
lib_handle | [in] handle to the library providing the function |
name | [in] name of the function |
function | [out] pointer to the function |
- Return values
-
◆ initialize()
bool auth_ldap_sasl_client::Krb5_interface::initialize |
( |
| ) |
|
Initialize the object by loading the libraries and setting pointers to the interface functions.
It must be called before any interface functions are called.
- Return values
-
◆ load_lib()
bool auth_ldap_sasl_client::Krb5_interface::load_lib |
( |
const char * |
name, |
|
|
void *& |
handle |
|
) |
| |
|
private |
Loads single library.
- Parameters
-
name | [in] path or name of the library |
handle | [out] handle to the library |
- Return values
-
◆ krb5_lib_handle
void* auth_ldap_sasl_client::Krb5_interface::krb5_lib_handle |
|
private |
Handle to the library providing krb5_* functions.
◆ profile_lib_handle
void* auth_ldap_sasl_client::Krb5_interface::profile_lib_handle |
|
private |
Handle to the library providing profile_* functions.
The documentation for this class was generated from the following files: