Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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 ()
 
 ~StandardFileLocations () override
 
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 29 of file mitkStandardFileLocations.h.

Member Typedef Documentation

◆ FileSearchVectorType

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

Definition at line 95 of file mitkStandardFileLocations.h.

◆ Pointer

◆ Self

◆ Superclass

Definition at line 33 of file mitkStandardFileLocations.h.

Constructor & Destructor Documentation

◆ StandardFileLocations()

mitk::StandardFileLocations::StandardFileLocations ( )
protected

Definition at line 22 of file mitkStandardFileLocations.cpp.

◆ ~StandardFileLocations()

mitk::StandardFileLocations::~StandardFileLocations ( )
overrideprotected

Definition at line 26 of file mitkStandardFileLocations.cpp.

Member Function Documentation

◆ AddDirectoryForSearch()

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 39 of file mitkStandardFileLocations.cpp.

References m_SearchDirectories.

Referenced by FindFile().

◆ Clone()

Pointer mitk::StandardFileLocations::Clone ( ) const
protected

◆ FindFile()

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 110 of file mitkStandardFileLocations.cpp.

References AddDirectoryForSearch(), MITK_ROOT, and SearchDirectoriesForFile().

◆ GetInstance()

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

Definition at line 30 of file mitkStandardFileLocations.cpp.

References New().

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

◆ GetOptionDirectory()

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 164 of file mitkStandardFileLocations.cpp.

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

◆ New()

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

Referenced by GetInstance().

◆ RemoveDirectoryForSearch()

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 59 of file mitkStandardFileLocations.cpp.

References m_SearchDirectories.

◆ SearchDirectoriesForFile()

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

Definition at line 74 of file mitkStandardFileLocations.cpp.

References m_SearchDirectories.

Referenced by FindFile().

Member Data Documentation

◆ m_SearchDirectories

FileSearchVectorType mitk::StandardFileLocations::m_SearchDirectories
protected

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