OGRE-Next: Ogre::FileSystemArchive Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::FileSystemArchive Class Referencefinal
Core » Resources

Specialisation of the Archive class to allow reading of files from filesystem folders / directories. More...

`#include <OgreFileSystem.h>`

Inheritance diagram for Ogre::FileSystemArchive:
[legend]

## Public Member Functions
| FileSystemArchive (const String &name, const String &archType, bool readOnly)
| ~FileSystemArchive () override
DataStreamPtr | create (const String &filename) override
| Create a new file (or overwrite one already there).
bool | exists (const String &filename) override
| Find out if the named file exists (note: fully qualified filename required).
StringVectorPtr | find (const String &pattern, bool recursive=true, bool dirs=false) override
| Find all file or directory names matching a given pattern in this archive.
FileInfoListPtr | findFileInfo (const String &pattern, bool recursive=true, bool dirs=false) override
| Find all files or directories matching a given pattern in this archive and get some detailed information about them.
time_t | getModifiedTime (const String &filename) override
| Retrieve the modification time of a given file.
bool | isCaseSensitive () const override
| Returns whether this archive is case sensitive in the way it matches files.
StringVectorPtr | list (bool recursive=true, bool dirs=false) override
| List all file names in the archive.
FileInfoListPtr | listFileInfo (bool recursive=true, bool dirs=false) override
| List all files in the archive with accompanying information.
void | load () override
| Loads the archive.
DataStreamPtr | open (const String &filename, bool readOnly=true) override
| Open a stream on a given file.
void | remove (const String &filename) override
| Delete a named file.
void | unload () override
| Unloads the archive.
Public Member Functions inherited from Ogre::Archive
| Archive (const String &name, const String &archType)
| Constructor - don't call direct, used by ArchiveFactory.
virtual | ~Archive ()
| Default destructor.
const String & | getName () const
| Get the name of this archive.
const String & | getType () const
| Return the type code of this Archive.
virtual bool | isReadOnly () const
| Reports whether this Archive is read-only, or whether the contents can be updated.

## Static Public Member Functions
static bool | getIgnoreHidden ()
| Get whether hidden files are ignored during filesystem enumeration.
static void | setIgnoreHidden (bool ignore)
| Set whether filesystem enumeration will include hidden files or not.

## Static Public Attributes
static bool | msIgnoreHidden

## Detailed Description

Specialisation of the Archive class to allow reading of files from filesystem folders / directories.

## Constructor & Destructor Documentation

## ◆ FileSystemArchive()

Ogre::FileSystemArchive::FileSystemArchive | ( | const String & | name,
|  | const String & | archType,
|  | bool | readOnly )

## ◆ ~FileSystemArchive()

Ogre::FileSystemArchive::~FileSystemArchive | ( |  | ) |
| override

## Member Function Documentation

## ◆ create()

DataStreamPtr Ogre::FileSystemArchive::create | ( | const String & | filename | ) |
| overridevirtual

Create a new file (or overwrite one already there).

Note
  If the archive is read-only then this method will fail.

Parameters

  filename | The fully qualified name of the file

Returns
  A shared pointer to a DataStream which can be used to read / write the file.

Reimplemented from Ogre::Archive.

## ◆ exists()

bool Ogre::FileSystemArchive::exists | ( | const String & | filename | ) |
| overridevirtual

Find out if the named file exists (note: fully qualified filename required).

Implements Ogre::Archive.

## ◆ find()

StringVectorPtr Ogre::FileSystemArchive::find | ( | const String & | pattern,
|  | bool | recursive = true,
|  | bool | dirs = false )
| overridevirtual

Find all file or directory names matching a given pattern in this archive.

Note
  This method only returns filenames, you can also retrieve other information using findFileInfo.

Parameters

  pattern | The pattern to search for; wildcards (*) are allowed
  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)
  dirs | Set to true if you want the directories to be listed instead of files

Returns
  A list of filenames matching the criteria, all are fully qualified

Implements Ogre::Archive.

## ◆ findFileInfo()

FileInfoListPtr Ogre::FileSystemArchive::findFileInfo | ( | const String & | pattern,
|  | bool | recursive = true,
|  | bool | dirs = false )
| overridevirtual

Find all files or directories matching a given pattern in this archive and get some detailed information about them.

Parameters

  pattern | The pattern to search for; wildcards (*) are allowed
  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)
  dirs | Set to true if you want the directories to be listed instead of files

Returns
  A list of file information structures for all files matching the criteria.

Implements Ogre::Archive.

## ◆ getIgnoreHidden()

bool Ogre::FileSystemArchive::getIgnoreHidden | ( |  | ) |
| inlinestatic

Get whether hidden files are ignored during filesystem enumeration.

References msIgnoreHidden.

## ◆ getModifiedTime()

time_t Ogre::FileSystemArchive::getModifiedTime | ( | const String & | filename | ) |
| overridevirtual

Retrieve the modification time of a given file.

Implements Ogre::Archive.

## ◆ isCaseSensitive()

bool Ogre::FileSystemArchive::isCaseSensitive | ( |  | ) | const
| overridevirtual

Returns whether this archive is case sensitive in the way it matches files.

Implements Ogre::Archive.

## ◆ list()

StringVectorPtr Ogre::FileSystemArchive::list | ( | bool | recursive = true,
|  | bool | dirs = false )
| overridevirtual

List all file names in the archive.

Note
  This method only returns filenames, you can also retrieve other information using listFileInfo.

Parameters

  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)
  dirs | Set to true if you want the directories to be listed instead of files

Returns
  A list of filenames matching the criteria, all are fully qualified

Implements Ogre::Archive.

## ◆ listFileInfo()

FileInfoListPtr Ogre::FileSystemArchive::listFileInfo | ( | bool | recursive = true,
|  | bool | dirs = false )
| overridevirtual

List all files in the archive with accompanying information.

Parameters

  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)
  dirs | Set to true if you want the directories to be listed instead of files

Returns
  A list of structures detailing quite a lot of information about all the files in the archive.

Implements Ogre::Archive.

## ◆ load()

void Ogre::FileSystemArchive::load | ( |  | ) |
| overridevirtual

Loads the archive.

Remarks
  This initializes all the internal data of the class.

Warning
  Do not call this function directly, it is meant to be used only by the ArchiveManager class.

Implements Ogre::Archive.

## ◆ open()

DataStreamPtr Ogre::FileSystemArchive::open | ( | const String & | filename,
|  | bool | readOnly = true )
| overridevirtual

Open a stream on a given file.

Note
  There is no equivalent 'close' method; the returned stream controls the lifecycle of this file operation.

Parameters

  filename | The fully qualified name of the file
  readOnly | Whether to open the file in read-only mode or not (note, if the archive is read-only then this cannot be set to false)

Returns
  A shared pointer to a DataStream which can be used to read / write the file. If the file is not present, returns a null shared pointer.

Implements Ogre::Archive.

## ◆ remove()

void Ogre::FileSystemArchive::remove | ( | const String & | filename | ) |
| overridevirtual

Delete a named file.

Remarks
  Not possible on read-only archives

Parameters

  filename | The fully qualified name of the file

Reimplemented from Ogre::Archive.

## ◆ setIgnoreHidden()

void Ogre::FileSystemArchive::setIgnoreHidden | ( | bool | ignore | ) |
| inlinestatic

Set whether filesystem enumeration will include hidden files or not.

This should be called prior to declaring and/or initializing filesystem resource locations. The default is true (ignore hidden files).

References msIgnoreHidden.

## ◆ unload()

void Ogre::FileSystemArchive::unload | ( |  | ) |
| overridevirtual

Unloads the archive.

Warning
  Do not call this function directly, it is meant to be used only by the ArchiveManager class.

Implements Ogre::Archive.

## Member Data Documentation

## ◆ msIgnoreHidden

bool Ogre::FileSystemArchive::msIgnoreHidden
| static

Referenced by getIgnoreHidden(), and setIgnoreHidden().

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

- OgreFileSystem.h