Peerplays SON plugin skeleton

This commit is contained in:
Srdjan Obucina 2019-09-10 17:12:01 +02:00
parent 8678b677bb
commit 9f91b21700
6 changed files with 116 additions and 1 deletions

View file

@ -9,3 +9,4 @@ add_subdirectory( generate_genesis )
add_subdirectory( generate_uia_sharedrop_genesis )
add_subdirectory( debug_witness )
add_subdirectory( snapshot )
add_subdirectory( peerplays_sidechain )

View file

@ -0,0 +1,19 @@
file(GLOB HEADERS "include/graphene/peerplays_sidechain_history/*.hpp")
add_library( peerplays_sidechain
peerplays_sidechain_plugin.cpp
)
target_link_libraries( peerplays_sidechain graphene_chain graphene_app )
target_include_directories( peerplays_sidechain
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" )
install( TARGETS
peerplays_sidechain
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
INSTALL( FILES ${HEADERS} DESTINATION "include/graphene/peerplays_sidechain" )

View file

@ -0,0 +1,34 @@
#pragma once
#include <graphene/app/plugin.hpp>
#include <graphene/chain/database.hpp>
#include <graphene/chain/account_object.hpp>
#include <fc/thread/future.hpp>
namespace graphene { namespace peerplays_sidechain {
using namespace chain;
namespace detail
{
class peerplays_sidechain_plugin_impl;
}
class peerplays_sidechain_plugin : public graphene::app::plugin
{
public:
peerplays_sidechain_plugin();
virtual ~peerplays_sidechain_plugin();
std::string plugin_name()const override;
virtual void plugin_set_program_options(
boost::program_options::options_description& cli,
boost::program_options::options_description& cfg) override;
virtual void plugin_initialize(const boost::program_options::variables_map& options) override;
virtual void plugin_startup() override;
std::unique_ptr<detail::peerplays_sidechain_plugin_impl> my;
};
} } //graphene::peerplays_sidechain_plugin

View file

@ -0,0 +1,59 @@
#include <graphene/peerplays_sidechain/peerplays_sidechain_plugin.hpp>
namespace graphene { namespace peerplays_sidechain {
namespace detail
{
class peerplays_sidechain_plugin_impl
{
public:
peerplays_sidechain_plugin_impl(peerplays_sidechain_plugin& _plugin)
: _self( _plugin )
{ }
virtual ~peerplays_sidechain_plugin_impl();
peerplays_sidechain_plugin& _self;
};
peerplays_sidechain_plugin_impl::~peerplays_sidechain_plugin_impl()
{
return;
}
} // end namespace detail
peerplays_sidechain_plugin::peerplays_sidechain_plugin() :
my( new detail::peerplays_sidechain_plugin_impl(*this) )
{
}
peerplays_sidechain_plugin::~peerplays_sidechain_plugin()
{
return;
}
std::string peerplays_sidechain_plugin::plugin_name()const
{
return "peerplays_sidechain";
}
void peerplays_sidechain_plugin::plugin_set_program_options(
boost::program_options::options_description& /*cli*/,
boost::program_options::options_description& /*cfg*/
)
{
}
void peerplays_sidechain_plugin::plugin_initialize(const boost::program_options::variables_map& /*options*/)
{
ilog("peerplays sidechain plugin: plugin_initialize()");
}
void peerplays_sidechain_plugin::plugin_startup()
{
ilog("peerplays sidechain plugin: plugin_startup()");
}
} }

View file

@ -11,7 +11,7 @@ endif()
# We have to link against graphene_debug_witness because deficiency in our API infrastructure doesn't allow plugins to be fully abstracted #246
target_link_libraries( witness_node
PRIVATE graphene_app graphene_account_history graphene_affiliate_stats graphene_market_history graphene_witness graphene_chain graphene_debug_witness graphene_bookie graphene_egenesis_full fc ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} )
PRIVATE graphene_app graphene_account_history graphene_affiliate_stats graphene_market_history graphene_witness graphene_chain graphene_debug_witness graphene_bookie graphene_egenesis_full fc peerplays_sidechain ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} )
# also add dependencies to graphene_generate_genesis graphene_generate_uia_sharedrop_genesis if you want those plugins
install( TARGETS

View file

@ -31,6 +31,7 @@
//#include <graphene/generate_uia_sharedrop_genesis/generate_uia_sharedrop_genesis.hpp>
#include <graphene/affiliate_stats/affiliate_stats_plugin.hpp>
#include <graphene/bookie/bookie_plugin.hpp>
#include <graphene/peerplays_sidechain/peerplays_sidechain_plugin.hpp>
#include <graphene/utilities/git_revision.hpp>
//#include <graphene/snapshot/snapshot.hpp>
@ -91,6 +92,7 @@ int main(int argc, char** argv) {
auto list_plug = node->register_plugin<accounts_list::accounts_list_plugin>();
auto affiliate_stats_plug = node->register_plugin<affiliate_stats::affiliate_stats_plugin>();
auto bookie_plug = node->register_plugin<bookie::bookie_plugin>();
auto peerplays_sidechain = node->register_plugin<peerplays_sidechain::peerplays_sidechain_plugin>();
// auto snapshot_plug = node->register_plugin<snapshot_plugin::snapshot_plugin>();
try