##

PluginT< T > Class Template Reference
Common

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 | ( |  | ) |

inline virtual

Destructor.

## Member Function Documentation

## Create()

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

inline static

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

It locates the shared library and loads it dynamically.

Parameters

  [in] | _filename | the path to the shared library.
  [in] | _name | short 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,
|  | V | _defaultValue = `V()`
| ) |  | const

inline protected

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

## LoadParam() [2/2]

void LoadParam | ( | sdf::ElementPtr & | _sdf,
|  | const std::string & | _name,
|  | std::string & | _target,
|  | const char * | _defaultValue
| ) |  | const

inline protected

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

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

Short name.

Referenced by PluginT< ModelPlugin >::GetHandle(), and PluginT< ModelPlugin >::LoadParam().

## type

PluginType type

protected

Type of plugin.

Referenced by PluginT< ModelPlugin >::GetType().

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

- Plugin.hh