PluginT< T > Class Template Reference

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...
 

Detailed Description

template<class T>
class gazebo::PluginT< T >

A class which all plugins must inherit from.

Member Typedef Documentation

◆ TPtr

typedef boost::shared_ptr<T> TPtr

plugin pointer type definition

Constructor & Destructor Documentation

◆ PluginT()

PluginT ( )
inline

Constructor.

◆ ~PluginT()

virtual ~PluginT ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Create()

static TPtr Create ( const std::string &  _filename,
const std::string &  _name 
)
inlinestatic

a class method that creates a plugin from a file name.

It locates the shared library and loads it dynamically.

Parameters
[in]_filenamethe path to the shared library.
[in]_nameshort name of the plugin
Returns
Shared Pointer to this class type

◆ GetFilename()

std::string GetFilename ( ) const
inline

Get the name of the handler.

◆ GetHandle()

std::string GetHandle ( ) const
inline

Get the short name of the handler.

◆ GetType()

PluginType GetType ( ) const
inline

Returns the type of the plugin.

Returns
type of the plugin

◆ LoadParam() [1/2]

void LoadParam ( const sdf::ElementPtr &  _sdf,
const std::string &  _name,
V &  _target,
_defaultValue = V() 
) const
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.

Parameters
[in]_sdfThe SDF element of the plugin.
[in]_nameName of a tag inside the SDF.
[out]_targetThe reference to store the param value to.
[in]_defaultValueThe default value.

◆ LoadParam() [2/2]

void LoadParam ( sdf::ElementPtr &  _sdf,
const std::string &  _name,
std::string &  _target,
const char *  _defaultValue 
) const
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.

Parameters
[in]_sdfThe SDF element of the plugin.
[in]_nameName of a tag inside the SDF.
[out]_targetThe reference to store the param value to.
[in]_defaultValueThe default value.

Member Data Documentation

◆ filename

std::string filename
protected

Path to the shared library file.

Referenced by PluginT< ModelPlugin >::Create(), and PluginT< ModelPlugin >::GetFilename().

◆ handleName

std::string handleName
protected

◆ type


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