Electroneum
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
mms::message_transporter Class Reference

#include <message_transporter.h>

Public Member Functions

 message_transporter ()
 
void set_options (const std::string &bitmessage_address, const epee::wipeable_string &bitmessage_login)
 
bool send_message (const transport_message &message)
 
bool receive_messages (const std::vector< std::string > &destination_transport_addresses, std::vector< transport_message > &messages)
 
bool delete_message (const std::string &transport_id)
 
void stop ()
 
std::string derive_transport_address (const std::string &seed)
 
std::string derive_and_receive_transport_address (const std::string &seed)
 
bool delete_transport_address (const std::string &transport_address)
 

Private Member Functions

bool post_request (const std::string &request, std::string &answer)
 

Static Private Member Functions

static std::string get_str_between_tags (const std::string &s, const std::string &start_delim, const std::string &stop_delim)
 
static void start_xml_rpc_cmd (std::string &xml, const std::string &method_name)
 
static void add_xml_rpc_string_param (std::string &xml, const std::string &param)
 
static void add_xml_rpc_base64_param (std::string &xml, const std::string &param)
 
static void add_xml_rpc_integer_param (std::string &xml, const int32_t &param)
 
static void end_xml_rpc_cmd (std::string &xml)
 

Private Attributes

epee::net_utils::http::http_simple_client m_http_client
 
std::string m_bitmessage_url
 
epee::wipeable_string m_bitmessage_login
 
std::atomic< boolm_run
 

Constructor & Destructor Documentation

◆ message_transporter()

mms::message_transporter::message_transporter ( )

Member Function Documentation

◆ add_xml_rpc_base64_param()

void mms::message_transporter::add_xml_rpc_base64_param ( std::string &  xml,
const std::string &  param 
)
staticprivate

◆ add_xml_rpc_integer_param()

void mms::message_transporter::add_xml_rpc_integer_param ( std::string &  xml,
const int32_t &  param 
)
staticprivate

◆ add_xml_rpc_string_param()

void mms::message_transporter::add_xml_rpc_string_param ( std::string &  xml,
const std::string &  param 
)
staticprivate

◆ delete_message()

bool mms::message_transporter::delete_message ( const std::string &  transport_id)

◆ delete_transport_address()

bool mms::message_transporter::delete_transport_address ( const std::string &  transport_address)

◆ derive_and_receive_transport_address()

std::string mms::message_transporter::derive_and_receive_transport_address ( const std::string &  seed)

◆ derive_transport_address()

std::string mms::message_transporter::derive_transport_address ( const std::string &  seed)

◆ end_xml_rpc_cmd()

void mms::message_transporter::end_xml_rpc_cmd ( std::string &  xml)
staticprivate

◆ get_str_between_tags()

std::string mms::message_transporter::get_str_between_tags ( const std::string &  s,
const std::string &  start_delim,
const std::string &  stop_delim 
)
staticprivate

◆ post_request()

bool mms::message_transporter::post_request ( const std::string &  request,
std::string &  answer 
)
private

◆ receive_messages()

bool mms::message_transporter::receive_messages ( const std::vector< std::string > &  destination_transport_addresses,
std::vector< transport_message > &  messages 
)

◆ send_message()

bool mms::message_transporter::send_message ( const transport_message message)

◆ set_options()

void mms::message_transporter::set_options ( const std::string &  bitmessage_address,
const epee::wipeable_string &  bitmessage_login 
)

◆ start_xml_rpc_cmd()

void mms::message_transporter::start_xml_rpc_cmd ( std::string &  xml,
const std::string &  method_name 
)
staticprivate

◆ stop()

void mms::message_transporter::stop ( )
inline

Member Data Documentation

◆ m_bitmessage_login

epee::wipeable_string mms::message_transporter::m_bitmessage_login
private

◆ m_bitmessage_url

std::string mms::message_transporter::m_bitmessage_url
private

◆ m_http_client

epee::net_utils::http::http_simple_client mms::message_transporter::m_http_client
private

◆ m_run

std::atomic<bool> mms::message_transporter::m_run
private

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