Public Member Functions
Ogre::ArchiveFactory Class Reference

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

#include <OgreArchiveFactory.h>

Inheritance diagram for Ogre::ArchiveFactory:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~ArchiveFactory ()
virtual ArchivecreateInstance (const String &name, bool readOnly)=0
 Creates a new object.
virtual ArchivecreateInstance (const String &name)
 Creates a new object.
virtual void destroyInstance (Archive *ptr)=0
 Destroys an object which was created by this factory.
virtual const StringgetType () const =0
 Returns the factory type.
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 *)
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)

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

Definition at line 59 of file OgreArchiveFactory.h.


Constructor & Destructor Documentation

Definition at line 62 of file OgreArchiveFactory.h.


Member Function Documentation

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

Creates a new object.

Parameters:
nameName 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::FileSystemArchiveFactory, Ogre::ZipArchiveFactory, Ogre::APKFileSystemArchiveFactory, and Ogre::APKZipArchiveFactory.

virtual Archive* Ogre::ArchiveFactory::createInstance ( const String name) [virtual]

Creates a new object.

Parameters:
nameName 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 >.

Definition at line 71 of file OgreArchiveFactory.h.

References createInstance().

Referenced by createInstance().

virtual void Ogre::FactoryObj< Archive >::destroyInstance ( Archive ptr) [pure virtual, inherited]

Destroys an object which was created by this factory.

Parameters:
ptrPointer to the object to destroy

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

virtual const String& Ogre::FactoryObj< Archive >::getType ( void  ) const [pure virtual, inherited]
template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr) [inherited]

Definition at line 96 of file OgreMemoryAllocatedObject.h.

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 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 68 of file OgreMemoryAllocatedObject.h.

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

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

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

Definition at line 91 of file OgreMemoryAllocatedObject.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 Mon Jul 27 2020 13:40:51