artdaq_core  v1_05_07
 All Classes Namespaces Functions
SimpleLookupPolicy.h
1 #ifndef artdaq_core_Utilities_SimpleLookupPolicy_h
2 #define artdaq_core_Utilities_SimpleLookupPolicy_h
3 
4 #include "cetlib/filepath_maker.h"
5 #include "cetlib/search_path.h"
6 #include <memory>
7 
8 namespace artdaq {
9  class SimpleLookupPolicy;
10 }
11 
12 class artdaq::SimpleLookupPolicy : public cet::filepath_maker
13 {
14 public:
15 
16  enum ArgType : int { ENV_VAR = 0, PATH_STRING = 1 };
17 
18  SimpleLookupPolicy(std::string const &paths, ArgType argType = ENV_VAR);
19  virtual std::string operator() (std::string const &filename);
20  virtual ~SimpleLookupPolicy() noexcept;
21 
22 private:
23  std::unique_ptr<cet::search_path> cwdPath_;
24  std::unique_ptr<cet::search_path> fallbackPaths_;
25 
26 };
27 
28 #endif /* artdaq_core_Utilities_SimpleLookupPolicy_h */
29 
30 // Local Variables:
31 // mode: c++
32 // End:
SimpleLookupPolicy(std::string const &paths, ArgType argType=ENV_VAR)