ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

DrivesPOSIXFilesystemFactory Class Reference

A FilesystemFactory implementation for filesystems with a special top-level directory with hard-coded entries but that otherwise implement the POSIX APIs. More...

#include <posix-drives-fs-factory.h>

Inheritance diagram for DrivesPOSIXFilesystemFactory:
Collaboration diagram for DrivesPOSIXFilesystemFactory:

List of all members.

Public Member Functions

void addDrive (const Common::String &name)
 Add a drive to the top-level directory.
void configureBuffering (DrivePOSIXFilesystemNode::BufferingMode bufferingMode, uint32 bufferSize)
 Configure file stream buffering.

Protected Member Functions

AbstractFSNodemakeRootFileNode () const override
 Returns a special node representing the filesystem root.
AbstractFSNodemakeCurrentDirectoryFileNode () const override
 Returns a node representing the "current directory".
AbstractFSNodemakeFileNodePath (const Common::String &path) const override
 Construct a node based on a path; the path is in the same format as it would be for calls to fopen().

Private Attributes

DrivePOSIXFilesystemNode::Config _config

Detailed Description

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:

  • 'sdcard:/games/scummvm.ini'
  • 'hdd1:/usr/bin'

Definition at line 38 of file posix-drives-fs-factory.h.


Member Function Documentation

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.

Parameters:
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
AbstractFSNode* DrivesPOSIXFilesystemFactory::makeCurrentDirectoryFileNode (  )  const [override, protected, 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.

Implements FilesystemFactory.

AbstractFSNode* DrivesPOSIXFilesystemFactory::makeFileNodePath ( const Common::String path  )  const [override, protected, 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:
path The path string to create a FSNode for.

Implements FilesystemFactory.

AbstractFSNode* DrivesPOSIXFilesystemFactory::makeRootFileNode (  )  const [override, protected, 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:).

Implements FilesystemFactory.


Member Data Documentation


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


Generated on Sat Sep 19 2020 05:04:01 for ResidualVM by doxygen 1.7.1
curved edge   curved edge