PathResolver.h
Go to the documentation of this file.00001 #ifndef GAUDIKERNEL_PATHRESOLVER_H
00002 #define GAUDIKERNEL_PATHRESOLVER_H
00003
00004 #include <string>
00005 #include "GaudiKernel/Kernel.h"
00006
00007
00008 namespace System {
00009
00010 class GAUDI_API PathResolver
00011
00012 {
00013 public:
00014 typedef enum
00015 {
00016 Ok,
00017 EnvironmentVariableUndefined,
00018 UnknownDirectory
00019 } SearchPathStatus;
00020
00021 typedef enum
00022 {
00023 LocalSearch,
00024 RecursiveSearch
00025 } SearchType;
00026
00036 static std::string find_file (const std::string& logical_file_name,
00037 const std::string& search_path,
00038 SearchType search_type = LocalSearch);
00039
00049 static std::string find_file_from_list (const std::string& logical_file_name,
00050 const std::string& search_list,
00051 SearchType search_type = LocalSearch);
00052
00053
00063 static std::string find_directory (const std::string& logical_file_name,
00064 const std::string& search_path,
00065 SearchType search_type = LocalSearch);
00066
00076 static std::string find_directory_from_list (const std::string& logical_file_name,
00077 const std::string& search_list,
00078 SearchType search_type = LocalSearch);
00079
00080
00088 static SearchPathStatus check_search_path (const std::string& search_path);
00089
00090
00091 };
00092
00093 GAUDI_API std::string PathResolverFindXMLFile (const std::string& logical_file_name);
00094 GAUDI_API std::string PathResolverFindDataFile (const std::string& logical_file_name);
00095
00096 }
00097
00098 #endif