00001
00002
00003
00004
00005
00006
00007
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 }
00122
00123
00124 #endif // BALL_COMMON_PATH_H