OGRE  1.9.0
Ogre::FileSystemLayer Class Reference

Provides methods to find out where the Ogre config files are stored and where logs and settings files should be written to. More...

#include <OgreFileSystemLayer.h>

Inheritance diagram for Ogre::FileSystemLayer:

Public Member Functions

 FileSystemLayer (const Ogre::String &subdir)
 Creates a concrete platform-dependent implementation of FileSystemLayer.
 
bool createDirectory (const Ogre::String &name)
 Create a directory.
 
const Ogre::String getConfigFilePath (Ogre::String filename) const
 Search for the given config file in the user's home path.
 
const Ogre::String getWritablePath (const Ogre::String &filename) const
 Find a path where the given filename can be written to.
 
void operator delete (void *ptr)
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void setConfigPaths (const Ogre::StringVector &paths)
 
void setHomePath (const Ogre::String &path)
 

Private Member Functions

bool fileExists (const Ogre::String &path) const
 Test if the given file exists.
 
void getConfigPaths ()
 Determine config search paths.
 
void prepareUserHome (const Ogre::String &subdir)
 Create an Ogre directory and the given subdir in the user's home.
 

Private Attributes

Ogre::StringVector mConfigPaths
 
Ogre::String mHomePath
 

Detailed Description

Provides methods to find out where the Ogre config files are stored and where logs and settings files should be written to.

Remarks
In modern multi-user OS, a standard user account will often not have write access to the path where the SampleBrowser is stored. In order to still be able to store graphics settings and log output and for the user to overwrite the default Ogre config files, this class tries to create a folder inside the user's home directory. Specialised implementations for each individual platform must subclass this abstract interface. Implementation for the FileSystemLayer interface.

Definition at line 49 of file OgreFileSystemLayer.h.

Constructor & Destructor Documentation

◆ FileSystemLayer()

Ogre::FileSystemLayer::FileSystemLayer ( const Ogre::String & subdir)

Creates a concrete platform-dependent implementation of FileSystemLayer.

Parameters
subdirA subdirectory inside the user's path to distinguish between different Ogre releases.

Definition at line 57 of file OgreFileSystemLayer.h.

References getConfigPaths(), and prepareUserHome().

Member Function Documentation

◆ createDirectory()

bool Ogre::FileSystemLayer::createDirectory ( const Ogre::String & name)

Create a directory.

◆ fileExists()

bool Ogre::FileSystemLayer::fileExists ( const Ogre::String & path) const
private

Test if the given file exists.

Referenced by getConfigFilePath().

◆ getConfigFilePath()

const Ogre::String Ogre::FileSystemLayer::getConfigFilePath ( Ogre::String filename) const

Search for the given config file in the user's home path.

If it can't be found there, the function falls back to the system-wide install path for Ogre config files. (Usually the same place where the SampleBrowser resides, or a special config path above that path.)

Parameters
filenameThe config file name (without path)
Returns
The full path to the config file.

Definition at line 74 of file OgreFileSystemLayer.h.

References fileExists(), getWritablePath(), mConfigPaths, and OGRE_BUILD_SUFFIX.

◆ getConfigPaths()

void Ogre::FileSystemLayer::getConfigPaths ( )
private

Determine config search paths.

Referenced by FileSystemLayer().

◆ getWritablePath()

const Ogre::String Ogre::FileSystemLayer::getWritablePath ( const Ogre::String & filename) const

Find a path where the given filename can be written to.

This path will usually be in the user's home directory. This function should be used for any output like logs and graphics settings.

Parameters
filenameName of the file.
Returns
The full path to a writable location for the given filename.

Definition at line 110 of file OgreFileSystemLayer.h.

References mHomePath.

Referenced by getConfigFilePath().

◆ operator delete() [1/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [4/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [5/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [6/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [3/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [4/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
const char * file,
int line,
const char * func )
inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [4/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
const char * file,
int line,
const char * func )
inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [5/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new() [6/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] ( size_t sz)
inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] ( size_t sz)
inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [3/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] ( size_t sz,
const char * file,
int line,
const char * func )
inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [4/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] ( size_t sz,
const char * file,
int line,
const char * func )
inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ prepareUserHome()

void Ogre::FileSystemLayer::prepareUserHome ( const Ogre::String & subdir)
private

Create an Ogre directory and the given subdir in the user's home.

Referenced by FileSystemLayer().

◆ setConfigPaths()

void Ogre::FileSystemLayer::setConfigPaths ( const Ogre::StringVector & paths)

Definition at line 115 of file OgreFileSystemLayer.h.

References mConfigPaths.

◆ setHomePath()

void Ogre::FileSystemLayer::setHomePath ( const Ogre::String & path)

Definition at line 119 of file OgreFileSystemLayer.h.

References mHomePath.

Member Data Documentation

◆ mConfigPaths

Ogre::StringVector Ogre::FileSystemLayer::mConfigPaths
private

Definition at line 127 of file OgreFileSystemLayer.h.

Referenced by getConfigFilePath(), and setConfigPaths().

◆ mHomePath

Ogre::String Ogre::FileSystemLayer::mHomePath
private

Definition at line 128 of file OgreFileSystemLayer.h.

Referenced by getWritablePath(), and setHomePath().


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