$search
Node tools are available per product id. More...
#include <Plugin.h>
Public Types | |
typedef NodeToolInterface *(* | CreatorFunc )(NodeTab *node) |
A function which creates an instance of a node tool. | |
typedef int | ProductId |
A product ID from Aseba. | |
typedef QList< ProductId > | ProductIds |
A list of product IDs. | |
Public Member Functions | |
void | dump (std::ostream &stream) |
Print the list of registered classes to stream. | |
void | reg (const QString &name, const ProductId pid, const CreatorFunc func) |
Register a class with a name/a pid by storing a pointer to its constructor. | |
void | reg (const QString &name, const ProductIds &pid, const CreatorFunc func) |
Register a class with a name/a list of PIDs by storing a pointer to its constructor. | |
void | update (const QString &name, NodeTab *node, NodeToolInterfaces &tools) const |
Create tool list with one of a given name. | |
void | update (const ProductId pid, NodeTab *node, NodeToolInterfaces &tools) const |
Update tool list with onse for given pid. | |
Protected Types | |
typedef QPair< CreatorFunc, QString > | CreatorFuncNamePair |
typedef QMap< QString, CreatorFunc > | NamedCreatorMap |
typedef QMultiMap< ProductId, CreatorFuncNamePair > | PidCreatorMap |
Protected Attributes | |
NamedCreatorMap | namedCreators |
PidCreatorMap | pidCreators |
Node tools are available per product id.
Definition at line 98 of file Plugin.h.
typedef NodeToolInterface*(* Aseba::NodeToolRegistrar::CreatorFunc)(NodeTab *node) |
typedef QPair<CreatorFunc, QString> Aseba::NodeToolRegistrar::CreatorFuncNamePair [protected] |
typedef QMap<QString, CreatorFunc> Aseba::NodeToolRegistrar::NamedCreatorMap [protected] |
typedef QMultiMap<ProductId, CreatorFuncNamePair> Aseba::NodeToolRegistrar::PidCreatorMap [protected] |
typedef int Aseba::NodeToolRegistrar::ProductId |
typedef QList<ProductId> Aseba::NodeToolRegistrar::ProductIds |
PidCreatorMap Aseba::NodeToolRegistrar::pidCreators [protected] |