1*c18e2b64SPatrick Venture #pragma once 2*c18e2b64SPatrick Venture 3*c18e2b64SPatrick Venture #include <functional> 4*c18e2b64SPatrick Venture #include <string> 5*c18e2b64SPatrick Venture #include <vector> 6*c18e2b64SPatrick Venture 7*c18e2b64SPatrick Venture namespace blobs 8*c18e2b64SPatrick Venture { 9*c18e2b64SPatrick Venture using PathMatcher = std::function<bool(const std::string& filename)>; 10*c18e2b64SPatrick Venture 11*c18e2b64SPatrick Venture /** 12*c18e2b64SPatrick Venture * Returns a list of library paths. Checks against match method. 13*c18e2b64SPatrick Venture * 14*c18e2b64SPatrick Venture * TODO: Can be dropped if we implement a clean fs wrapper for test injection. 15*c18e2b64SPatrick Venture * 16*c18e2b64SPatrick Venture * @param[in] path - the path to search 17*c18e2b64SPatrick Venture * @param[in] check - the function to call to check the path 18*c18e2b64SPatrick Venture * @return a list of paths that match the criteria 19*c18e2b64SPatrick Venture */ 20*c18e2b64SPatrick Venture std::vector<std::string> getLibraryList(const std::string& path, 21*c18e2b64SPatrick Venture PathMatcher check); 22*c18e2b64SPatrick Venture 23*c18e2b64SPatrick Venture } // namespace blobs 24