ScummVM API documentation
FilesystemFactory Class Referenceabstract

#include <fs-factory.h>

Inheritance diagram for FilesystemFactory:
AmigaOSFilesystemFactory AndroidFilesystemFactory ChRootFilesystemFactory DrivesPOSIXFilesystemFactory KolibriOSFilesystemFactory LibRetroFilesystemFactory MorphOSFilesystemFactory N64FilesystemFactory OSystem_Dreamcast POSIXFilesystemFactory PSPFilesystemFactory RISCOSFilesystemFactory WiiFilesystemFactory WindowsFilesystemFactory

Public Member Functions

virtual ~FilesystemFactory ()
 
virtual AbstractFSNodemakeCurrentDirectoryFileNode () const =0
 
virtual AbstractFSNodemakeFileNodePath (const Common::String &path) const =0
 
virtual AbstractFSNodemakeRootFileNode () const =0
 
virtual Common::String getSystemFullPath (const Common::String &path) const
 

Detailed Description

Creates concrete FSNode objects depending on the current architecture.

Constructor & Destructor Documentation

◆ ~FilesystemFactory()

virtual FilesystemFactory::~FilesystemFactory ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ makeCurrentDirectoryFileNode()

virtual AbstractFSNode* FilesystemFactory::makeCurrentDirectoryFileNode ( ) const
pure virtual

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.

Implemented in OSystem_Dreamcast, DrivesPOSIXFilesystemFactory, WiiFilesystemFactory, AndroidFilesystemFactory, ChRootFilesystemFactory, PSPFilesystemFactory, AmigaOSFilesystemFactory, KolibriOSFilesystemFactory, MorphOSFilesystemFactory, POSIXFilesystemFactory, RISCOSFilesystemFactory, WindowsFilesystemFactory, and LibRetroFilesystemFactory.

◆ makeFileNodePath()

virtual AbstractFSNode* FilesystemFactory::makeFileNodePath ( const Common::String path) const
pure virtual

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.

Parameters
pathThe path string to create a FSNode for.

Implemented in OSystem_Dreamcast, DrivesPOSIXFilesystemFactory, WiiFilesystemFactory, AndroidFilesystemFactory, ChRootFilesystemFactory, PSPFilesystemFactory, AmigaOSFilesystemFactory, KolibriOSFilesystemFactory, MorphOSFilesystemFactory, POSIXFilesystemFactory, RISCOSFilesystemFactory, WindowsFilesystemFactory, and LibRetroFilesystemFactory.

◆ makeRootFileNode()

virtual AbstractFSNode* FilesystemFactory::makeRootFileNode ( ) const
pure virtual

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:).

Implemented in OSystem_Dreamcast, DrivesPOSIXFilesystemFactory, WiiFilesystemFactory, AndroidFilesystemFactory, ChRootFilesystemFactory, PSPFilesystemFactory, AmigaOSFilesystemFactory, KolibriOSFilesystemFactory, MorphOSFilesystemFactory, POSIXFilesystemFactory, RISCOSFilesystemFactory, WindowsFilesystemFactory, and LibRetroFilesystemFactory.

◆ getSystemFullPath()

virtual Common::String FilesystemFactory::getSystemFullPath ( const Common::String path) const
inlinevirtual

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 in ChRootFilesystemFactory.


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