Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::StandardFileLocations Class Reference

Provides a method to look for configuration and option files etc. More...

#include <mitkStandardFileLocations.h>

Inheritance diagram for mitk::StandardFileLocations:
Collaboration diagram for mitk::StandardFileLocations:

Public Types

typedef StandardFileLocations Self
 
typedef itk::Command Superclass
 
typedef itk::SmartPointer< SelfPointer
 

Public Member Functions

void AddDirectoryForSearch (const char *dir, bool insertInFrontOfSearchList=true)
 Adds a directory into the search queue: \ Use this function in combination with FindFile(), after adding some \ directories, they will also be searched for the requested file. More...
 
void RemoveDirectoryForSearch (const char *dir)
 Remove a directory from the search queue: \ Use this function in combination with FindFile(). More...
 
std::string FindFile (const char *filename, const char *pathInSourceDir=nullptr)
 looks for a file in several standard locations More...
 
std::string GetOptionDirectory ()
 Return directory of/for option files. More...
 

Static Public Member Functions

static StandardFileLocationsGetInstance ()
 

Protected Types

typedef std::vector< std::string > FileSearchVectorType
 

Protected Member Functions

Pointer Clone () const
 
 StandardFileLocations ()
 
virtual ~StandardFileLocations ()
 
std::string SearchDirectoriesForFile (const char *filename)
 

Static Protected Member Functions

static Pointer New ()
 

Protected Attributes

FileSearchVectorType m_SearchDirectories
 

Detailed Description

Provides a method to look for configuration and option files etc.

Call mitk::StandardFileLocations::FindFile(filename) to look for configuration files. Call mitk::StandardFileLocations::GetOptionDirectory() to look for/save option files.

Definition at line 33 of file mitkStandardFileLocations.h.

Member Typedef Documentation

typedef std::vector<std::string> mitk::StandardFileLocations::FileSearchVectorType
protected

Definition at line 100 of file mitkStandardFileLocations.h.

Definition at line 37 of file mitkStandardFileLocations.h.

Constructor & Destructor Documentation

mitk::StandardFileLocations::StandardFileLocations ( )
protected

Definition at line 26 of file mitkStandardFileLocations.cpp.

mitk::StandardFileLocations::~StandardFileLocations ( )
protectedvirtual

Definition at line 30 of file mitkStandardFileLocations.cpp.

Member Function Documentation

void mitk::StandardFileLocations::AddDirectoryForSearch ( const char *  dir,
bool  insertInFrontOfSearchList = true 
)

Adds a directory into the search queue: \ Use this function in combination with FindFile(), after adding some \ directories, they will also be searched for the requested file.

Parameters
dirdirectory you want to be searched in
insertInFrontOfSearchListwheather this search request shall be processed first

Definition at line 43 of file mitkStandardFileLocations.cpp.

Pointer mitk::StandardFileLocations::Clone ( ) const
protected
std::string mitk::StandardFileLocations::FindFile ( const char *  filename,
const char *  pathInSourceDir = nullptr 
)

looks for a file in several standard locations

Parameters
filenameThe file you want to fine, without any path
pathInSourceDirWhere in the source tree hierarchy would that file be?
Returns
The absolute path to the file including the filename

This method appends several standard locations to the end of the searchqueue (if they not already exist) and then searches for the file within all directories contained in the search queue:

  1. Add the directory specified in the environment variable MITKCONF
  2. Add the .mitk directory in the home folder of the user
  3. Add the current working directory
  4. Add the (current working directory)/bin directory
  5. Add the directory specified in pathInSourceDir, that is relative to the source code directory root (which is determined at compile time)

Already added directories in the searchqueue by using AddDirectoryForSearch before calling FindFile are still searched first, because above mentioned standard locations are always appended at the end of the list.

Definition at line 114 of file mitkStandardFileLocations.cpp.

References MITK_ROOT.

mitk::StandardFileLocations * mitk::StandardFileLocations::GetInstance ( )
static

Definition at line 34 of file mitkStandardFileLocations.cpp.

References New().

Referenced by mitk::SceneIO::CreateEmptyTempDirectory(), and TestThreadSaveLog().

std::string mitk::StandardFileLocations::GetOptionDirectory ( )

Return directory of/for option files.

Returns
The absolute path to the directory for option files.

This method looks for the directory of/for option files in two ways. The logic is as follows

  1. If there is an environment variable MITKOPTIONS, then use that directory.
  2. Use .mitk-subdirectory in home directory of the user

The directory will be created if it does not exist.

Definition at line 168 of file mitkStandardFileLocations.cpp.

Referenced by mitk::SceneIO::CreateEmptyTempDirectory(), and TestThreadSaveLog().

static Pointer mitk::StandardFileLocations::New ( )
staticprotected

Referenced by GetInstance().

void mitk::StandardFileLocations::RemoveDirectoryForSearch ( const char *  dir)

Remove a directory from the search queue: \ Use this function in combination with FindFile().

Parameters
dirdirectory you want to be searched in

Definition at line 63 of file mitkStandardFileLocations.cpp.

std::string mitk::StandardFileLocations::SearchDirectoriesForFile ( const char *  filename)
protected

Definition at line 78 of file mitkStandardFileLocations.cpp.

References filename.

Member Data Documentation

FileSearchVectorType mitk::StandardFileLocations::m_SearchDirectories
protected

Definition at line 101 of file mitkStandardFileLocations.h.


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