#include namespace python = boost::python; #include "memory_buffer.hpp" struct memory_buffer_wrapper { memory_buffer_wrapper(async_service_ptr service, blockchain_ptr chain, transaction_pool_ptr txpool) { membuf = std::make_shared(service, chain, txpool); } void set_handles(python::object handle_tx_stored, python::object handle_tx_confirmed) { membuf->set_handles(handle_tx_stored, handle_tx_confirmed); } void receive(const message::transaction& tx, python::object handle_receive) { membuf->receive(tx, handle_receive); } memory_buffer_ptr membuf; }; BOOST_PYTHON_MODULE(membuf) { using namespace boost::python; class_("memory_buffer", init< async_service_ptr, blockchain_ptr, transaction_pool_ptr>()) .def("receive", &memory_buffer_wrapper::receive) .def("set_handles", &memory_buffer_wrapper::set_handles) .def_readonly("internal_ptr", &memory_buffer_wrapper::membuf) ; class_("internal_memory_buffer", no_init); }