BitShares-Core  6.0.1
BitShares blockchain implementation and command-line interface software
Public Member Functions | Protected Member Functions | List of all members
graphene::app::plugin Class Reference

#include <plugin.hpp>

Inheritance diagram for graphene::app::plugin:
graphene::app::abstract_plugin graphene::account_history::account_history_plugin graphene::api_helper_indexes::api_helper_indexes graphene::custom_operations::custom_operations_plugin graphene::debug_witness_plugin::debug_witness_plugin graphene::delayed_node::delayed_node_plugin graphene::elasticsearch::elasticsearch_plugin graphene::es_objects::es_objects_plugin graphene::grouped_orders::grouped_orders_plugin graphene::market_history::market_history_plugin graphene::snapshot_plugin::snapshot_plugin graphene::template_plugin::template_plugin graphene::witness_plugin::witness_plugin

Public Member Functions

std::string plugin_name () const override
 Get the name of the plugin. More...
 
std::string plugin_description () const override
 Get the description of the plugin. More...
 
void plugin_initialize (const boost::program_options::variables_map &options) override
 Perform early startup routines and register plugin indexes, callbacks, etc. More...
 
void plugin_startup () override
 Begin normal runtime operations. More...
 
void plugin_shutdown () override
 Cleanly shut down the plugin. More...
 
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 ()
 
- Public Member Functions inherited from graphene::app::abstract_plugin
 abstract_plugin (application &a)
 
virtual ~abstract_plugin ()=default
 
applicationapp () const
 Get a reference of the application bound to the plugin. More...
 

Protected Member Functions

net::node_ptr p2p_node () const
 

Additional Inherited Members

- Protected Attributes inherited from graphene::app::abstract_plugin
application_app
 

Detailed Description

Provides basic default implementations of abstract_plugin functions.

Definition at line 100 of file plugin.hpp.

Member Function Documentation

◆ database()

chain::database& graphene::app::plugin::database ( )
inline

Definition at line 115 of file plugin.hpp.

◆ p2p_node()

net::node_ptr graphene::app::plugin::p2p_node ( ) const
inlineprotected

Definition at line 117 of file plugin.hpp.

◆ plugin_description()

std::string graphene::app::plugin::plugin_description ( ) const
overridevirtual

◆ plugin_initialize()

void graphene::app::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 graphene::app::abstract_plugin.

Reimplemented in graphene::market_history::market_history_plugin, graphene::api_helper_indexes::api_helper_indexes, graphene::grouped_orders::grouped_orders_plugin, graphene::account_history::account_history_plugin, graphene::elasticsearch::elasticsearch_plugin, graphene::witness_plugin::witness_plugin, graphene::template_plugin::template_plugin, graphene::custom_operations::custom_operations_plugin, graphene::es_objects::es_objects_plugin, graphene::debug_witness_plugin::debug_witness_plugin, graphene::snapshot_plugin::snapshot_plugin, and graphene::delayed_node::delayed_node_plugin.

Definition at line 40 of file plugin.cpp.

◆ plugin_name()

std::string graphene::app::plugin::plugin_name ( ) const
overridevirtual

◆ plugin_set_program_options()

void graphene::app::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 graphene::app::abstract_plugin.

Reimplemented in graphene::market_history::market_history_plugin, graphene::api_helper_indexes::api_helper_indexes, graphene::grouped_orders::grouped_orders_plugin, graphene::account_history::account_history_plugin, graphene::elasticsearch::elasticsearch_plugin, graphene::template_plugin::template_plugin, graphene::witness_plugin::witness_plugin, graphene::custom_operations::custom_operations_plugin, graphene::es_objects::es_objects_plugin, graphene::debug_witness_plugin::debug_witness_plugin, graphene::snapshot_plugin::snapshot_plugin, and graphene::delayed_node::delayed_node_plugin.

Definition at line 55 of file plugin.cpp.

◆ plugin_shutdown()

void graphene::app::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 graphene::app::abstract_plugin.

Reimplemented in graphene::witness_plugin::witness_plugin, graphene::template_plugin::template_plugin, and graphene::debug_witness_plugin::debug_witness_plugin.

Definition at line 50 of file plugin.cpp.

◆ plugin_startup()

void graphene::app::plugin::plugin_startup ( )
overridevirtual

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