GlobalPlugin.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2019 CNRS-UM LIRMM, CNRS-AIST JRL, BIT
3  */
4 
5 #pragma once
6 
8 
9 namespace mc_control
10 {
11 
22 {
23  virtual ~GlobalPlugin() = default;
24 
34  {
36  bool should_run_before = true;
38  bool should_run_after = true;
41  bool should_always_run = true;
42  };
43 
49  virtual GlobalPluginConfiguration configuration() { return {}; }
50 
66  virtual void init(mc_control::MCGlobalController & controller, const mc_rtc::Configuration & config) = 0;
67 
75  virtual void reset(mc_control::MCGlobalController & controller) = 0;
76 
82  virtual void before(mc_control::MCGlobalController & controller) = 0;
83 
89  virtual void after(mc_control::MCGlobalController & controller) = 0;
90 };
91 
92 } // namespace mc_control
93 
94 #ifdef WIN32
95 # define GLOBAL_PLUGIN_API __declspec(dllexport)
96 #else
97 # if __GNUC__ >= 4
98 # define GLOBAL_PLUGIN_API __attribute__((visibility("default")))
99 # else
100 # define GLOBAL_PLUGIN_API
101 # endif
102 #endif
mc_rtc::Configuration
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
MC_CONTROL_DLLAPI
#define MC_CONTROL_DLLAPI
Definition: api.h:50
mc_control::GlobalPlugin::GlobalPluginConfiguration
Definition: GlobalPlugin.h:33
mc_control::MCGlobalController
Definition: mc_global_controller.h:22
mc_control::GlobalPlugin::configuration
virtual GlobalPluginConfiguration configuration()
Definition: GlobalPlugin.h:49
mc_control::GlobalPlugin
Definition: GlobalPlugin.h:21
mc_global_controller.h
mc_control
Definition: CompletionCriteria.h:10