OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ossimEnvironmentUtility Class Reference

#include <ossimEnvironmentUtility.h>

Public Types

typedef std::vector< ossimFilenameFilenameListType
 

Public Member Functions

ossimString getEnvironmentVariable (const ossimString &variable) const
 
void setEnvironmentVariable (const char *variable, const char *value) const
 
ossimFilename getUserDir () const
 
ossimString getUserName () const
 
ossimFilename getUserOssimSupportDir () const
 
ossimFilename getUserOssimPreferences () const
 
ossimFilename getUserOssimPluginDir () const
 
ossimFilename getInstalledOssimSupportDir () const
 
ossimFilename getInstalledOssimPluginDir () const
 
ossimFilename getInstalledOssimPreferences () const
 
ossimFilename getCurrentWorkingDir () const
 
ossimFilename searchAllPaths (const ossimFilename &file) const
 
ossimFilename findPlugin (const ossimFilename &plugin) const
 
ossimFilename findData (const ossimFilename &data) const
 
void addDataSearchPath (const ossimFilename &path)
 
void addDataSearchPathToFront (const ossimFilename &path)
 
void addPluginSearchPath (const ossimFilename &path)
 
void addPluginSearchPathToFront (const ossimFilename &path)
 
ossimEnvironmentUtility::FilenameListTypegetPluginSearchPath ()
 
const ossimEnvironmentUtility::FilenameListTypegetPluginSearchPath () const
 
ossimEnvironmentUtility::FilenameListTypegetDataSearchPath ()
 
const ossimEnvironmentUtility::FilenameListTypegetDataSearchPath () const
 

Static Public Member Functions

static ossimEnvironmentUtilityinstance ()
 

Private Member Functions

 ossimEnvironmentUtility ()
 
 ossimEnvironmentUtility (const ossimEnvironmentUtility &obj)
 
const ossimEnvironmentUtilityoperator= (const ossimEnvironmentUtility &rhs)
 

Private Attributes

ossimEnvironmentUtility::FilenameListType thePluginSearchPath
 
ossimEnvironmentUtility::FilenameListType theDataSearchPath
 

Static Private Attributes

static ossimEnvironmentUtilitytheInstance =0
 

Detailed Description

Definition at line 6 of file ossimEnvironmentUtility.h.

Member Typedef Documentation

◆ FilenameListType

Definition at line 9 of file ossimEnvironmentUtility.h.

Constructor & Destructor Documentation

◆ ossimEnvironmentUtility() [1/2]

ossimEnvironmentUtility::ossimEnvironmentUtility ( )
private

Definition at line 16 of file ossimEnvironmentUtility.cpp.

References ossimString::empty().

17 {
19 
20  if(!dir.empty())
21  {
22  thePluginSearchPath.push_back(dir);
23  }
24 
26  if(!dir.empty())
27  {
28  thePluginSearchPath.push_back(dir);
29  }
30 
31 
32 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath
ossimFilename getUserOssimPluginDir() const
ossimFilename getInstalledOssimPluginDir() const
bool empty() const
Definition: ossimString.h:411

◆ ossimEnvironmentUtility() [2/2]

ossimEnvironmentUtility::ossimEnvironmentUtility ( const ossimEnvironmentUtility obj)
private

Definition at line 308 of file ossimEnvironmentUtility.cpp.

310 {
311 }

Member Function Documentation

◆ addDataSearchPath()

void ossimEnvironmentUtility::addDataSearchPath ( const ossimFilename path)

Definition at line 234 of file ossimEnvironmentUtility.cpp.

235 {
236  theDataSearchPath.push_back(path);
237 }
ossimEnvironmentUtility::FilenameListType theDataSearchPath

◆ addDataSearchPathToFront()

void ossimEnvironmentUtility::addDataSearchPathToFront ( const ossimFilename path)

Definition at line 239 of file ossimEnvironmentUtility.cpp.

240 {
241  theDataSearchPath.insert(theDataSearchPath.begin(), path);
242 }
ossimEnvironmentUtility::FilenameListType theDataSearchPath

◆ addPluginSearchPath()

void ossimEnvironmentUtility::addPluginSearchPath ( const ossimFilename path)

Definition at line 244 of file ossimEnvironmentUtility.cpp.

245 {
246  thePluginSearchPath.push_back(path);
247 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath

◆ addPluginSearchPathToFront()

void ossimEnvironmentUtility::addPluginSearchPathToFront ( const ossimFilename path)

Definition at line 249 of file ossimEnvironmentUtility.cpp.

250 {
251  thePluginSearchPath.insert(thePluginSearchPath.begin(), path);
252 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath

◆ findData()

ossimFilename ossimEnvironmentUtility::findData ( const ossimFilename data) const

Definition at line 270 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat(), and ossimFilename::exists().

271 {
272  for(ossimEnvironmentUtility::FilenameListType::const_iterator iter = theDataSearchPath.begin();
273  iter != theDataSearchPath.end();
274  ++iter)
275  {
276  ossimFilename temp = iter->dirCat(data);
277  if(temp.exists())
278  {
279  return temp;
280  }
281  }
282 
283  return "";
284 }
bool exists() const
ossimFilename dirCat(const ossimFilename &file) const
ossimEnvironmentUtility::FilenameListType theDataSearchPath

◆ findPlugin()

ossimFilename ossimEnvironmentUtility::findPlugin ( const ossimFilename plugin) const

Definition at line 254 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat(), and ossimFilename::exists().

255 {
256  for(ossimEnvironmentUtility::FilenameListType::const_iterator iter = thePluginSearchPath.begin();
257  iter != thePluginSearchPath.end();
258  ++iter)
259  {
260  ossimFilename temp = iter->dirCat(plugin);
261  if(temp.exists())
262  {
263  return temp;
264  }
265  }
266 
267  return "";
268 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath
bool exists() const
ossimFilename dirCat(const ossimFilename &file) const

◆ getCurrentWorkingDir()

ossimFilename ossimEnvironmentUtility::getCurrentWorkingDir ( ) const
Returns
The current working dir which is /home/dburken/code/ossimlabs/ossim/doc for unix for windows.

Definition at line 206 of file ossimEnvironmentUtility.cpp.

Referenced by ossimBatchTest::execute(), and ossimplugins::ossimTerraSarModel::findTSXLeader().

207 {
208  ossimFilename result;
209 
210 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
211  result = getEnvironmentVariable("PWD");
212 #else
213  char buf[512];
214  _getcwd(buf, 512);
215  result = buf;
216 #endif
217 
218  return result;
219 }
ossimString getEnvironmentVariable(const ossimString &variable) const

◆ getDataSearchPath() [1/2]

ossimEnvironmentUtility::FilenameListType & ossimEnvironmentUtility::getDataSearchPath ( )

Definition at line 297 of file ossimEnvironmentUtility.cpp.

298 {
299  return theDataSearchPath;
300 }
ossimEnvironmentUtility::FilenameListType theDataSearchPath

◆ getDataSearchPath() [2/2]

const ossimEnvironmentUtility::FilenameListType & ossimEnvironmentUtility::getDataSearchPath ( ) const

Definition at line 302 of file ossimEnvironmentUtility.cpp.

303 {
304  return theDataSearchPath;
305 }
ossimEnvironmentUtility::FilenameListType theDataSearchPath

◆ getEnvironmentVariable()

ossimString ossimEnvironmentUtility::getEnvironmentVariable ( const ossimString variable) const

Definition at line 44 of file ossimEnvironmentUtility.cpp.

References variable.

Referenced by ossimBatchTest::doDefaultClean(), ossimBatchTest::execute(), ossimTempFilename::generate(), ossimBatchTest::getDefaultTempFileDir(), and ossimElevManager::loadStandardElevationPaths().

45 {
46  ossimString result;
47  char* lookup = std::getenv(variable.c_str());
48  // getenv returns NULL if not found.
49  if (lookup)
50  {
51  result = (const char*)lookup;
52  }
53  return result;
54 }

◆ getInstalledOssimPluginDir()

ossimFilename ossimEnvironmentUtility::getInstalledOssimPluginDir ( ) const

Definition at line 160 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat(), and ossimFilename::exists().

161 {
163 
164  //Need generic unix plugin location
165 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
166 # ifndef __APPLE__
167  return "";
168 # endif
169 #endif
170  if((result!="")&&result.exists())
171  {
172  result = result.dirCat("plugins");
173  }
174  else
175  {
176  result = "";
177  }
178 
179  return result;
180 
181 }
ossimFilename getInstalledOssimSupportDir() const
bool exists() const
ossimFilename dirCat(const ossimFilename &file) const

◆ getInstalledOssimPreferences()

ossimFilename ossimEnvironmentUtility::getInstalledOssimPreferences ( ) const

Definition at line 183 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat(), and ossimFilename::exists().

184 {
186 
187 
188  if((result!="")&&result.exists())
189  {
190  result = result.dirCat("preferences");
191  }
192  else
193  {
194  result = "";
195  }
196 
197  if(!result.exists())
198  {
199  result = "";
200  }
201 
202  return result;
203 
204 }
ossimFilename getInstalledOssimSupportDir() const
bool exists() const
ossimFilename dirCat(const ossimFilename &file) const

◆ getInstalledOssimSupportDir()

ossimFilename ossimEnvironmentUtility::getInstalledOssimSupportDir ( ) const

Definition at line 133 of file ossimEnvironmentUtility.cpp.

References ossimFilename::exists().

Referenced by ossimElevManager::loadStandardElevationPaths().

134 {
135  ossimFilename result;
136 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
137 # ifdef __APPLE__
138  result = "/Library/Application Support/ossim";
139 # else
140  result = "/usr/share/ossim";
141  if(!result.exists())
142  {
143  result = "/usr/local/share/ossim";
144  }
145 # endif
146 #else
147  // NEED the windows test here.
148 #endif
149  if(result != "")
150  {
151  if(!result.exists())
152  {
153  result = "";
154  }
155  }
156 
157  return result;
158 }
bool exists() const

◆ getPluginSearchPath() [1/2]

ossimEnvironmentUtility::FilenameListType & ossimEnvironmentUtility::getPluginSearchPath ( )

Definition at line 287 of file ossimEnvironmentUtility.cpp.

288 {
289  return thePluginSearchPath;
290 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath

◆ getPluginSearchPath() [2/2]

const ossimEnvironmentUtility::FilenameListType & ossimEnvironmentUtility::getPluginSearchPath ( ) const

Definition at line 292 of file ossimEnvironmentUtility.cpp.

293 {
294  return thePluginSearchPath;
295 }
ossimEnvironmentUtility::FilenameListType thePluginSearchPath

◆ getUserDir()

ossimFilename ossimEnvironmentUtility::getUserDir ( ) const

Definition at line 94 of file ossimEnvironmentUtility.cpp.

Referenced by ossimFilename::expand().

95 {
96  ossimFilename result;
97 
98 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
99  result = ossimFilename(getEnvironmentVariable("HOME"));
100 #else
101  result =ossimFilename(getEnvironmentVariable("USERPROFILE"));
102 #endif
103 
104  return result;
105 }
ossimString getEnvironmentVariable(const ossimString &variable) const

◆ getUserName()

ossimString ossimEnvironmentUtility::getUserName ( ) const

Definition at line 85 of file ossimEnvironmentUtility.cpp.

86 {
87 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
88  return getEnvironmentVariable("USER");
89 #else
90  return getEnvironmentVariable("USERNAME");
91 #endif
92 }
ossimString getEnvironmentVariable(const ossimString &variable) const

◆ getUserOssimPluginDir()

ossimFilename ossimEnvironmentUtility::getUserOssimPluginDir ( ) const

Definition at line 121 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat().

Referenced by ossimInit::initializePlugins().

122 {
124 
125  if(result != "")
126  {
127  result = result.dirCat("plugins");
128  }
129 
130  return result;
131 }
ossimFilename dirCat(const ossimFilename &file) const
ossimFilename getUserOssimSupportDir() const

◆ getUserOssimPreferences()

ossimFilename ossimEnvironmentUtility::getUserOssimPreferences ( ) const

Definition at line 107 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat().

108 {
110 
111  if(result == "")
112  {
113  return "";
114  }
115 
116  result = result.dirCat("preferences");
117 
118  return result;
119 }
ossimFilename dirCat(const ossimFilename &file) const
ossimFilename getUserOssimSupportDir() const

◆ getUserOssimSupportDir()

ossimFilename ossimEnvironmentUtility::getUserOssimSupportDir ( ) const

Definition at line 67 of file ossimEnvironmentUtility.cpp.

References ossimFilename::dirCat().

Referenced by ossimElevManager::loadStandardElevationPaths().

68 {
69  ossimFilename result = getUserDir();
70 
71 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
72 # ifdef __APPLE__
73  result = result.dirCat("Library/Application Support/ossim");
74 
75 # else
76  result = result.dirCat(".ossim");
77 # endif
78 #else
79  result = result.dirCat("Application Data\\ossim");
80 #endif
81 
82  return result;
83 }
ossimFilename dirCat(const ossimFilename &file) const
ossimFilename getUserDir() const

◆ instance()

ossimEnvironmentUtility * ossimEnvironmentUtility::instance ( )
static

◆ operator=()

const ossimEnvironmentUtility & ossimEnvironmentUtility::operator= ( const ossimEnvironmentUtility rhs)
private

Definition at line 314 of file ossimEnvironmentUtility.cpp.

316 {
317  return *this;
318 }

◆ searchAllPaths()

ossimFilename ossimEnvironmentUtility::searchAllPaths ( const ossimFilename file) const

Definition at line 221 of file ossimEnvironmentUtility.cpp.

References ossimString::empty().

222 {
223  ossimFilename result;
224 
225  result = findPlugin(file);
226  if(!result.empty()) return result;
227 
228  result = findData(file);
229 
230 
231  return result;
232 }
bool empty() const
Definition: ossimString.h:411
ossimFilename findPlugin(const ossimFilename &plugin) const
ossimFilename findData(const ossimFilename &data) const

◆ setEnvironmentVariable()

void ossimEnvironmentUtility::setEnvironmentVariable ( const char *  variable,
const char *  value 
) const

Definition at line 56 of file ossimEnvironmentUtility.cpp.

References variable.

Referenced by ossimBatchTest::execute(), and ossimInit::parseEnvOptions().

57 {
58 #if OSSIM_ENVIRONMENT_UTILITY_UNIX
59  setenv(variable, value, 1); // For backwards compatiblity.
60 #else
61  ostringstream arg;
62  arg<<variable<<"="<<value;
63  _putenv( arg.str().c_str() );
64 #endif
65 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35

Member Data Documentation

◆ theDataSearchPath

ossimEnvironmentUtility::FilenameListType ossimEnvironmentUtility::theDataSearchPath
private

Definition at line 52 of file ossimEnvironmentUtility.h.

◆ theInstance

ossimEnvironmentUtility * ossimEnvironmentUtility::theInstance =0
staticprivate

Definition at line 49 of file ossimEnvironmentUtility.h.

◆ thePluginSearchPath

ossimEnvironmentUtility::FilenameListType ossimEnvironmentUtility::thePluginSearchPath
private

Definition at line 51 of file ossimEnvironmentUtility.h.


The documentation for this class was generated from the following files: