7#ifndef LIBRARY_MANAGER_H
8#define LIBRARY_MANAGER_H
12#include <boost/shared_ptr.hpp>
89 const boost::shared_ptr<CalloutManager>& manager);
112 bool multi_threading_enabled =
false);
130 bool loadLibrary(
bool multi_threading_enabled =
false);
147 return (library_name_);
242 boost::shared_ptr<CalloutManager> manager_;
244 std::string library_name_;
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
LibraryManager(const std::string &name, int index, const boost::shared_ptr< CalloutManager > &manager)
Constructor.
bool unloadLibrary()
Unloads a library.
static bool validateLibrary(const std::string &name, bool multi_threading_enabled=false)
Validate library.
bool openLibrary()
Open library.
bool closeLibrary()
Close library.
~LibraryManager()
Destructor.
bool checkMultiThreadingCompatible(bool multi_threading_enabled) const
Check multi-threading compatibility.
std::string getName() const
Return library name.
bool checkVersion() const
Check library version.
void registerStandardCallouts()
Register standard callouts.
bool runLoad()
Run the load function if present.
bool prepareUnloadLibrary()
Prepares library unloading.
bool loadLibrary(bool multi_threading_enabled=false)
Loads a library.
NoCalloutManager(const char *file, size_t line, const char *what)
boost::shared_ptr< ServerHooks > ServerHooksPtr
Defines the logger used by the top-level component of kea-lfc.