allow plugin to have descriptions

This commit is contained in:
Alfredo 2017-11-10 16:18:31 -03:00 committed by gladcow
parent e1244eb7ab
commit f3d961bb70
5 changed files with 15 additions and 1 deletions

View file

@ -56,7 +56,8 @@ namespace graphene { namespace app {
auto plug = std::make_shared<PluginType>();
plug->plugin_set_app(this);
boost::program_options::options_description plugin_cli_options("Options for plugin " + plug->plugin_name()), plugin_cfg_options;
boost::program_options::options_description plugin_cli_options(plug->plugin_name() + " plugin. " + plug->plugin_description() + "\nOptions"), plugin_cfg_options;
//boost::program_options::options_description plugin_cli_options("Options for plugin " + plug->plugin_name()), plugin_cfg_options;
plug->plugin_set_program_options(plugin_cli_options, plugin_cfg_options);
if( !plugin_cli_options.options().empty() )
_cli_options.add(plugin_cli_options);

View file

@ -35,6 +35,7 @@ class abstract_plugin
public:
virtual ~abstract_plugin(){}
virtual std::string plugin_name()const = 0;
virtual std::string plugin_description()const = 0;
/**
* @brief Perform early startup routines and register plugin indexes, callbacks, etc.
@ -100,6 +101,7 @@ class plugin : public abstract_plugin
virtual ~plugin() override;
virtual std::string plugin_name()const override;
virtual std::string plugin_description()const override;
virtual void plugin_initialize( const boost::program_options::variables_map& options ) override;
virtual void plugin_startup() override;
virtual void plugin_shutdown() override;

View file

@ -43,6 +43,11 @@ std::string plugin::plugin_name()const
return "<unknown plugin>";
}
std::string plugin::plugin_description()const
{
return "<no description>";
}
void plugin::plugin_initialize( const boost::program_options::variables_map& options )
{
return;

View file

@ -35,6 +35,7 @@ class snapshot_plugin : public graphene::app::plugin {
~snapshot_plugin() {}
std::string plugin_name()const override;
std::string plugin_description()const override;
virtual void plugin_set_program_options(
boost::program_options::options_description &command_line_options,

View file

@ -54,6 +54,11 @@ std::string snapshot_plugin::plugin_name()const
return "snapshot";
}
std::string snapshot_plugin::plugin_description()const
{
return "Create snapshots at a specified time or block number.";
}
void snapshot_plugin::plugin_initialize(const boost::program_options::variables_map& options)
{ try {
ilog("snapshot plugin: plugin_initialize() begin");