Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | 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:

[legend]
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, bool dirs=false)
  | 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)
  | 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)
  | 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)
  | 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)
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 | checkZzipError (int zzipError, const String &operation) const
| Handle any errors from zzip.
## Protected Attributes
ZZIP_DIR * | mZzipDir
| 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 49 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`,
|  | bool | dirs = `false`
| ) | `[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)
  | 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::ZipArchive::findFileInfo | ( | const String & | pattern,
|  | bool | recursive = `true`,
|  | bool | dirs = `false`
| ) | `[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)
  | 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.

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.

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

| Implements Ogre::Archive. Definition at line 62 of file OgreZip.h.

StringVectorPtr Ogre::ZipArchive::list | ( | bool | recursive = `true`,
|  | bool | dirs = `false`
| ) | `[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)
  | 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::ZipArchive::listFileInfo | ( | bool | recursive = `true`,
|  | bool | dirs = `false`
| ) | `[virtual]`

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

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 57 of file OgreZip.h.

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.

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

| Handle to root zip file. Definition at line 53 of file OgreZip.h.

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

- OgreZip.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Thu Mar 6 09:49:49 2008