#include <objectfactory.h>
|
template<class CreateType > |
static void | registerXMLName (const MBXMLUtils::FQN &name) |
|
template<class ContainerType > |
static boost::shared_ptr
< ContainerType > | create (const xercesc::DOMElement *element) |
|
template<class CreateType > |
static boost::shared_ptr
< CreateType > | create () |
|
template<class CreateType > |
static boost::shared_ptr
< CreateType > | create (const boost::shared_ptr< CreateType > &t) |
|
|
typedef boost::shared_ptr
< Object >(* | allocateFkt )() |
|
typedef std::multimap
< MBXMLUtils::FQN, allocateFkt > | Map |
|
typedef Map::iterator | MapIt |
|
|
static void | registerXMLName (const MBXMLUtils::FQN &name, allocateFkt alloc) |
|
static ObjectFactory & | instance () |
|
template<class CreateType > |
static boost::shared_ptr< Object > | allocate () |
|
template<class T > |
static void | deleter (T *t) |
|
A object factory. A object facroty which creates any object derived from Object.
template<class ContainerType >
static boost::shared_ptr<ContainerType> OpenMBV::ObjectFactory::create |
( |
const xercesc::DOMElement * |
element | ) |
|
|
inlinestatic |
Create an object corresponding to the XML element element and return a pointer of type ContainerType. Throws if the created object is not of type ContainerType. This function returns a new object dependent on the registration of the created object.
template<class CreateType >
static boost::shared_ptr<CreateType> OpenMBV::ObjectFactory::create |
( |
| ) |
|
|
inlinestatic |
Create an empty object of type CreateType.
template<class CreateType >
static boost::shared_ptr<CreateType> OpenMBV::ObjectFactory::create |
( |
const boost::shared_ptr< CreateType > & |
t | ) |
|
|
inlinestatic |
template<class CreateType >
static void OpenMBV::ObjectFactory::registerXMLName |
( |
const MBXMLUtils::FQN & |
name | ) |
|
|
inlinestatic |
Register the class CreateType which the XML element name name by the object factory. You should not use this function directly but see also the macro OPENMBV_OBJECTFACTORY_REGISTERXMLNAME.
The documentation for this class was generated from the following files:
- /home/mbsim/win64-dailyrelease/openmbv/openmbvcppinterface/openmbvcppinterface/objectfactory.h
- /home/mbsim/win64-dailyrelease/openmbv/openmbvcppinterface/openmbvcppinterface/objectfactory.cc