#include <libretro-fs.h>
Public Member Functions | |
LibRetroFilesystemNode (const Common::String &path) | |
virtual bool | exists () const |
virtual Common::U32String | getDisplayName () const |
virtual Common::String | getName () const |
virtual Common::String | getPath () const |
virtual bool | isDirectory () const |
virtual bool | isReadable () const |
virtual bool | isWritable () const |
virtual AbstractFSNode * | getChild (const Common::String &n) const |
virtual bool | getChildren (AbstractFSList &list, ListMode mode, bool hidden) const |
virtual AbstractFSNode * | getParent () const |
virtual Common::SeekableReadStream * | createReadStream () |
virtual Common::SeekableWriteStream * | createWriteStream (bool atomic) |
virtual bool | createDirectory () |
Public Member Functions inherited from AbstractFSNode | |
virtual | ~AbstractFSNode () |
virtual Common::SeekableReadStream * | createReadStreamForAltStream (Common::AltStreamType altStreamType) |
Static Public Member Functions | |
static Common::String | getHomeDir (void) |
Static Public Member Functions inherited from AbstractFSNode | |
static Common::FSNode | makeFSNode (AbstractFSNode *realNode) |
Protected Member Functions | |
virtual AbstractFSNode * | makeNode (const Common::String &path) const |
LibRetroFilesystemNode () | |
Protected Attributes | |
Common::String | _displayName |
Common::String | _path |
bool | _isDirectory |
bool | _isValid |
bool | _isReadable |
bool | _isWritable |
Additional Inherited Members | |
Protected Types inherited from AbstractFSNode | |
typedef Common::FSNode::ListMode | ListMode |
Static Protected Member Functions inherited from AbstractFSNode | |
static const char * | lastPathComponent (const Common::String &str, const char sep) |
Implementation of the ScummVM file system API based on LibRetro.
Parts of this class are documented in the base interface class, AbstractFSNode.
|
inlineprotected |
Plain constructor, for internal use only (hence protected).
LibRetroFilesystemNode::LibRetroFilesystemNode | ( | const Common::String & | path | ) |
Creates a LibRetroFilesystemNode for a given path.
path | the path the new node should point to. |
|
inlinevirtual |
Returns a human readable path string.
Implements AbstractFSNode.
|
inlinevirtual |
Returns the last component of the path pointed by this FSNode.
Examples (POSIX): /foo/bar.txt would return /bar.txt /foo/bar/ would return /bar/
Implements AbstractFSNode.
|
inlinevirtual |
Returns the 'path' of the current node, usable in fopen().
Implements AbstractFSNode.
|
inlinevirtual |
Indicates whether this path refers to a directory or not.
Implements AbstractFSNode.
|
inlinevirtual |
Indicates whether the object referred by this path can be read from or not.
If the path refers to a directory, readability implies being able to read and list the directory entries.
If the path refers to a file, readability implies being able to read the contents of the file.
Implements AbstractFSNode.
|
inlinevirtual |
Indicates whether the object referred by this path can be written to or not.
If the path refers to a directory, writability implies being able to modify the directory entry (i.e. rename the directory, remove it or write files inside of it).
If the path refers to a file, writability implies being able to write data to the file.
Implements AbstractFSNode.
|
virtual |
Returns the child node with the given name. When called on a non-directory node, it should handle this gracefully by returning 0. When called with a name not matching any of the files/dirs contained in this directory, a valid node should be returned, which returns 'false' upon calling the exists() method. The idea is that this node can then still can be used to create a new file via the createWriteStream() method.
Example: Calling getChild() for a node with path "/foo/bar" using name="file.txt", would produce a new node with "/foo/bar/file.txt" as path.
name | String containing the name of the child to create a new node. |
Implements AbstractFSNode.
|
virtual |
Return a list of child nodes of this directory node. If called on a node that does not represent a directory, false is returned.
list | List to put the contents of the directory in. |
mode | Mode to use while listing the directory. |
hidden | Whether to include hidden files or not in the results. |
Implements AbstractFSNode.
|
virtual |
The parent node of this directory. The parent of the root is the root itself.
Implements AbstractFSNode.
|
virtual |
Creates a SeekableReadStream instance corresponding to the file referred by this node. This assumes that the node actually refers to a readable file. If this is not the case, 0 is returned.
Implements AbstractFSNode.
|
virtual |
Creates a WriteStream instance corresponding to the file referred by this node. This assumes that the node actually refers to a readable file. If this is not the case, 0 is returned.
When an atomic write stream is requested, the backend will write the data in a temporary file before moving it to its final destination.
atomic | Request for an atomic file write when closing. |
Implements AbstractFSNode.
|
virtual |
Creates a directory referred by this node.
Implements AbstractFSNode.