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:
[legend]

List of all members.

Public Member Functions

 FileSystemArchive (const String &name, const String &archType)
 ~FileSystemArchive ()
bool isCaseSensitive (void) const
 Returns whether this archive is case sensitive in the way it matches files.
void load ()
 Loads the archive.

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 ()
 Unloads the archive.

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

DataStreamPtr open (const String &filename) const
 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
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, bool dirs=false)
 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

FileInfoListPtr listFileInfo (bool recursive=true, bool dirs=false)
 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.

StringVectorPtr find (const String &pattern, bool recursive=true, bool dirs=false)
 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

FileInfoListPtr findFileInfo (const String &pattern, bool recursive=true, bool dirs=false)
 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.

bool exists (const String &filename)
 Find out if the named file exists (note: fully qualified filename required).
const String & getName (void) const
 Get the name of this archive.
const String & getType (void) const
 Return the type code of this Archive.

Protected Member Functions

void findFiles (const String &pattern, bool recursive, bool dirs, StringVector *simpleList, FileInfoList *detailList)
 Utility method to retrieve all files in a directory matching pattern.

Protected Attributes

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 42 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::findFiles ( const String &  pattern,
bool  recursive,
bool  dirs,
StringVector *  simpleList,
FileInfoList *  detailList 
) [protected]

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

Parameters:
pattern File pattern
recursive Whether to cascade down directories
dirs Set to true if you want the directories to be listed instead of files
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

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

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

Implements Ogre::Archive.

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

Loads the archive.

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.

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

Unloads the archive.

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]

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

StringVectorPtr Ogre::FileSystemArchive::list ( bool  recursive = true,
bool  dirs = false 
) [virtual]

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.

FileInfoListPtr Ogre::FileSystemArchive::listFileInfo ( bool  recursive = true,
bool  dirs = false 
) [virtual]

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.

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

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.

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

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.

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

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

Implements Ogre::Archive.

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

Get the name of this archive.

Definition at line 100 of file OgreArchive.h.

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

Return the type code of this Archive.

Definition at line 186 of file OgreArchive.h.


Member Data Documentation

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

Archive name.

Definition at line 84 of file OgreArchive.h.

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

Archive type code.

Definition at line 86 of file OgreArchive.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Mon Jun 16 12:49:41 2008