Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::Archive Class Reference

Archive-handling class. More...

#include <OgreArchive.h>

Inheritance diagram for Ogre::Archive:

Ogre::FileSystemArchive Ogre::ZipArchive List of all members.

Public Member Functions

 Archive (const String &name, const String &archType)
 Constructor - don't call direct, used by ArchiveFactory.

virtual ~Archive ()
 Default destructor.

const StringgetName (void) const
 Get the name of this archive.

virtual bool isCaseSensitive (void) const=0
 Returns whether this archive is case sensitive in the way it matches files.

virtual void load ()=0
 Loads the archive.

virtual void unload ()=0
 Unloads the archive.

virtual DataStreamPtr open (const String &filename) const=0
 Open a stream on a given file.

virtual StringVectorPtr list (bool recursive=true)=0
 List all file names in the archive.

virtual FileInfoListPtr listFileInfo (bool recursive=true)=0
 List all files in the archive with accompanying information.

virtual StringVectorPtr find (const String &pattern, bool recursive=true)=0
 Find all file names matching a given pattern in this archive.

virtual bool exists (const String &filename)=0
 Find out if the named file exists (note: fully qualified filename required).

virtual FileInfoListPtr findFileInfo (const String &pattern, bool recursive=true)=0
 Find all files matching a given pattern in this archive and get some detailed information about them.

const StringgetType (void) const
 Return the type code of this Archive.


Protected Attributes

String mName
 Archive name.

String mType
 Archive type code.


Detailed Description

Archive-handling class.

Remarks:
An archive is a generic term for a container of files. This may be a filesystem folder, it may be a compressed archive, it may even be a remote location shared on the web. This class is designed to be subclassed to provide access to a range of file locations.
Instances of this class are never constructed or even handled by end-user applications. They are constructed by custom ArchiveFactory classes, which plugins can register new instances of using ArchiveManager. End-user applications will typically use ResourceManager or ResourceGroupManager to manage resources at a higher level, rather than reading files directly through this class. Doing it this way allows you to benefit from OGRE's automatic searching of multiple file locations for the resources you are looking for.

Definition at line 76 of file OgreArchive.h.


Constructor & Destructor Documentation

Ogre::Archive::Archive const String name,
const String archType
 

Constructor - don't call direct, used by ArchiveFactory.

Definition at line 88 of file OgreArchive.h.

References Ogre::String.

virtual Ogre::Archive::~Archive  )  [virtual]
 

Default destructor.

Definition at line 93 of file OgreArchive.h.


Member Function Documentation

virtual bool Ogre::Archive::exists const String filename  )  [pure virtual]
 

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

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual StringVectorPtr Ogre::Archive::find const String pattern,
bool  recursive = true
[pure virtual]
 

Find all file 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)
Returns:
A list of filenames matching the criteria, all are fully qualified

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual FileInfoListPtr Ogre::Archive::findFileInfo const String pattern,
bool  recursive = true
[pure virtual]
 

Find all files 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)
Returns:
A list of file information structures for all files matching the criteria.

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

const String& Ogre::Archive::getName void   )  const
 

Get the name of this archive.

Definition at line 96 of file OgreArchive.h.

References Ogre::String.

const String& Ogre::Archive::getType void   )  const
 

Return the type code of this Archive.

Definition at line 172 of file OgreArchive.h.

References Ogre::String.

virtual bool Ogre::Archive::isCaseSensitive void   )  const [pure virtual]
 

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

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual StringVectorPtr Ogre::Archive::list bool  recursive = true  )  [pure 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)
Returns:
A list of filenames matching the criteria, all are fully qualified

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual FileInfoListPtr Ogre::Archive::listFileInfo bool  recursive = true  )  [pure 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)
Returns:
A list of structures detailing quite a lot of information about all the files in the archive.

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual void Ogre::Archive::load  )  [pure 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.

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual DataStreamPtr Ogre::Archive::open const String filename  )  const [pure 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.

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.

virtual void Ogre::Archive::unload  )  [pure virtual]
 

Unloads the archive.

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

Implemented in Ogre::FileSystemArchive, and Ogre::ZipArchive.


Member Data Documentation

String Ogre::Archive::mName [protected]
 

Archive name.

Definition at line 80 of file OgreArchive.h.

String Ogre::Archive::mType [protected]
 

Archive type code.

Definition at line 82 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 Sun Mar 12 14:38:06 2006