Logo Search packages:      
Sourcecode: scummvm version File versions

Public Types | Public Member Functions | Private Member Functions | Private Attributes

Common::FSNode Class Reference

#include <fs.h>

Inheritance diagram for Common::FSNode:
Inheritance graph
Collaboration diagram for Common::FSNode:
Collaboration graph

List of all members.

Public Types

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

Public Member Functions

virtual SeekableReadStreamcreateReadStream () const
WriteStreamcreateWriteStream () const
bool exists () const
 FSNode ()
 FSNode (const String &path)
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

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 60 of file fs.h.

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

Generated by  Doxygen 1.6.0   Back to index