BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
path.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: path.h,v 1.13.20.1 2007/06/21 19:38:10 oliver Exp $
5 //
6 // Author:
7 // Oliver Kohlbacher
8 //
9 
10 #ifndef BALL_COMMON_PATH_H
11 #define BALL_COMMON_PATH_H
12 
13 #ifndef BALL_CONFIG_CONFIG_H
14 # include <BALL/CONFIG/config.h>
15 #endif
16 
17 #ifndef BALL_COMMON_GLOBAL_H
18 # include <BALL/COMMON/global.h>
19 #endif
20 
21 #ifndef BALL_DATATYPE_STRING_H
22 # include <BALL/DATATYPE/string.h>
23 #endif
24 
25 #include <vector>
26 
27 using std::vector;
28 
29 namespace BALL
30 {
40  {
41  public:
45 
48  Path();
50 
68  String getDataPath();
69 
74  void setDataPath(const String& path);
75 
79  void addDataPath(const String& path);
80 
85  String getDefaultDataPath();
86 
99  String find(const String& name);
100 
104  String findStrict(const String& name);
105 
107  void reset();
108 
109 
110  protected:
111 
112  void buildPathArray_();
113 
114  static String path_;
115  static bool path_array_valid_;
116  static bool environment_checked_;
117  static std::vector<String> path_array_;
118  static bool initialized_;
119  };
120 
121 } // namespace BALL
122 
123 
124 #endif // BALL_COMMON_PATH_H