1 #pragma once 2 3 #include "internal/sys.hpp" 4 #include "manager.hpp" 5 6 #include <memory> 7 #include <string> 8 9 namespace blobs 10 { 11 using HandlerFactory = std::unique_ptr<GenericBlobInterface> (*)(); 12 13 /** 14 * The bitbake recipe symlinks the library lib*.so.? into the folder 15 * only, and not the other names, .so, .so.?.?, .so.?.?.? 16 * 17 * Therefore only care if it's lib*.so.? 18 * 19 * @param[in] the path to check. 20 * @return true if matches, false otherwise 21 */ 22 bool matchBlobHandler(const std::string& filename); 23 24 /** 25 * @brief Given a path, find libraries (*.so only) and load them. 26 * 27 * @param[in] manager - pointer to a manager 28 * @param[in] paths - list of fully qualified paths to libraries to load. 29 * @param[in] sys - pointer to implementation of the dlsys interface. 30 */ 31 void loadLibraries(ManagerInterface* manager, const std::string& path, 32 const internal::DlSysInterface* sys = &internal::dlsys_impl); 33 34 } // namespace blobs 35