Medical Imaging Interaction Toolkit  2023.12.00
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

◆ ~StandardFileLocations()

mitk::StandardFileLocations::~StandardFileLocations ( )
overrideprotected

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
insertInFrontOfSearchListwhether this search request shall be processed first

◆ 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.

◆ GetInstance()

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

◆ 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.

◆ New()

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

◆ 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

◆ SearchDirectoriesForFile()

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

Member Data Documentation

◆ m_SearchDirectories

FileSearchVectorType mitk::StandardFileLocations::m_SearchDirectories
protected

Definition at line 98 of file mitkStandardFileLocations.h.


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