BALL  1.4.1
path.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: path.h,v 1.13.20.1 2007/06/21 19:38:10 oliver Exp $
00005 //
00006 // Author:
00007 //   Oliver Kohlbacher
00008 //
00009 
00010 #ifndef BALL_COMMON_PATH_H
00011 #define BALL_COMMON_PATH_H
00012 
00013 #ifndef BALL_CONFIG_CONFIG_H
00014 # include <BALL/CONFIG/config.h>
00015 #endif
00016 
00017 #ifndef BALL_COMMON_GLOBAL_H
00018 # include <BALL/COMMON/global.h>
00019 #endif
00020 
00021 #ifndef BALL_DATATYPE_STRING_H
00022 # include <BALL/DATATYPE/string.h>
00023 #endif
00024 
00025 #include <vector>
00026 
00027 using std::vector;
00028 
00029 namespace BALL 
00030 {
00039   class BALL_EXPORT Path 
00040   {
00041     public:
00045     
00048     Path();
00050 
00068     String getDataPath();
00069 
00074     void setDataPath(const String& path);
00075 
00079     void addDataPath(const String& path);
00080 
00085     String getDefaultDataPath();
00086 
00099     String find(const String& name);
00100 
00104     String findStrict(const String& name);
00105 
00107     void reset();
00108 
00109     
00110     protected:
00111         
00112     void buildPathArray_();
00113 
00114     static String path_;
00115     static bool path_array_valid_;
00116     static bool environment_checked_;
00117     static std::vector<String>  path_array_;
00118     static bool initialized_;
00119   };
00120   
00121 } // namespace BALL
00122 
00123 
00124 #endif // BALL_COMMON_PATH_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines