Monero
Loading...
Searching...
No Matches
mms::message_transporter Class Reference

#include <message_transporter.h>

Collaboration diagram for mms::message_transporter:

Public Member Functions

 message_transporter (std::unique_ptr< epee::net_utils::http::abstract_http_client > http_client)
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)
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

const std::unique_ptr< epee::net_utils::http::abstract_http_clientm_http_client
std::string m_bitmessage_url
epee::wipeable_string m_bitmessage_login
std::atomic< bool > m_run

Constructor & Destructor Documentation

◆ message_transporter()

mms::message_transporter::message_transporter ( std::unique_ptr< epee::net_utils::http::abstract_http_client > http_client)

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_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

const std::unique_ptr<epee::net_utils::http::abstract_http_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: