OGRE: Ogre::ArchiveFactory Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Public Member Functions | List of all members
Ogre::ArchiveFactory Class Referenceabstract
Core » Resources

Abstract factory class, archive codec plugins can register concrete subclasses of this. More...

`#include <OgreArchiveFactory.h>`

Inheritance diagram for Ogre::ArchiveFactory:
[legend]

## Public Member Functions
virtual | ~ArchiveFactory ()
virtual void | convertPath (String &inOutPath) const
| Some implementations (i.e. More...
virtual Archive * | createInstance (const String &name)
| Creates a new object. More...
virtual Archive * | createInstance (const String &name, bool readOnly)=0
| Creates a new object. More...
virtual void | destroyInstance (Archive *ptr)=0
| Destroys an object which was created by this factory. More...
virtual const String & | getType () const=0
| Returns the factory type. More...
void | operator delete (void *ptr)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete (void *ptr, void *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz)
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...

## Detailed Description

Abstract factory class, archive codec plugins can register concrete subclasses of this.

Remarks
  All access to 'archives' (collections of files, compressed or just folders, maybe even remote) is managed via the abstract Archive class. Plugins are expected to provide the implementation for the actual codec itself, but because a subclass of Archive has to be created for every archive, a factory class is required to create the appropriate subclass.

  So archive plugins create a subclass of Archive AND a subclass of ArchiveFactory which creates instances of the Archive subclass. See the 'Zip' and 'FileSystem' plugins for examples. Each Archive and ArchiveFactory subclass pair deal with a single archive type (identified by a string).

## Constructor & Destructor Documentation

## ◆ ~ArchiveFactory()

virtual Ogre::ArchiveFactory::~ArchiveFactory | ( |  | ) |
| inlinevirtual

## Member Function Documentation

## ◆ convertPath()

virtual void Ogre::ArchiveFactory::convertPath | ( | String & | inOutPath | ) | const
| inlinevirtual

Some implementations (i.e.

APKFileSystemArchive) usually modify the filename. For example in APKFileSystemArchive, "/path/to/localfile.mesh" gets internally stored as "path/to/localfile.mesh" (no leading slash), but across the platform the leading slash is required. The ArchiveManager needs to be aware of this.

Parameters

  inOutPath | Given the input path, converts it to the final path.

Reimplemented in Ogre::APKZipArchiveFactory, and Ogre::APKFileSystemArchiveFactory.

## ◆ createInstance() [1/2]

virtual Archive* Ogre::ArchiveFactory::createInstance | ( | const String & | name | ) |
| inlinevirtual

Creates a new object.

Parameters

  name | Name of the object to create

Returns
  An object created by the factory. The type of the object depends on the factory.

Implements Ogre::FactoryObj< Archive >.

References createInstance().

Referenced by createInstance().

## ◆ createInstance() [2/2]

virtual Archive* Ogre::ArchiveFactory::createInstance | ( | const String & | name,
|  | bool | readOnly
| ) |  |
| pure virtual

Creates a new object.

Parameters

  name | Name of the object to create

Returns
  An object created by the factory. The type of the object depends on the factory.

Implemented in Ogre::EmbeddedZipArchiveFactory, Ogre::ZipArchiveFactory, Ogre::FileSystemArchiveFactory, Ogre::APKZipArchiveFactory, and Ogre::APKFileSystemArchiveFactory.

## ◆ destroyInstance()

virtual void Ogre::FactoryObj< Archive >::destroyInstance | ( | Archive * | ptr | ) |
| pure virtualinherited

Destroys an object which was created by this factory.

Parameters

  ptr | Pointer to the object to destroy

Implemented in Ogre::ZipArchiveFactory, Ogre::FileSystemArchiveFactory, and Ogre::APKFileSystemArchiveFactory.

## ◆ getType()

virtual const String& Ogre::FactoryObj< Archive >::getType | ( | void |  | ) | const
| pure virtualinherited

Returns the factory type.

Returns
  The factory type.

Implemented in Ogre::APKFileSystemArchiveFactory.

## ◆ operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |
| inlineinherited

## ◆ operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |
| inlineinherited

## ◆ operator delete[]() [1/2]

template<class Alloc >

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

## ◆ operator delete[]() [2/2]

template<class Alloc >

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

## ◆ operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |
| inlineinherited

## ◆ operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |
| inlineinherited

operator new, with debug line info

## ◆ operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |
| inlineinherited

placement operator new

## ◆ operator new[]() [1/2]

template<class Alloc >

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

## ◆ operator new[]() [2/2]

template<class Alloc >

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

array operator new, with debug line info

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

- OgreArchiveFactory.h