Scorum
|
#include <plugin.hpp>
Public Member Functions | |
virtual | ~abstract_plugin () |
virtual std::string | plugin_name () const =0 |
virtual void | plugin_initialize (const boost::program_options::variables_map &options)=0 |
Perform early startup routines and register plugin indexes, callbacks, etc. More... | |
virtual void | plugin_startup ()=0 |
Begin normal runtime operations. More... | |
virtual void | plugin_shutdown ()=0 |
Cleanly shut down the plugin. More... | |
virtual void | plugin_set_program_options (boost::program_options::options_description &command_line_options, boost::program_options::options_description &config_file_options)=0 |
Fill in command line parameters used by the plugin. More... | |
Definition at line 46 of file plugin.hpp.
|
inlinevirtual |
Definition at line 49 of file plugin.hpp.
|
pure virtual |
Perform early startup routines and register plugin indexes, callbacks, etc.
Plugins MUST supply a method initialize() which will be called early in the application startup. This method should contain early setup code such as initializing variables, adding indexes to the database, registering callback methods from the database, adding APIs, etc., as well as applying any options in the options map
This method is called BEFORE the database is open, therefore any routines which require any chain state MUST NOT be called by this method. These routines should be performed in startup() instead.
options | The options passed to the application, via configuration files or command line |
Implemented in scorum::witness::witness_plugin, scorum::tags::tags_plugin, scorum::plugin::raw_block::raw_block_plugin, scorum::plugin::debug_node::debug_node_plugin, scorum::blockchain_monitoring::blockchain_monitoring_plugin, scorum::blockchain_history::blockchain_history_plugin, scorum::plugin::block_info::block_info_plugin, scorum::plugin::auth_util::auth_util_plugin, scorum::account_statistics::account_statistics_plugin, scorum::account_by_key::account_by_key_plugin, and scorum::app::plugin.
|
pure virtual |
Implemented in scorum::witness::witness_plugin, scorum::tags::tags_plugin, scorum::plugin::raw_block::raw_block_plugin, scorum::plugin::debug_node::debug_node_plugin, scorum::blockchain_monitoring::blockchain_monitoring_plugin, scorum::blockchain_history::blockchain_history_plugin, scorum::plugin::block_info::block_info_plugin, scorum::plugin::auth_util::auth_util_plugin, scorum::account_statistics::account_statistics_plugin, scorum::account_by_key::account_by_key_plugin, and scorum::app::plugin.
|
pure virtual |
Fill in command line parameters used by the plugin.
command_line_options | All options this plugin supports taking on the command-line |
config_file_options | All options this plugin supports storing in a configuration file |
This method populates its arguments with any command-line and configuration file options the plugin supports. If a plugin does not need these options, it may simply provide an empty implementation of this method.
Implemented in scorum::witness::witness_plugin, scorum::app::plugin, scorum::tags::tags_plugin, scorum::plugin::debug_node::debug_node_plugin, scorum::blockchain_monitoring::blockchain_monitoring_plugin, scorum::blockchain_history::blockchain_history_plugin, scorum::account_statistics::account_statistics_plugin, and scorum::account_by_key::account_by_key_plugin.
|
pure virtual |
Cleanly shut down the plugin.
This is called to request a clean shutdown (e.g. due to SIGINT or SIGTERM).
Implemented in scorum::witness::witness_plugin, scorum::plugin::raw_block::raw_block_plugin, scorum::plugin::debug_node::debug_node_plugin, scorum::plugin::block_info::block_info_plugin, scorum::plugin::auth_util::auth_util_plugin, and scorum::app::plugin.
|
pure virtual |
Begin normal runtime operations.
Plugins MUST supply a method startup() which will be called at the end of application startup. This method should contain code which schedules any tasks, or requires chain state.
Implemented in scorum::witness::witness_plugin, scorum::tags::tags_plugin, scorum::plugin::raw_block::raw_block_plugin, scorum::plugin::debug_node::debug_node_plugin, scorum::blockchain_monitoring::blockchain_monitoring_plugin, scorum::blockchain_history::blockchain_history_plugin, scorum::plugin::block_info::block_info_plugin, scorum::plugin::auth_util::auth_util_plugin, scorum::account_statistics::account_statistics_plugin, scorum::account_by_key::account_by_key_plugin, and scorum::app::plugin.