| # Gaudi Framework, version v21r9 |

Home |  | Generated: 3 May 2010

# 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 namespace System {
    00008
    00009 class GAUDI_API PathResolver
    00010 {
    00011 public:
    00012   typedef enum
    00013     {
    00014       Ok,
    00015       EnvironmentVariableUndefined,
    00016       UnknownDirectory
    00017     } SearchPathStatus;
    00018
    00019   typedef enum
    00020     {
    00021       LocalSearch,
    00022       RecursiveSearch
    00023     } SearchType;
    00024
    00034   static std::string find_file (const std::string& logical_file_name,
    00035                                 const std::string& search_path,
    00036                                 SearchType search_type = LocalSearch);
    00037
    00047   static std::string find_file_from_list (const std::string& logical_file_name,
    00048                                           const std::string& search_list,
    00049                                           SearchType search_type = LocalSearch);
    00050
    00060   static std::string find_directory (const std::string& logical_file_name,
    00061                                      const std::string& search_path,
    00062                                      SearchType search_type = LocalSearch);
    00063
    00073   static std::string find_directory_from_list (const std::string& logical_file_name,
    00074                                                const std::string& search_list,
    00075                                                SearchType search_type = LocalSearch);
    00076
    00084   static SearchPathStatus check_search_path (const std::string& search_path);
    00085 };
    00086
    00087 GAUDI_API PathResolver::SearchPathStatus PathResolverCheckSearchPath (const std::string& search_path);
    00088 GAUDI_API std::string PathResolverFindDirectory (const std::string& logical_file_name,
    00089                          const std::string& search_path);
    00090 GAUDI_API std::string PathResolverFindDirectoryFromList (const std::string& logical_file_name,
    00091                                  const std::string& search_list);
    00092 GAUDI_API std::string PathResolverFindFile (const std::string& logical_file_name,
    00093                     const std::string& search_path);
    00094 GAUDI_API std::string PathResolverFindFileFromList (const std::string& logical_file_name,
    00095                             const std::string& search_list);
    00096 GAUDI_API std::string PathResolverFindXMLFile (const std::string& logical_file_name);
    00097 GAUDI_API std::string PathResolverFindDataFile (const std::string& logical_file_name);
    00098
    00099 }
    00100
    00101 #endif