Logo Search packages:      
Sourcecode: scummvm version File versions  Download package

Common::FSNode Class Reference

#include <fs.h>

Inheritance diagram for Common::FSNode:

Common::ArchiveMember

List of all members.


Detailed Description

FSNode, short for "File System Node", provides an abstraction for file paths, allowing for portable file system browsing. This means for example, that multiple or single roots have to be supported (compare Unix with a single root, Windows with multiple roots C:, D:, ...).

To this end, we abstract away from paths; implementations can be based on paths (and it's left to them whether / or \ or : is the path separator :-); but it is also possible to use inodes or vrefs (MacOS 9) or anything else.

Definition at line 58 of file fs.h.


Public Types

enum  ListMode { kListFilesOnly = 1, kListDirectoriesOnly = 2, kListAll = 3 }

Public Member Functions

virtual SeekableReadStreamcreateReadStream () const
WriteStreamcreateWriteStream () const
bool exists () const
 FSNode (const String &path)
 FSNode ()
FSNode getChild (const String &name) const
bool getChildren (FSList &fslist, ListMode mode=kListDirectoriesOnly, bool hidden=false) const
virtual String getDisplayName () const
virtual String getName () const
FSNode getParent () const
String getPath () const
bool isDirectory () const
bool isReadable () const
bool isWritable () const
bool operator< (const FSNode &node) const

Private Member Functions

 FSNode (AbstractFSNode *realNode)

Private Attributes

SharedPtr< AbstractFSNode_realNode

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

Generated by  Doxygen 1.6.0   Back to index