ScummVM API documentation
ChRootFilesystemFactory Class Referencefinal

#include <chroot-fs-factory.h>

Inheritance diagram for ChRootFilesystemFactory:
FilesystemFactory

Public Member Functions

 ChRootFilesystemFactory (const Common::String &root)
 
AbstractFSNodemakeRootFileNode () const override
 
AbstractFSNodemakeCurrentDirectoryFileNode () const override
 
AbstractFSNodemakeFileNodePath (const Common::String &path) const override
 
void addVirtualDrive (const Common::String &name, const Common::String &path)
 
Common::String getSystemFullPath (const Common::String &path) const override
 
- Public Member Functions inherited from FilesystemFactory
virtual ~FilesystemFactory ()
 

Detailed Description

FIXME: Warning, using this factory in your backend may silently break some features. Instances are, for example, the FluidSynth code, and the POSIX plugin code.

Member Function Documentation

◆ makeRootFileNode()

AbstractFSNode* ChRootFilesystemFactory::makeRootFileNode ( ) const
overridevirtual

Returns a special node representing the filesystem root. The starting point for any file system browsing.

On Unix, this will be simply the node for / (the root directory). On Windows, it will be a special node which "contains" all drives (C:, D:, E:).

Implements FilesystemFactory.

◆ makeCurrentDirectoryFileNode()

AbstractFSNode* ChRootFilesystemFactory::makeCurrentDirectoryFileNode ( ) const
overridevirtual

Returns a node representing the "current directory". If your system does not support this concept, you can either try to emulate it or simply return some "sensible" default directory node, e.g. the same value as getRoot() returns.

Implements FilesystemFactory.

◆ makeFileNodePath()

AbstractFSNode* ChRootFilesystemFactory::makeFileNodePath ( const Common::String path) const
overridevirtual

Construct a node based on a path; the path is in the same format as it would be for calls to fopen().

Furthermore getNodeForPath(oldNode.path()) should create a new node identical to oldNode. Hence, we can use the "path" value for persistent storage e.g. in the config file.

Parameters
pathThe path string to create a FSNode for.

Implements FilesystemFactory.

◆ getSystemFullPath()

Common::String ChRootFilesystemFactory::getSystemFullPath ( const Common::String path) const
overridevirtual

Returns a path suitable for systen functions such as fopen() for the given ScummVM path,

In most cases the returned path is the same as the given path, but it may be different, for example when the application is sandboxed and ScummVM path are relative to the saandbox root.

Reimplemented from FilesystemFactory.


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