BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
delayed_node_plugin.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Cryptonomex, Inc., and contributors.
3  *
4  * The MIT License
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24 #pragma once
25 
26 #include <graphene/app/plugin.hpp>
27 
28 namespace graphene { namespace delayed_node {
29 namespace detail { struct delayed_node_plugin_impl; }
30 
32 {
33  std::unique_ptr<detail::delayed_node_plugin_impl> my;
34 public:
36  ~delayed_node_plugin() override;
37 
38  std::string plugin_name()const override { return "delayed_node"; }
39  void plugin_set_program_options(boost::program_options::options_description&,
40  boost::program_options::options_description& cfg) override;
41  void plugin_initialize(const boost::program_options::variables_map& options) override;
42  void plugin_startup() override;
43  void mainloop();
44 
45 protected:
46  void connection_failed();
47  void connect();
49 };
50 
51 } } //graphene::account_history
52 
graphene::delayed_node::delayed_node_plugin::~delayed_node_plugin
~delayed_node_plugin() override
graphene::delayed_node::delayed_node_plugin::sync_with_trusted_node
void sync_with_trusted_node()
Definition: delayed_node_plugin.cpp:98
graphene::delayed_node::delayed_node_plugin::mainloop
void mainloop()
Definition: delayed_node_plugin.cpp:132
plugin.hpp
graphene::app::application
Definition: application.hpp:91
graphene::delayed_node::delayed_node_plugin::plugin_startup
void plugin_startup() override
Begin normal runtime operations.
Definition: delayed_node_plugin.cpp:153
graphene::app::plugin
Definition: plugin.hpp:100
graphene::delayed_node::delayed_node_plugin::delayed_node_plugin
delayed_node_plugin(graphene::app::application &app)
Definition: delayed_node_plugin.cpp:49
graphene::delayed_node::delayed_node_plugin::plugin_initialize
void plugin_initialize(const boost::program_options::variables_map &options) override
Perform early startup routines and register plugin indexes, callbacks, etc.
Definition: delayed_node_plugin.cpp:91
graphene::delayed_node::delayed_node_plugin::plugin_set_program_options
void plugin_set_program_options(boost::program_options::options_description &, boost::program_options::options_description &cfg) override
Fill in command line parameters used by the plugin.
Definition: delayed_node_plugin.cpp:57
graphene::delayed_node::delayed_node_plugin::connection_failed
void connection_failed()
Definition: delayed_node_plugin.cpp:163
graphene::delayed_node::delayed_node_plugin::connect
void connect()
Definition: delayed_node_plugin.cpp:66
graphene::delayed_node::delayed_node_plugin
Definition: delayed_node_plugin.hpp:31
graphene::app::abstract_plugin::app
application & app() const
Get a reference of the application bound to the plugin.
Definition: plugin.hpp:46
graphene
Definition: api.cpp:48
graphene::delayed_node::delayed_node_plugin::plugin_name
std::string plugin_name() const override
Get the name of the plugin.
Definition: delayed_node_plugin.hpp:38