# Ogre::Archive Class Reference

Archive-handling class. More...

`#include <OgreArchive.h>`

Inheritance diagram for Ogre::Archive:

[legend]

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 String & | getName (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, bool dirs=false)=0
| List all file names in the archive.
virtual FileInfoListPtr | listFileInfo (bool recursive=true, bool dirs=false)=0
| List all files in the archive with accompanying information.
virtual StringVectorPtr | find (const String &pattern, bool recursive=true, bool dirs=false)=0
| Find all file or directory 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 time_t | getModifiedTime (const String &filename)=0
| Retrieve the modification time of a given file.
virtual FileInfoListPtr | findFileInfo (const String &pattern, bool recursive=true, bool dirs=false)=0
| Find all files or directories matching a given pattern in this archive and get some detailed information about them.
const String & | getType (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 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 81 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 93 of file OgreArchive.h.

virtual Ogre::Archive::~Archive | ( |  | ) | `[virtual]`

Default destructor.

Definition at line 98 of file OgreArchive.h.

## Member Function Documentation

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

Get the name of this archive.

Definition at line 101 of file OgreArchive.h.

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 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 meant to be used only by the ArchiveManager class.

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 meant 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 StringVectorPtr Ogre::Archive::list | ( | bool | recursive = `true`,
|  | bool | dirs = `false` |
| ) |  |  | `[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)
  | 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

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

virtual FileInfoListPtr Ogre::Archive::listFileInfo | ( | bool | recursive = `true`,
|  | bool | dirs = `false` |
| ) |  |  | `[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)
  | 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.

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

virtual StringVectorPtr Ogre::Archive::find | ( | const String & | pattern,
|  | bool | recursive = `true`,
|  | bool | dirs = `false` |
| ) |  |  | `[pure 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

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

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 time_t Ogre::Archive::getModifiedTime | ( | const String & | filename | ) | `[pure virtual]`

Retrieve the modification time of a given file.

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

virtual FileInfoListPtr Ogre::Archive::findFileInfo | ( | const String & | pattern,
|  | bool | recursive = `true`,
|  | bool | dirs = `false` |
| ) |  |  | `[pure 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.

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

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

Return the type code of this Archive.

Definition at line 191 of file OgreArchive.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 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 67 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 73 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 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[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 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

String Ogre::Archive::mName `[protected]`

Archive name.

Definition at line 85 of file OgreArchive.h.

String Ogre::Archive::mType `[protected]`

Archive type code.

Definition at line 87 of file OgreArchive.h.

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

- OgreArchive.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Dec 27 17:31:34 2009