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

Ogre::ZipArchive Class Reference

Specialisation of the Archive class to allow reading of files from a zip format source archive. More...

#include <OgreZip.h>

Inheritance diagram for Ogre::ZipArchive:

Ogre::Archive List of all members.

Public Member Functions

 ZipArchive (const String &name, const String &archType)
 ~ZipArchive ()
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 StringgetName (void) const
 Get the name of this archive.

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


Protected Member Functions

void checkZzipError (int zzipError, const String &operation) const
 Handle any errors from zzip.


Protected Attributes

ZZIP_DIRmZzipDir
 Handle to root zip file.

FileInfoList mFileList
 File list (since zziplib seems to only allow scanning of dir tree once).

String mName
 Archive name.

String mType
 Archive type code.


Detailed Description

Specialisation of the Archive class to allow reading of files from a zip format source archive.

Remarks:
This archive format supports all archives compressed in the standard zip format, including iD pk3 files.

Definition at line 45 of file OgreZip.h.


Constructor & Destructor Documentation

Ogre::ZipArchive::ZipArchive const String name,
const String archType
 

Ogre::ZipArchive::~ZipArchive  ) 
 


Member Function Documentation

void Ogre::ZipArchive::checkZzipError int  zzipError,
const String operation
const [protected]
 

Handle any errors from zzip.

bool Ogre::ZipArchive::exists const String filename  )  [virtual]
 

Implements Ogre::Archive.

StringVectorPtr Ogre::ZipArchive::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::ZipArchive::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.

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::ZipArchive::isCaseSensitive void   )  const [virtual]
 

Implements Ogre::Archive.

Definition at line 58 of file OgreZip.h.

StringVectorPtr Ogre::ZipArchive::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::ZipArchive::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::ZipArchive::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::ZipArchive::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::ZipArchive::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

FileInfoList Ogre::ZipArchive::mFileList [protected]
 

File list (since zziplib seems to only allow scanning of dir tree once).

Definition at line 53 of file OgreZip.h.

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

Archive name.

Definition at line 80 of file OgreArchive.h.

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

Archive type code.

Definition at line 82 of file OgreArchive.h.

ZZIP_DIR* Ogre::ZipArchive::mZzipDir [protected]
 

Handle to root zip file.

Definition at line 49 of file OgreZip.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 Feb 12 13:05:05 2006