OGRE  1.11.6
Object-Oriented Graphics Rendering Engine
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. More...
 
Ogre::String getConfigFilePath (Ogre::String filename) const
 Search for the given config file in a set of predefined locations. More...
 
Ogre::String getWritablePath (const Ogre::String &filename) const
 Find a path where the given filename can be written to. More...
 
void setConfigPaths (const Ogre::StringVector &paths)
 
void setHomePath (const Ogre::String &path)
 

Static Public Member Functions

static bool createDirectory (const Ogre::String &name)
 Create a directory. More...
 
static bool fileExists (const Ogre::String &path)
 Test if the given file exists. More...
 
static bool removeDirectory (const Ogre::String &name)
 Delete a directory. More...
 
static bool removeFile (const Ogre::String &path)
 Delete a file. More...
 
static bool renameFile (const Ogre::String &oldpath, const Ogre::String &newpath)
 Rename a file. More...
 
static String resolveBundlePath (String path)
 Resolve path inside the application bundle on some platforms Ogre is delivered as an application bundle this function resolves the given path such that it points inside that bundle. More...
 

Detailed Description

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

In modern multi-user OS, a standard user account will often not have write access to the path where the application 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.

Constructor & Destructor Documentation

◆ FileSystemLayer()

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

Creates a concrete platform-dependent implementation of FileSystemLayer.

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

Member Function Documentation

◆ getConfigFilePath()

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

Search for the given config file in a set of predefined locations.

The search order is

  1. Subdirectory in user Home (see getWritablePath)
  2. Executable path
  3. Special system-wide config paths (only on Linux)
  4. Current working directory
Parameters
filenameThe config file name (without path)
Returns
The full path to the config file
Note
on windows the "_d" suffix is appended to the basename in debug mode. E.g. "resource.cfg" becomes "resources_d.cfg"

References OGRE_BUILD_SUFFIX.

◆ getWritablePath()

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

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

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

Platform Location
Windows Documents/Ogre/$subdir/
Linux ~/.cache/$subdir/
OSX ~/Library/Application Support/Ogre/$subdir/
iOS NSDocumentDirectory
Android / Emscripten n/a
Parameters
filenameName of the file.
Returns
The full path to a writable location for the given filename.

◆ setConfigPaths()

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

◆ setHomePath()

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

◆ resolveBundlePath()

static String Ogre::FileSystemLayer::resolveBundlePath ( String  path)
static

Resolve path inside the application bundle on some platforms Ogre is delivered as an application bundle this function resolves the given path such that it points inside that bundle.

Parameters
path
Returns
path inside the bundle

◆ createDirectory()

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

Create a directory.

◆ removeDirectory()

static bool Ogre::FileSystemLayer::removeDirectory ( const Ogre::String name)
static

Delete a directory.

Should be empty

◆ fileExists()

static bool Ogre::FileSystemLayer::fileExists ( const Ogre::String path)
static

Test if the given file exists.

◆ removeFile()

static bool Ogre::FileSystemLayer::removeFile ( const Ogre::String path)
static

Delete a file.

◆ renameFile()

static bool Ogre::FileSystemLayer::renameFile ( const Ogre::String oldpath,
const Ogre::String newpath 
)
static

Rename a file.


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