# Ogre::FileSystemArchive Class Reference

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

`#include <OgreFileSystem.h>`

Inheritance diagram for Ogre::FileSystemArchive:

List of all members.

## Public Member Functions

| FileSystemArchive (const String &name, const String &archType)
| ~FileSystemArchive ()
bool | isCaseSensitive (void) const
void | load ()

Remarks:
  This initializes all the internal data of the class.

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

void | unload ()

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

DataStreamPtr | open (const String &filename) const

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

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.

StringVectorPtr | list (bool recursive=true)

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)

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

FileInfoListPtr | listFileInfo (bool recursive=true)

Parameters:

  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)

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

StringVectorPtr | find (const String &pattern, bool recursive=true)

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)

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

FileInfoListPtr | findFileInfo (const String &pattern, bool recursive=true)

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)

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

bool | exists (const String &filename)
const String & | getName (void) const
| Get the name of this archive.
const String & | getType (void) const
| Return the type code of this Archive.

## Protected Types

typedef std::deque< String > | DirectoryStack
| Directory stack of previous directories.

## Protected Member Functions

void | findFiles (const String &pattern, bool recursive, StringVector *simpleList, FileInfoList *detailList, const String &currentDir="")
| Utility method to retrieve all files in a directory matching pattern.
void | changeDirectory (const String &dir) const
| Utility method to change the current directory.
void | pushDirectory (const String &dir) const
| Utility method to change directory and push the current directory onto a stack.
void | popDirectory (void) const
| Utility method to pop a previous directory off the stack and change to it.

## Protected Attributes

String | mBasePath
| Base path; actually the same as mName, but for clarity.
DirectoryStack | mDirectoryStack
char | mTmpPath [OGRE_MAX_PATH]
| temporary C-string to retrieve paths
String | mName
| Archive name.
String | mType
| Archive type code.

## Detailed Description

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

Definition at line 38 of file OgreFileSystem.h.

## Member Typedef Documentation

typedef std::deque<String> Ogre::FileSystemArchive::DirectoryStack `[protected]`

| Directory stack of previous directories. Definition at line 47 of file OgreFileSystem.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

void Ogre::FileSystemArchive::changeDirectory | ( | const String & | dir | ) | const`[protected]`

| Utility method to change the current directory.

bool Ogre::FileSystemArchive::exists | ( | const String & | filename | ) | `[virtual]`

| Implements Ogre::Archive.

StringVectorPtr Ogre::FileSystemArchive::find | ( | const String & | pattern,
|  | bool | recursive = true
| ) | `[virtual]`

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)

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

Implements Ogre::Archive.

FileInfoListPtr Ogre::FileSystemArchive::findFileInfo | ( | const String & | pattern,
|  | bool | recursive = true
| ) | `[virtual]`

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)

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

Implements Ogre::Archive.

void Ogre::FileSystemArchive::findFiles | ( | const String & | pattern,
|  | bool | recursive,
|  | StringVector * | simpleList,
|  | FileInfoList * | detailList,
|  | const String & | currentDir = ""
| ) | `[protected]`

Utility method to retrieve all files in a directory matching pattern.

Parameters:

  pattern | File pattern
  recursive | Whether to cascade down directories
  simpleList | Populated if retrieving a simple list
  detailList | Populated if retrieving a detailed list
  currentDir | The current directory relative to the base of the archive, for file naming

const String& Ogre::Archive::getName | ( | void |  | ) | const`[inherited]`

| Get the name of this archive. Definition at line 96 of file OgreArchive.h. References Ogre::String.

const String& Ogre::Archive::getType | ( | void |  | ) | const`[inherited]`

| Return the type code of this Archive. Definition at line 172 of file OgreArchive.h. References Ogre::String.

bool Ogre::FileSystemArchive::isCaseSensitive | ( | void |  | ) | const`[virtual]`

| Implements Ogre::Archive.

StringVectorPtr Ogre::FileSystemArchive::list | ( | bool | recursive = true | ) | `[virtual]`

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)

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

Implements Ogre::Archive.

FileInfoListPtr Ogre::FileSystemArchive::listFileInfo | ( | bool | recursive = true | ) | `[virtual]`

Parameters:

  recursive | Whether all paths of the archive are searched (if the archive has a concept of that)

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

Implements Ogre::Archive.

void Ogre::FileSystemArchive::load | ( |  | ) | `[virtual]`

Remarks:
  This initializes all the internal data of the class.

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

Implements Ogre::Archive.

DataStreamPtr Ogre::FileSystemArchive::open | ( | const String & | filename | ) | const`[virtual]`

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

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.

void Ogre::FileSystemArchive::popDirectory | ( | void |  | ) | const`[protected]`

| Utility method to pop a previous directory off the stack and change to it.

void Ogre::FileSystemArchive::pushDirectory | ( | const String & | dir | ) | const`[protected]`

| Utility method to change directory and push the current directory onto a stack.

void Ogre::FileSystemArchive::unload | ( |  | ) | `[virtual]`

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

Implements Ogre::Archive.

## Member Data Documentation

String Ogre::FileSystemArchive::mBasePath `[protected]`

| Base path; actually the same as mName, but for clarity. Definition at line 44 of file OgreFileSystem.h.

DirectoryStack Ogre::FileSystemArchive::mDirectoryStack `[mutable, protected]`

| Definition at line 48 of file OgreFileSystem.h.

String Ogre::Archive::mName `[protected, inherited]`

| Archive name. Definition at line 80 of file OgreArchive.h.

char Ogre::FileSystemArchive::mTmpPath[OGRE_MAX_PATH]`[mutable, protected]`

| temporary C-string to retrieve paths Definition at line 52 of file OgreFileSystem.h.

String Ogre::Archive::mType `[protected, inherited]`

| Archive type code. Definition at line 82 of file OgreArchive.h.

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

- OgreFileSystem.h

Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:36:41 2005