Go to the documentation of this file.
17 #ifndef USGOV_de56e188fcfd89220cc987a4586be02f78f88b2010f135329f1082714d9eaaa6
18 #define USGOV_de56e188fcfd89220cc987a4586be02f78f88b2010f135329f1082714d9eaaa6
29 #include <condition_variable>
34 namespace us{
namespace wallet {
40 struct wallet_local_api;
64 template<
typename type1>
65 void dolog(
const type1& arg1)
const {
69 template<
typename type1,
typename... types>
70 void dolog(
const type1& arg1,
const types& ... args)
const {
75 template<
typename... Args>
76 void olog(
const Args&... args)
const {
77 lock_guard<mutex> lock(mx_logos);
93 static constexpr
const char* statestr[num_states]={
"offline",
"req_online",
"connecting",
"connect_failed",
"connected",
"online"};
98 lock_guard<mutex> lock(mx);
105 bool exec(istream& cmd, ostream& os);
108 void dump(
const string& prefix, ostream&)
const;
123 condition_variable
cv;
137 bool initiator{
false};
138 wallet_daemon* demon{0};
void dump(const string &prefix, ostream &) const
us::gov::crypto::ripemd160::value_type hash_t
Definition: trader.h:38
state_t
Definition: trader.h:83
void dolog(const type1 &arg1) const
Definition: trader.h:65
state_t state
Definition: trader.h:139
string reason
Definition: trader.h:95
void unable(const string &r)
Definition: trader.h:97
@ state_connected
Definition: trader.h:88
Definition: trader_protocol.h:45
vector< string > cmdq
Definition: trader.h:134
void flush_command_queue()
relay::peer_t peer_t
Definition: daemon.h:31
Definition: ripemd160.h:38
void dolog(const type1 &arg1, const types &... args) const
Definition: trader.h:70
hash_t id
Definition: trader.h:119
void help(ostream &) const
void show_data(ostream &os) const
trader(uint32_t host, uint16_t port, protocol *p, wallet_daemon &)
protocol * p
Definition: trader.h:118
void to_stream(ostream &) const
Definition: datagram.h:44
Definition: ripemd160.java:25
trader(const hash_t &trade_id, socket::client &, protocol *p, wallet_daemon &)
static trader * from_stream(istream &)
@ state_connect_failed
Definition: trader.h:87
mutex mx_logos
Definition: trader.h:61
trader_protocol protocol
Definition: trader.h:48
us::gov::wbgtask c
Definition: wbgtask.cpp:22
void show_log(ostream &os) const
@ state_connecting
Definition: trader.h:86
@ state_offline
Definition: trader.h:84
void api_list(ostream &) const
Definition: client.cpp:417
mutex mx
Definition: trader.h:140
@ state_online
Definition: trader.h:89
void online(socket::client &cl, protocol *np)
void olog(const Args &... args) const
Definition: trader.h:76
@ state_req_online
Definition: trader.h:85
bool exec(istream &cmd, ostream &os)
condition_variable cv
Definition: trader.h:123
void process_work(socket::client *c, unsigned char code, const vector< unsigned char > &data)
void process_work(socket::client *c, unsigned char code, const string &data)
us::gov::crypto::ec::keys keys
Definition: trader.h:36
ostringstream logos
Definition: trader.h:60