ed
plugin.h
Go to the documentation of this file.
1 #ifndef ED_PLUGIN_H_
2 #define ED_PLUGIN_H_
3 
4 #include <pluginlib/class_list_macros.h>
5 #define ED_REGISTER_PLUGIN(Derived) PLUGINLIB_EXPORT_CLASS(Derived, ed::Plugin)
6 
8 
9 #include "ed/types.h"
10 #include "ed/init_data.h"
11 
12 #include <tf2_ros/buffer.h>
13 
14 #include <vector>
15 
16 
17 namespace ed {
18 
20 {
22  : world(world_), deltas(deltas_) {}
23 
24  const WorldModel& world;
26 };
27 
28 class Plugin
29 {
30 
31  friend class PluginContainer;
32 
33 public:
34 
35  virtual ~Plugin() {}
36 
37  // Old
38  virtual void configure(tue::Configuration /*config*/) {}
39  virtual void initialize() {}
40  virtual void process(const WorldModel& /*world*/, UpdateRequest& /*req*/) {}
41 
42  // New
43  virtual void initialize(InitData& /*init*/) {}
44  virtual void process(const PluginInput& /*data*/, UpdateRequest& /*req*/) {}
45 
46  const std::string& name() const { return name_; }
47 
48 protected:
49 
51 
52 private:
53 
55 
56 };
57 
58 }
59 
60 #endif
ed::Plugin
Definition: plugin.h:28
ed::Plugin::process
virtual void process(const PluginInput &, UpdateRequest &)
Definition: plugin.h:44
ed::WorldModel
Definition: world_model.h:21
ed::UpdateRequest
Definition: update_request.h:24
std::string
ed::TFBufferConstPtr
shared_ptr< const tf2_ros::Buffer > TFBufferConstPtr
Definition: types.h:84
types.h
vector
ed::PluginInput::deltas
const std::vector< UpdateRequestConstPtr > & deltas
Definition: plugin.h:25
ed::Plugin::configure
virtual void configure(tue::Configuration)
Definition: plugin.h:38
ed::InitData
Definition: init_data.h:12
tue::config::ReaderWriter
ed::Plugin::initialize
virtual void initialize(InitData &)
Definition: plugin.h:43
ed::Plugin::tf_buffer_
TFBufferConstPtr tf_buffer_
Definition: plugin.h:50
ed::Plugin::process
virtual void process(const WorldModel &, UpdateRequest &)
Definition: plugin.h:40
ed::Plugin::name_
std::string name_
Definition: plugin.h:54
ed::PluginInput
Definition: plugin.h:19
init_data.h
ed::Plugin::~Plugin
virtual ~Plugin()
Definition: plugin.h:35
ed::PluginContainer
Definition: plugin_container.h:25
configuration.h
ed::PluginInput::world
const WorldModel & world
Definition: plugin.h:24
ed
Definition: convex_hull.h:8
ed::Plugin::name
const std::string & name() const
Definition: plugin.h:46
ed::Plugin::initialize
virtual void initialize()
Definition: plugin.h:39
ed::PluginInput::PluginInput
PluginInput(const WorldModel &world_, const std::vector< UpdateRequestConstPtr > &deltas_)
Definition: plugin.h:21