Classes | Namespaces | Macros | Enumerations
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 "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"
Include dependency graph for Plugin.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gazebo::ModelPlugin
 A plugin with access to physics::Model. More...
 
class  gazebo::PluginT< T >
 A class which all plugins must inherit from. More...
 
class  gazebo::SensorPlugin
 A plugin with access to physics::Sensor. More...
 
class  gazebo::SystemPlugin
 A plugin loaded within the gzserver on startup. More...
 
class  gazebo::VisualPlugin
 A plugin loaded within the gzserver on startup. More...
 
class  gazebo::WorldPlugin
 A plugin with access to physics::World. 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  gazebo::PluginType {
  gazebo::WORLD_PLUGIN, gazebo::MODEL_PLUGIN, gazebo::SENSOR_PLUGIN, gazebo::SYSTEM_PLUGIN,
  gazebo::VISUAL_PLUGIN, gazebo::GUI_PLUGIN
}
 Used to specify the type of plugin. More...
 

Macro Definition Documentation

#define GZ_REGISTER_MODEL_PLUGIN (   classname)
Value:
extern "C" GZ_COMMON_VISIBLE gazebo::ModelPlugin *RegisterPlugin(); \
gazebo::ModelPlugin *RegisterPlugin() \
{\
return new classname();\
}
#define GZ_COMMON_VISIBLE
Definition: system.hh:84
A plugin with access to physics::Model.
Definition: Plugin.hh:245

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
#define GZ_REGISTER_SENSOR_PLUGIN (   classname)
Value:
extern "C" GZ_COMMON_VISIBLE gazebo::SensorPlugin *RegisterPlugin(); \
gazebo::SensorPlugin *RegisterPlugin() \
{\
return new classname();\
}
#define GZ_COMMON_VISIBLE
Definition: system.hh:84
A plugin with access to physics::Sensor.
Definition: Plugin.hh:274

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
#define GZ_REGISTER_SYSTEM_PLUGIN (   classname)
Value:
extern "C" GZ_COMMON_VISIBLE gazebo::SystemPlugin *RegisterPlugin(); \
GZ_COMMON_VISIBLE \
gazebo::SystemPlugin *RegisterPlugin() \
{\
return new classname();\
}
A plugin loaded within the gzserver on startup.
Definition: Plugin.hh:303
#define GZ_COMMON_VISIBLE
Definition: system.hh:84

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
#define GZ_REGISTER_VISUAL_PLUGIN (   classname)
Value:
extern "C" GZ_COMMON_VISIBLE gazebo::VisualPlugin *RegisterPlugin(); \
gazebo::VisualPlugin *RegisterPlugin() \
{\
return new classname();\
}
A plugin loaded within the gzserver on startup.
Definition: Plugin.hh:331
#define GZ_COMMON_VISIBLE
Definition: system.hh:84

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
#define GZ_REGISTER_WORLD_PLUGIN (   classname)
Value:
extern "C" GZ_COMMON_VISIBLE gazebo::WorldPlugin *RegisterPlugin(); \
gazebo::WorldPlugin *RegisterPlugin() \
{\
return new classname();\
}
A plugin with access to physics::World.
Definition: Plugin.hh:220
#define GZ_COMMON_VISIBLE
Definition: system.hh:84

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