Compare commits

...

27 commits

Author SHA1 Message Date
obucinac
c8aa95606f
Merge branch 'feature/SONs-base' into feature/SON-83 2019-10-08 20:35:07 +02:00
Srdjan Obucina
57a5edd98d Fix build error on gitlab
- Add parameter GRAPHENE_MAX_NESTED_OBJECTS to fc function calls
2019-10-08 17:03:07 +02:00
Srdjan Obucina
48887429ca Fix build error on gitlab
- Add parameter GRAPHENE_MAX_NESTED_OBJECTS to fc function calls
2019-10-08 16:48:19 +02:00
Srdjan Obucina
a0f24b775b Fix build error on gitlab
- Unused variable removed
2019-10-08 16:16:36 +02:00
Srdjan Obucina
e1a3241f93 Merge branch 'develop' into feature/SON-83 2019-10-08 15:52:52 +02:00
obucinac
5468873e0a
Merge branch 'develop' into feature/SON-83 2019-09-13 14:37:12 +02:00
S
436aebc73b SON plugin test suite skeleton 2019-09-12 16:48:34 +02:00
S
65719df879 Remove plugins option from libgraphene_app 2019-09-10 15:21:37 +02:00
S
f19957c9f6 Fix fc::variant:as call 2019-09-10 15:05:09 +02:00
Srdjan Obucina
c206466b31 Remove GRAPHENE_MAX_NESTED_OBJECTS 2019-09-10 14:26:48 +02:00
Srdjan Obucina
e0a7172b04 Revert config_util to what it was 2019-09-09 18:55:47 +02:00
Srdjan Obucina
d1ddbe5afb Build params changed, adjusted config_util to match current fc lib, witness main aligned to Bitshares as much as possible 2019-09-09 16:24:03 +02:00
Srdjan Obucina
9d30da3259 Add GRAPHENE_MAX_NESTED_OBJECTS definition 2019-09-09 15:24:09 +02:00
Srdjan Obucina
a1d3de2eb5 Add config_util.cpp to CMakeLists.txt 2019-09-09 15:19:47 +02:00
Srdjan Obucina
18225433ad Add config_util.cpp from Bitshares 2019-09-09 15:13:40 +02:00
Srdjan Obucina
1c2c0f900d Fix list of plugins activated by default 2019-09-06 16:57:25 +02:00
Srdjan Obucina
b85dd083fb Fix list of plugins activated by default 2019-09-06 16:52:45 +02:00
Srdjan Obucina
f7f7669e02 add is_plugin_enabled to application 2019-09-06 16:43:24 +02:00
Srdjan Obucina
0581df5245 Add missing declaration 2019-09-06 16:26:58 +02:00
Srdjan Obucina
604439dcaf Implemented "plugins" config variable
From:
https://github.com/bitshares/bitshares-core/pull/288
2019-09-06 16:06:41 +02:00
Srdjan Obucina
f097f94bdc Add plugin config example parameters 2019-09-06 13:55:17 +02:00
Srdjan Obucina
5c3dcc2693 Add plugin config example parameters 2019-09-06 13:53:55 +02:00
Srdjan Obucina
d99aa73104 Add plugin config example parameters 2019-09-06 13:50:24 +02:00
Srdjan Obucina
bf3cc4b658 Add plugin description function 2019-09-05 21:30:11 +02:00
Srdjan Obucina
3198c37dbe Add plugin description 2019-09-05 21:15:46 +02:00
Srdjan Obucina
bfb220e76f Add plugin section headers to generated config.ini
https://github.com/bitshares/bitshares-core/pull/1641/files
2019-09-05 20:48:29 +02:00
Srdjan Obucina
4caaf2321d SON plugin skeleton code
- SON plugin skeleton added
- SON plugin activated by default
2019-09-05 20:20:22 +02:00
7 changed files with 36 additions and 8 deletions

View file

@ -135,7 +135,7 @@ else( WIN32 ) # Apple AND Linux
endif( APPLE )
if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-memcmp -Wno-class-memaccess -Wno-parentheses -Wno-terminate -Wno-invalid-offsetof" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-memcmp -Wno-parentheses -Wno-invalid-offsetof" )
elseif( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
if( CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.0.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.0.0 )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-partial-specialization" )

View file

@ -375,7 +375,6 @@ namespace detail {
}
_chain_db->add_checkpoints( loaded_checkpoints );
bool replay = false;
std::string replay_reason = "reason not provided";
if( _options->count("replay-blockchain") )

View file

@ -56,12 +56,19 @@ 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;
string cli_plugin_desc = plug->plugin_name() + " plugin. " + plug->plugin_description() + "\nOptions";
boost::program_options::options_description plugin_cli_options( cli_plugin_desc ), 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);
if( !plugin_cfg_options.options().empty() )
{
std::string header_name = "plugin-cfg-header-" + plug->plugin_name();
std::string header_desc = plug->plugin_name() + " plugin options";
_cfg_options.add_options()(header_name.c_str(), header_desc.c_str());
_cfg_options.add(plugin_cfg_options);
}
add_available_plugin( plug );
return plug;

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

@ -15,6 +15,9 @@ class peerplays_sidechain_plugin_impl
virtual ~peerplays_sidechain_plugin_impl();
peerplays_sidechain_plugin& _self;
uint32_t parameter;
uint32_t optional_parameter;
};
peerplays_sidechain_plugin_impl::~peerplays_sidechain_plugin_impl()
@ -40,15 +43,27 @@ std::string peerplays_sidechain_plugin::plugin_name()const
}
void peerplays_sidechain_plugin::plugin_set_program_options(
boost::program_options::options_description& /*cli*/,
boost::program_options::options_description& /*cfg*/
boost::program_options::options_description& cli,
boost::program_options::options_description& cfg
)
{
cli.add_options()
("parameter", boost::program_options::value<uint32_t>(), "Parameter")
("optional-parameter", boost::program_options::value<uint32_t>(), "Optional parameter")
;
cfg.add(cli);
}
void peerplays_sidechain_plugin::plugin_initialize(const boost::program_options::variables_map& /*options*/)
void peerplays_sidechain_plugin::plugin_initialize(const boost::program_options::variables_map& options)
{
ilog("peerplays sidechain plugin: plugin_initialize()");
if (options.count("parameter")) {
my->parameter = options["optional-parameter"].as<uint32_t>();
}
if (options.count("optional-parameter")) {
my->optional_parameter = options["optional-parameter"].as<uint32_t>();
}
}
void peerplays_sidechain_plugin::plugin_startup()

View file

@ -40,7 +40,6 @@
#include <fc/interprocess/signals.hpp>
#include <boost/filesystem.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/container/flat_set.hpp>
#include <boost/algorithm/string.hpp>
@ -149,10 +148,11 @@ int main(int argc, char** argv) {
std::for_each(plugins.begin(), plugins.end(), [node](const std::string& plug) mutable {
if (!plug.empty()) {
node->enable_plugin(plug);
}
}
});
bpo::notify(options);
node->initialize(data_dir, options);
node->initialize_plugins( options );