30 #include "serialization/keyvalue_serialization.h"
35 #include "net/http_server_impl_base.h"
36 #include "net/http_client.h"
38 #include "wipeable_string.h"
39 #include "serialization/keyvalue_serialization.h"
63 BEGIN_KV_SERIALIZE_MAP()
68 KV_SERIALIZE_VAL_POD_AS_BLOB(
iv)
74 KV_SERIALIZE_VAL_POD_AS_BLOB(
hash)
79 END_KV_SERIALIZE_MAP()
87 void set_options(
const std::string &bitmessage_address,
const epee::wipeable_string &bitmessage_login);
89 bool receive_messages(
const std::vector<std::string> &destination_transport_addresses,
90 std::vector<transport_message> &messages);
92 void stop() { m_run.store(
false, std::memory_order_relaxed); }
93 std::string derive_transport_address(
const std::string &seed);
94 std::string derive_and_receive_transport_address(
const std::string &seed);
95 bool delete_transport_address(
const std::string &transport_address);
103 bool post_request(
const std::string &request, std::string &answer);
104 static std::string get_str_between_tags(
const std::string &
s,
const std::string &start_delim,
const std::string &stop_delim);
106 static void start_xml_rpc_cmd(std::string &xml,
const std::string &method_name);
107 static void add_xml_rpc_string_param(std::string &xml,
const std::string ¶m);
108 static void add_xml_rpc_base64_param(std::string &xml,
const std::string ¶m);
109 static void add_xml_rpc_integer_param(std::string &xml,
const int32_t ¶m);
110 static void end_xml_rpc_cmd(std::string &xml);
#define s(x, c)
Definition: aesb.c:47
Definition: message_transporter.h:84
std::atomic< bool > m_run
Definition: message_transporter.h:101
epee::wipeable_string m_bitmessage_login
Definition: message_transporter.h:100
std::string m_bitmessage_url
Definition: message_transporter.h:99
void stop()
Definition: message_transporter.h:92
epee::net_utils::http::http_simple_client m_http_client
Definition: message_transporter.h:98
POD_CLASS signature
Definition: crypto.h:108
POD_CLASS public_key
Definition: crypto.h:76
POD_CLASS hash
Definition: hash.h:50
Definition: cryptonote_format_utils.h:44
Definition: message_store.cpp:49
epee::misc_utils::struct_init< transport_message_t > transport_message
Definition: message_transporter.h:81
Definition: cryptonote_basic.h:453
Definition: message_store.h:99
Definition: message_transporter.h:46
cryptonote::account_public_address source_etn_address
Definition: message_transporter.h:47
std::string transport_id
Definition: message_transporter.h:61
crypto::hash hash
Definition: message_transporter.h:57
std::string content
Definition: message_transporter.h:56
crypto::signature signature
Definition: message_transporter.h:58
uint64_t timestamp
Definition: message_transporter.h:53
std::string destination_transport_address
Definition: message_transporter.h:50
uint32_t round
Definition: message_transporter.h:59
uint32_t signature_count
Definition: message_transporter.h:60
std::string subject
Definition: message_transporter.h:55
crypto::chacha_iv iv
Definition: message_transporter.h:51
std::string source_transport_address
Definition: message_transporter.h:48
crypto::public_key encryption_public_key
Definition: message_transporter.h:52
uint32_t type
Definition: message_transporter.h:54
cryptonote::account_public_address destination_etn_address
Definition: message_transporter.h:49