Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
FactoryHolder< T, Key > Class Template Referenceabstract

#include <FactoryHolder.h>

Public Types

typedef ObjectRegistry< FactoryHolder< T, Key >, Key > FactoryHolderRegistry
typedef Skyfire::Singleton< FactoryHolderRegistry, Skyfire::NullMutexFactoryHolderRepository

Public Member Functions

virtual T * Create (void *data=NULL) const =0
 Abstract Factory create method.
void DeregisterSelf (void)
 FactoryHolder (Key k)
Key key () const
void RegisterSelf (void)
virtual ~FactoryHolder ()

Private Attributes

Key i_key

Friends

class Skyfire::Singleton< FactoryHolderRegistry, Skyfire::NullMutex >

Detailed Description

template<class T, class Key = std::string>
class FactoryHolder< T, Key >

FactoryHolder holds a factory object of a specific type

Definition at line 17 of file FactoryHolder.h.

Member Typedef Documentation

◆ FactoryHolderRegistry

template<class T, class Key = std::string>
typedef ObjectRegistry<FactoryHolder<T, Key >, Key > FactoryHolder< T, Key >::FactoryHolderRegistry

Definition at line 20 of file FactoryHolder.h.

◆ FactoryHolderRepository

template<class T, class Key = std::string>
typedef Skyfire::Singleton<FactoryHolderRegistry, Skyfire::NullMutex> FactoryHolder< T, Key >::FactoryHolderRepository

Definition at line 22 of file FactoryHolder.h.

Constructor & Destructor Documentation

◆ FactoryHolder()

template<class T, class Key = std::string>
FactoryHolder< T, Key >::FactoryHolder ( Key k)
inline

Definition at line 24 of file FactoryHolder.h.

◆ ~FactoryHolder()

template<class T, class Key = std::string>
virtual FactoryHolder< T, Key >::~FactoryHolder ( )
inlinevirtual

Definition at line 25 of file FactoryHolder.h.

Member Function Documentation

◆ Create()

template<class T, class Key = std::string>
virtual T * FactoryHolder< T, Key >::Create ( void * data = NULL) const
pure virtual

◆ DeregisterSelf()

template<class T, class Key = std::string>
void FactoryHolder< T, Key >::DeregisterSelf ( void )
inline

Definition at line 29 of file FactoryHolder.h.

◆ key()

template<class T, class Key = std::string>
Key FactoryHolder< T, Key >::key ( ) const
inline

◆ RegisterSelf()

template<class T, class Key = std::string>
void FactoryHolder< T, Key >::RegisterSelf ( void )
inline

Definition at line 28 of file FactoryHolder.h.

◆ Skyfire::Singleton< FactoryHolderRegistry, Skyfire::NullMutex >

template<class T, class Key = std::string>
friend class Skyfire::Singleton< FactoryHolderRegistry, Skyfire::NullMutex >
friend

Definition at line 20 of file FactoryHolder.h.

Member Data Documentation

◆ i_key

template<class T, class Key = std::string>
Key FactoryHolder< T, Key >::i_key
private

Definition at line 34 of file FactoryHolder.h.


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