##

Plugin.hh File Reference
`#include <unistd.h>`
`#include <sys/types.h>`
`#include <sys/stat.h>`
`#include <gazebo/gazebo_config.h>`
`#include <dlfcn.h>`
`#include <list>`
`#include <string>`
`#include <sdf/sdf.hh>`
`#include <boost/filesystem.hpp>`
`#include "gazebo/common/CommonTypes.hh"`
`#include "gazebo/common/SystemPaths.hh"`
`#include "gazebo/common/Console.hh"`
`#include "gazebo/common/Exception.hh"`
`#include "gazebo/physics/PhysicsTypes.hh"`
`#include "gazebo/sensors/SensorTypes.hh"`
`#include "gazebo/rendering/RenderTypes.hh"`
`#include "gazebo/util/system.hh"`

Go to the source code of this file.

## Classes

class | ModelPlugin
| A plugin with access to physics::Model. More...
class | PluginT< T >
| A class which all plugins must inherit from. More...
class | SensorPlugin
| A plugin with access to physics::Sensor. See reference. More...
class | SystemPlugin
| A plugin loaded within the gzserver on startup. More...
class | VisualPlugin
| A plugin with access to rendering::Visual. More...
class | WorldPlugin
| A plugin with access to physics::World. See reference. More...

## Namespaces

| gazebo
| Forward declarations for the common classes.

## Macros

#define | GZ_REGISTER_MODEL_PLUGIN(classname)
| Plugin registration function for model plugin. More...
#define | GZ_REGISTER_SENSOR_PLUGIN(classname)
| Plugin registration function for sensors. More...
#define | GZ_REGISTER_SYSTEM_PLUGIN(classname)
| Plugin registration function for system plugin. More...
#define | GZ_REGISTER_VISUAL_PLUGIN(classname)
| Plugin registration function for visual plugin. More...
#define | GZ_REGISTER_WORLD_PLUGIN(classname)
| Plugin registration function for world plugin. More...

## Enumerations

enum | PluginType { WORLD_PLUGIN, MODEL_PLUGIN, SENSOR_PLUGIN, SYSTEM_PLUGIN, VISUAL_PLUGIN, GUI_PLUGIN }
| Used to specify the type of plugin. More...

## Macro Definition Documentation

## GZ_REGISTER_MODEL_PLUGIN

#define GZ_REGISTER_MODEL_PLUGIN | ( |  | classname | ) |

Value:
extern "C" gazebo::ModelPlugin *RegisterPlugin(); \
gazebo::ModelPlugin *RegisterPlugin() \
{\
return new classname();\
}

Plugin registration function for model plugin.

Part of the shared object interface. This function is called when loading the shared library to add the plugin to the registered list.

Returns
  the name of the registered plugin

## GZ_REGISTER_SENSOR_PLUGIN

#define GZ_REGISTER_SENSOR_PLUGIN | ( |  | classname | ) |

Value:
extern "C" gazebo::SensorPlugin *RegisterPlugin(); \
gazebo::SensorPlugin *RegisterPlugin() \
{\
return new classname();\
}

Plugin registration function for sensors.

Part of the shared object interface. This function is called when loading the shared library to add the plugin to the registered list.

Returns
  the name of the registered plugin

## GZ_REGISTER_SYSTEM_PLUGIN

#define GZ_REGISTER_SYSTEM_PLUGIN | ( |  | classname | ) |

Value:
extern "C" gazebo::SystemPlugin *RegisterPlugin(); \
gazebo::SystemPlugin *RegisterPlugin() \
{\
return new classname();\
}

Plugin registration function for system plugin.

Part of the shared object interface. This function is called when loading the shared library to add the plugin to the registered list.

Returns
  the name of the registered plugin

## GZ_REGISTER_VISUAL_PLUGIN

#define GZ_REGISTER_VISUAL_PLUGIN | ( |  | classname | ) |

Value:
extern "C" gazebo::VisualPlugin *RegisterPlugin(); \
gazebo::VisualPlugin *RegisterPlugin() \
{\
return new classname();\
}

Plugin registration function for visual plugin.

Part of the shared object interface. This function is called when loading the shared library to add the plugin to the registered list.

Returns
  the name of the registered plugin

## GZ_REGISTER_WORLD_PLUGIN

#define GZ_REGISTER_WORLD_PLUGIN | ( |  | classname | ) |

Value:
extern "C" gazebo::WorldPlugin *RegisterPlugin(); \
gazebo::WorldPlugin *RegisterPlugin() \
{\
return new classname();\
}

Plugin registration function for world plugin.

Part of the shared object interface. This function is called when loading the shared library to add the plugin to the registered list.

Returns
  the name of the registered plugin

gazebo::WorldPlugin
A plugin with access to physics::World. See reference.
Definition: Plugin.hh:278
gazebo::SensorPlugin
A plugin with access to physics::Sensor. See reference.
Definition: Plugin.hh:332
gazebo::VisualPlugin
A plugin with access to rendering::Visual.
Definition: Plugin.hh:389
gazebo::SystemPlugin
A plugin loaded within the gzserver on startup.
Definition: Plugin.hh:361
gazebo::ModelPlugin
A plugin with access to physics::Model.
Definition: Plugin.hh:303