Loading...
Searching...
No Matches
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 ()
Archive * | createInstance (const String &name) override
| Creates a new object.
virtual Archive * | createInstance (const String &name, bool readOnly)=0
| Creates a new object.
Public Member Functions inherited from Ogre::FactoryObj< Archive >
virtual | ~FactoryObj ()
virtual void | destroyInstance (Archive *ptr)
| Destroys an object which was created by this factory.
virtual const String & | getType () const=0
| Returns the factory type.

## Detailed Description

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

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

inline virtual

## Member Function Documentation

## createInstance() [1/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
  readOnly | whether the Archive is read only

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

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

References OGRE_NODISCARD.

Referenced by Ogre::EmbeddedZipArchiveFactory::getType(), Ogre::FileSystemArchiveFactory::getType(), and Ogre::ZipArchiveFactory::getType().

## createInstance() [2/2]

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

inline override 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.

Implements Ogre::FactoryObj< Archive >.

References createInstance(), and OGRE_NODISCARD.

Referenced by createInstance().

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

- OgreArchiveFactory.h