Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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:

Ogre::FactoryObj< Archive > Ogre::FileSystemArchiveFactory Ogre::ZipArchiveFactory List of all members.

Public Member Functions

virtual const StringgetType () const =0
 Returns the factory type.

virtual ArchivecreateInstance (const String &name)=0
 Creates a new object.

virtual void destroyInstance (Archive *)=0
 Destroys an object which was created by this factory.


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 50 of file OgreArchiveFactory.h.


Member Function Documentation

virtual Archive * Ogre::FactoryObj< Archive >::createInstance const String name  )  [pure virtual, inherited]
 

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::FileSystemArchiveFactory, and Ogre::ZipArchiveFactory.

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

Destroys an object which was created by this factory.

Parameters:
ptr Pointer to the object to destroy

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

virtual const String& Ogre::FactoryObj< Archive >::getType void   )  const [pure virtual, inherited]
 

Returns the factory type.

Returns:
The factory type.

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


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:00:06 2006