A class which all plugins must inherit from. More...
#include <common/common.hh>
Public Types | |
typedef boost::shared_ptr< T > | TPtr |
plugin pointer type definition More... | |
Public Member Functions | |
PluginT () | |
Constructor. More... | |
virtual | ~PluginT () |
Destructor. More... | |
std::string | GetFilename () const |
Get the name of the handler. More... | |
std::string | GetHandle () const |
Get the short name of the handler. More... | |
PluginType | GetType () const |
Returns the type of the plugin. More... | |
Static Public Member Functions | |
static TPtr | Create (const std::string &_filename, const std::string &_name) |
a class method that creates a plugin from a file name. More... | |
Protected Member Functions | |
template<typename V > | |
void | LoadParam (const sdf::ElementPtr &_sdf, const std::string &_name, V &_target, V _defaultValue=V()) const |
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found. More... | |
void | LoadParam (sdf::ElementPtr &_sdf, const std::string &_name, std::string &_target, const char *_defaultValue) const |
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found. More... | |
Protected Attributes | |
std::string | filename |
Path to the shared library file. More... | |
std::string | handleName |
Short name. More... | |
PluginType | type |
Type of plugin. More... | |
A class which all plugins must inherit from.
typedef boost::shared_ptr<T> TPtr |
plugin pointer type definition
|
inline |
Constructor.
|
inlinevirtual |
Destructor.
|
inlinestatic |
a class method that creates a plugin from a file name.
It locates the shared library and loads it dynamically.
[in] | _filename | the path to the shared library. |
[in] | _name | short name of the plugin |
References PluginT< T >::filename, gzerr, and SingletonT< SystemPaths >::Instance().
|
inline |
Get the name of the handler.
References PluginT< T >::filename.
|
inline |
Get the short name of the handler.
References PluginT< T >::handleName.
|
inline |
|
inlineprotected |
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.
A message is written using gzmsg reporting whether the default value was used or not.
[in] | _sdf | The SDF element of the plugin. |
[in] | _name | Name of a tag inside the SDF. |
[out] | _target | The reference to store the param value to. |
[in] | _defaultValue | The default value. |
References gzmsg, and PluginT< T >::handleName.
|
inlineprotected |
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.
A message is written using gzmsg reporting whether the default value was used or not. String specialization to allow accepting const char* values for std::string parameters.
[in] | _sdf | The SDF element of the plugin. |
[in] | _name | Name of a tag inside the SDF. |
[out] | _target | The reference to store the param value to. |
[in] | _defaultValue | The default value. |
|
protected |
Path to the shared library file.
Referenced by PluginT< T >::Create(), and PluginT< T >::GetFilename().
|
protected |
Short name.
Referenced by PluginT< T >::GetHandle(), and PluginT< T >::LoadParam().
|
protected |
Type of plugin.
Referenced by PluginT< T >::GetType().