28 boost::shared_ptr<CalloutManager>
32 if (! callout_manager_) {
34 "attempting to retrieve a CalloutManager for them");
37 return (callout_manager_);
41 :library_info_(libraries) {
44 for (HookLibsCollection::const_iterator it = libraries.begin();
45 it != libraries.end(); ++it) {
46 library_names_.push_back(it->first);
80 if (library_names_.empty()) {
83 if (!library_names_.empty() || !callout_manager_) {
88 for (
size_t i = 0; i < library_names_.size(); ++i) {
93 boost::shared_ptr<LibraryManager> manager(
101 if (manager->loadLibrary()) {
102 lib_managers_.push_back(manager);
119 for (
int i = lib_managers_.size() - 1; i >= 0; --i) {
120 lib_managers_[i].reset();
122 lib_managers_.clear();
126 callout_manager_.reset();
132 return (lib_managers_.size());
136 std::vector<std::string>
138 const std::vector<std::string>& libraries) {
140 std::vector<std::string> failures;
141 for (
size_t i = 0; i < libraries.size(); ++i) {
143 failures.push_back(libraries[i]);
boost::shared_ptr< CalloutManager > getCalloutManager() const
Get callout manager.
LoadLibraries not called.
void unloadLibraries()
Unload libraries.
static std::vector< std::string > validateLibraries(const std::vector< std::string > &libraries)
Validate libraries.
static bool validateLibrary(const std::string &name)
Validate library.
std::vector< HookLibInfo > HookLibsCollection
A storage for information about hook libraries.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int getLoadedLibraryCount() const
Get number of loaded libraries.
bool loadLibraries()
Load libraries.
Defines the logger used by the top-level component of kea-dhcp-ddns.
static boost::shared_ptr< CalloutManager > & getSharedCalloutManager()
Return the shared callout manager.
LibraryManagerCollection(const HookLibsCollection &libraries)
Constructor.