Golos
Разработчикам Статистика Баунти Документация Партнеры Github
Public Member Functions | Protected Member Functions | List of all members
golos::application::plugin Class Reference

#include <plugin.hpp>

Inheritance diagram for golos::application::plugin:
golos::application::abstract_plugin golos::account_by_key::account_by_key_plugin golos::account_history::account_history_plugin golos::account_statistics::account_statistics_plugin golos::blockchain_statistics::blockchain_statistics_plugin golos::delayed_node::delayed_node_plugin golos::follow::follow_plugin golos::languages::languages_plugin golos::market_history::market_history_plugin golos::plugin::auth_util::auth_util_plugin golos::plugin::block_info::block_info_plugin golos::plugin::debug_node::debug_node_plugin golos::plugin::raw_block::raw_block_plugin golos::plugin::snapshot::snapshot_plugin golos::private_message::private_message_plugin golos::tags::tags_plugin golos::witness_plugin::witness_plugin

Public Member Functions

 plugin (application *app)
 
virtual ~plugin () override
 
virtual std::string plugin_name () const override
 
virtual void plugin_initialize (const boost::program_options::variables_map &options) override
 Perform early startup routines and register plugin indexes, callbacks, etc. More...
 
virtual void plugin_startup () override
 Begin normal runtime operations. More...
 
virtual void plugin_shutdown () override
 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) override
 Fill in command line parameters used by the plugin. More...
 
chain::databasedatabase ()
 
applicationapp () const
 
- Public Member Functions inherited from golos::application::abstract_plugin
virtual ~abstract_plugin ()
 

Protected Member Functions

network::node & p2p_node ()
 

Detailed Description

Provides basic default implementations of abstract_plugin functions.

Definition at line 79 of file plugin.hpp.

Constructor & Destructor Documentation

◆ plugin()

golos::application::plugin::plugin ( application app)

Definition at line 30 of file plugin.cpp.

◆ ~plugin()

golos::application::plugin::~plugin ( )
overridevirtual

Definition at line 34 of file plugin.cpp.

Member Function Documentation

◆ app()

application& golos::application::plugin::app ( ) const
inline

Definition at line 102 of file plugin.hpp.

◆ database()

chain::database& golos::application::plugin::database ( )
inline

Definition at line 98 of file plugin.hpp.

◆ p2p_node()

network::node& golos::application::plugin::p2p_node ( )
inlineprotected

Definition at line 108 of file plugin.hpp.

◆ plugin_initialize()

void golos::application::plugin::plugin_initialize ( const boost::program_options::variables_map &  options)
overridevirtual

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.

Parameters
optionsThe options passed to the application, via configuration files or command line

Implements golos::application::abstract_plugin.

Reimplemented in golos::tags::tags_plugin, golos::languages::languages_plugin, golos::private_message::private_message_plugin, golos::account_statistics::account_statistics_plugin, golos::account_history::account_history_plugin, golos::witness_plugin::witness_plugin, golos::plugin::debug_node::debug_node_plugin, golos::blockchain_statistics::blockchain_statistics_plugin, golos::delayed_node::delayed_node_plugin, golos::market_history::market_history_plugin, golos::plugin::snapshot::snapshot_plugin, golos::plugin::block_info::block_info_plugin, golos::follow::follow_plugin, golos::account_by_key::account_by_key_plugin, golos::plugin::auth_util::auth_util_plugin, and golos::plugin::raw_block::raw_block_plugin.

Definition at line 42 of file plugin.cpp.

◆ plugin_name()

std::string golos::application::plugin::plugin_name ( ) const
overridevirtual

◆ plugin_set_program_options()

void golos::application::plugin::plugin_set_program_options ( boost::program_options::options_description &  command_line_options,
boost::program_options::options_description &  config_file_options 
)
overridevirtual

Fill in command line parameters used by the plugin.

Parameters
command_line_optionsAll options this plugin supports taking on the command-line
config_file_optionsAll 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.

Implements golos::application::abstract_plugin.

Reimplemented in golos::tags::tags_plugin, golos::languages::languages_plugin, golos::private_message::private_message_plugin, golos::account_statistics::account_statistics_plugin, golos::account_history::account_history_plugin, golos::plugin::debug_node::debug_node_plugin, golos::blockchain_statistics::blockchain_statistics_plugin, golos::witness_plugin::witness_plugin, golos::delayed_node::delayed_node_plugin, golos::plugin::snapshot::snapshot_plugin, golos::market_history::market_history_plugin, golos::follow::follow_plugin, and golos::account_by_key::account_by_key_plugin.

Definition at line 54 of file plugin.cpp.

◆ plugin_shutdown()

void golos::application::plugin::plugin_shutdown ( )
overridevirtual

Cleanly shut down the plugin.

This is called to request a clean shutdown (e.g. due to SIGINT or SIGTERM).

Implements golos::application::abstract_plugin.

Reimplemented in golos::plugin::debug_node::debug_node_plugin, golos::witness_plugin::witness_plugin, golos::plugin::block_info::block_info_plugin, golos::plugin::auth_util::auth_util_plugin, and golos::plugin::raw_block::raw_block_plugin.

Definition at line 50 of file plugin.cpp.

◆ plugin_startup()

void golos::application::plugin::plugin_startup ( )
overridevirtual

The documentation for this class was generated from the following files: