qCTKAbstractFactory< BaseClassType > Class Template Reference

#include <qCTKAbstractFactory.h>

Inheritance diagram for qCTKAbstractFactory< BaseClassType >:
qCTKAbstractLibraryFactory< BaseClassType, FactoryItemType > qCTKAbstractObjectFactory< BaseClassType > qCTKAbstractPluginFactory< BaseClassType, FactoryItemType > qCTKAbstractQObjectFactory< BaseClassType >

List of all members.

Public Member Functions

virtual BaseClassType * instantiate (const QString &itemKey)
QStringList names () const
virtual void printAdditionalInfo ()
 qCTKAbstractFactory ()
virtual void registerItems ()
void uninstantiate (const QString &itemKey)
virtual ~qCTKAbstractFactory ()

Protected Types

typedef QHash< QString,
QSharedPointer
< qCTKAbstractFactoryItem
< BaseClassType >
> >::const_iterator 
ConstIterator
typedef QHash< QString,
QSharedPointer
< qCTKAbstractFactoryItem
< BaseClassType >
> >::iterator 
Iterator

Protected Member Functions

qCTKAbstractFactoryItem
< BaseClassType > * 
item (const QString &itemKey) const
bool registerItem (const QSharedPointer< qCTKAbstractFactoryItem< BaseClassType > > &item)

Private Member Functions

void operator= (const qCTKAbstractFactory &)
 Not implemented.
 qCTKAbstractFactory (const qCTKAbstractFactory &)

Private Attributes

QHash< QString, QSharedPointer
< qCTKAbstractFactoryItem
< BaseClassType > > > 
RegisteredItemMap
 Not implemented.

template<typename BaseClassType>
class qCTKAbstractFactory< BaseClassType >


Member Typedef Documentation

template<typename BaseClassType>
typedef QHash<QString, QSharedPointer<qCTKAbstractFactoryItem<BaseClassType> > >::const_iterator qCTKAbstractFactory< BaseClassType >::ConstIterator [protected]
template<typename BaseClassType>
typedef QHash<QString, QSharedPointer<qCTKAbstractFactoryItem<BaseClassType> > >::iterator qCTKAbstractFactory< BaseClassType >::Iterator [protected]

Constructor & Destructor Documentation

template<typename BaseClassType>
qCTKAbstractFactory< BaseClassType >::qCTKAbstractFactory (  )  [explicit]

Constructor/Desctructor

template<typename BaseClassType>
virtual qCTKAbstractFactory< BaseClassType >::~qCTKAbstractFactory (  )  [virtual]
template<typename BaseClassType>
qCTKAbstractFactory< BaseClassType >::qCTKAbstractFactory ( const qCTKAbstractFactory< BaseClassType > &   )  [private]

Member Function Documentation

template<typename BaseClassType>
virtual BaseClassType* qCTKAbstractFactory< BaseClassType >::instantiate ( const QString itemKey  )  [virtual]
template<typename BaseClassType>
qCTKAbstractFactoryItem<BaseClassType>* qCTKAbstractFactory< BaseClassType >::item ( const QString itemKey  )  const [protected]

Get a Factory item given its itemKey. Return 0 if any.

template<typename BaseClassType>
QStringList qCTKAbstractFactory< BaseClassType >::names (  )  const

Get list of all registered item names

template<typename BaseClassType>
void qCTKAbstractFactory< BaseClassType >::operator= ( const qCTKAbstractFactory< BaseClassType > &   )  [private]
template<typename BaseClassType>
virtual void qCTKAbstractFactory< BaseClassType >::printAdditionalInfo (  )  [virtual]
template<typename BaseClassType>
bool qCTKAbstractFactory< BaseClassType >::registerItem ( const QSharedPointer< qCTKAbstractFactoryItem< BaseClassType > > &  item  )  [protected]

Call the load method associated with the item. If succesfully loaded, add it to the internal map.

template<typename BaseClassType>
virtual void qCTKAbstractFactory< BaseClassType >::registerItems (  )  [inline, virtual]

Register items with the factory Method provided for convenience - Should be overloaded in subclasse

Reimplemented in qSlicerCLIExecutableModuleFactory, qSlicerCLILoadableModuleFactory, qSlicerLoadableModuleFactory, and qSlicerCoreModuleFactory.

template<typename BaseClassType>
void qCTKAbstractFactory< BaseClassType >::uninstantiate ( const QString itemKey  ) 

Member Data Documentation

template<typename BaseClassType>
QHash<QString, QSharedPointer<qCTKAbstractFactoryItem<BaseClassType> > > qCTKAbstractFactory< BaseClassType >::RegisteredItemMap [private]

Not implemented.


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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1