2#include <boost/program_options.hpp> 
   11  explicit Plugin(std::shared_ptr<AppBase>& a) : 
_app(a) {}
 
   14  std::shared_ptr<AppBase> 
app()
 const { 
return _app.lock(); }
 
   16  virtual std::string 
name() 
const = 0;
 
   24  virtual void init(
const boost::program_options::variables_map& options) = 0;
 
   26  virtual void addOptions(boost::program_options::options_description& command_line_options) = 0;
 
   29  std::weak_ptr<AppBase> 
_app;
 
 
std::weak_ptr< AppBase > _app
Definition plugin.hpp:29
 
Plugin(std::shared_ptr< AppBase > &a)
Definition plugin.hpp:11
 
virtual void init(const boost::program_options::variables_map &options)=0
 
virtual ~Plugin()=default
 
virtual void addOptions(boost::program_options::options_description &command_line_options)=0
 
virtual std::string description() const =0
 
virtual std::string name() const =0
 
virtual void shutdown()=0
 
std::shared_ptr< AppBase > app() const
Definition plugin.hpp:14