#include <ObjectFactory.h>
Helper class used to register a class in the ObjectFactory. More...
Helper class used to register a class in the ObjectFactory.
This class accumulate information about a given class, as well as creators for each supported template instantiation, to register a new entry in the ObjectFactory.
It should be used as a temporary object, finalized when used to initialize an int static variable. For example :
Protected Attributes | |
| ObjectFactory::ClassEntry | entry |
| Class entry being constructed. More... | |
Public Member Functions | |
| ObjectRegistrationData (const std::string &description) | |
| Start the registration by giving the description of this class. More... | |
| ObjectRegistrationData & | addAlias (std::string val) |
| Add an alias name for this class. More... | |
| ObjectRegistrationData & | addDescription (std::string val) |
| Add more descriptive text about this class. More... | |
| ObjectRegistrationData & | addAuthor (std::string val) |
| Specify a list of authors (separated with spaces) More... | |
| ObjectRegistrationData & | addLicense (std::string val) |
| Specify a license (LGPL, GPL, ...) More... | |
| ObjectRegistrationData & | addDocumentationURL (std::string url) |
| Specify a documentation URL. More... | |
| ObjectRegistrationData & | addCreator (std::string classname, std::string templatename, ObjectFactory::Creator::SPtr creator) |
| template<class RealObject > | |
| ObjectRegistrationData & | add (bool defaultTemplate=false) |
| bool | commitTo (sofa::core::ObjectFactory *objectFactory) const |
| This is the final operation that will actually commit the additions to the ObjectFactory. More... | |
Friends | |
| class | RegisterObject |
|
protected |
Class entry being constructed.
|
explicit |
Start the registration by giving the description of this class.
|
inline |
Add a template instantiation of this class.
| defaultTemplate | set to true if this should be the default instance when no template name is given. |
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addAlias | ( | std::string | val | ) |
Add an alias name for this class.
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addAuthor | ( | std::string | val | ) |
Specify a list of authors (separated with spaces)
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addCreator | ( | std::string | classname, |
| std::string | templatename, | ||
| ObjectFactory::Creator::SPtr | creator | ||
| ) |
Add a creator able to instance this class with the given templatename.
See the add<RealObject>() method for an easy way to add a Creator.
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addDescription | ( | std::string | val | ) |
Add more descriptive text about this class.
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addDocumentationURL | ( | std::string | url | ) |
Specify a documentation URL.
| ObjectRegistrationData & sofa::core::ObjectRegistrationData::addLicense | ( | std::string | val | ) |
Specify a license (LGPL, GPL, ...)
| bool sofa::core::ObjectRegistrationData::commitTo | ( | sofa::core::ObjectFactory * | objectFactory | ) | const |
This is the final operation that will actually commit the additions to the ObjectFactory.
|
friend |