#include <chroot-fs-factory.h>
Public Member Functions | |
ChRootFilesystemFactory (const Common::String &root) | |
AbstractFSNode * | makeRootFileNode () const override |
AbstractFSNode * | makeCurrentDirectoryFileNode () const override |
AbstractFSNode * | makeFileNodePath (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 () |
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.
|
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.
|
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.
|
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.
path | The path string to create a FSNode for. |
Implements FilesystemFactory.
|
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.