Ogre::ZipArchive Class Reference
[Resources]

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

List of all members.

Public Member Functions

 ZipArchive (const String &name, const String &archType, zzip_plugin_io_handlers *pluginIo=NULL)
 ~ZipArchive ()
bool isCaseSensitive (void) const
void load ()
void unload ()
DataStreamPtr open (const String &filename, bool readOnly=true) const
DataStreamPtr create (const String &filename) const
void remove (const String &filename) const
StringVectorPtr list (bool recursive=true, bool dirs=false)
FileInfoListPtr listFileInfo (bool recursive=true, bool dirs=false)
StringVectorPtr find (const String &pattern, bool recursive=true, bool dirs=false)
FileInfoListPtr findFileInfo (const String &pattern, bool recursive=true, bool dirs=false) const
bool exists (const String &filename)
time_t getModifiedTime (const String &filename)
const StringgetName (void) const
 Get the name of this archive.
virtual bool isReadOnly () const
 Reports whether this Archive is read-only, or whether the contents can be updated.
const StringgetType (void) const
 Return the type code of this Archive.
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

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).
zzip_plugin_io_handlersmPluginIo
 A pointer to file io alternative implementation.
String mName
 Archive name.
String mType
 Archive type code.
bool mReadOnly
 Read-only flag.

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


Constructor & Destructor Documentation

Ogre::ZipArchive::ZipArchive ( const String name,
const String archType,
zzip_plugin_io_handlers pluginIo = NULL 
)
Ogre::ZipArchive::~ZipArchive (  ) 

Member Function Documentation

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

Handle any errors from zzip.

DataStreamPtr Ogre::ZipArchive::create ( const String filename  )  const [virtual]

Create a new file (or overwrite one already there).

Note:
If the archive is read-only then this method will fail.
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.

Reimplemented from Ogre::Archive.

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

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

Implements Ogre::Archive.

StringVectorPtr Ogre::ZipArchive::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::ZipArchive::findFileInfo ( const String pattern,
bool  recursive = true,
bool  dirs = false 
) const [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.

time_t Ogre::ZipArchive::getModifiedTime ( const String filename  )  [virtual]

Retrieve the modification time of a given file.

Implements Ogre::Archive.

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

Get the name of this archive.

Definition at line 109 of file OgreArchive.h.

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

Return the type code of this Archive.

Definition at line 232 of file OgreArchive.h.

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

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

Implements Ogre::Archive.

Definition at line 72 of file OgreZip.h.

virtual bool Ogre::Archive::isReadOnly (  )  const [virtual, inherited]

Reports whether this Archive is read-only, or whether the contents can be updated.

Definition at line 133 of file OgreArchive.h.

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

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

Loads the archive.

Remarks:
This initializes all the internal data of the class.
Warning:
Do not call this function directly, it is meant to be used only by the ArchiveManager class.

Implements Ogre::Archive.

DataStreamPtr Ogre::ZipArchive::open ( const String filename,
bool  readOnly = true 
) 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
readOnly Whether to open the file in read-only mode or not (note, if the archive is read-only then this cannot be set to false)
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.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr  )  [inherited]

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr  )  [inherited]

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz  )  [inherited]

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz  )  [inherited]

Definition at line 90 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

void Ogre::ZipArchive::remove ( const String filename  )  const [virtual]

Delete a named file.

Remarks:
Not possible on read-only archives
Parameters:
filename The fully qualified name of the file

Reimplemented from Ogre::Archive.

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

Unloads the archive.

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

Implements Ogre::Archive.


Member Data Documentation

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

Definition at line 63 of file OgreZip.h.

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

Archive name.

Definition at line 91 of file OgreArchive.h.

A pointer to file io alternative implementation.

Definition at line 65 of file OgreZip.h.

bool Ogre::Archive::mReadOnly [protected, inherited]

Read-only flag.

Definition at line 95 of file OgreArchive.h.

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

Archive type code.

Definition at line 93 of file OgreArchive.h.

Handle to root zip file.

Definition at line 59 of file OgreZip.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:41:38 2012