#include <posix-drives-fs-factory.h>
Public Member Functions | |
void | addDrive (const Common::String &name) |
void | configureBuffering (DrivePOSIXFilesystemNode::BufferingMode bufferingMode, uint32 bufferSize) |
Public Member Functions inherited from FilesystemFactory | |
virtual | ~FilesystemFactory () |
virtual Common::String | getSystemFullPath (const Common::String &path) const |
Protected Member Functions | |
AbstractFSNode * | makeRootFileNode () const override |
AbstractFSNode * | makeCurrentDirectoryFileNode () const override |
AbstractFSNode * | makeFileNodePath (const Common::String &path) const override |
A FilesystemFactory implementation for filesystems with a special top-level directory with hard-coded entries but that otherwise implement the POSIX APIs.
For used with paths like these:
void DrivesPOSIXFilesystemFactory::addDrive | ( | const Common::String & | name | ) |
Add a drive to the top-level directory
void DrivesPOSIXFilesystemFactory::configureBuffering | ( | DrivePOSIXFilesystemNode::BufferingMode | bufferingMode, |
uint32 | bufferSize | ||
) |
Configure file stream buffering
bufferingMode | select the buffering implementation to use |
bufferSize | the size of the IO buffer in bytes. A buffer size of 0 means the default size should be used |
|
overrideprotectedvirtual |
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.
|
overrideprotectedvirtual |
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.
|
overrideprotectedvirtual |
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.