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]);