mirror of
https://github.com/wownero/wownero-cpp.git
synced 2026-10-18 23:58:59 +02:00
104 lines
51 KiB
HTML
104 lines
51 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.15"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Monero C++ Library: wallet/monero_wallet_core.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Monero C++ Library
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_04adb1df8a70d06f465cfe55c3148bab.html">wallet</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">monero_wallet_core.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "monero_wallet.h"</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "wallet/wallet2.h"</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include <boost/thread/mutex.hpp></span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <boost/thread/thread.hpp></span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include <boost/thread/condition_variable.hpp></span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">using namespace </span>std;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">using namespace </span>crypto;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">using namespace </span><a class="code" href="namespacemonero.html">monero</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">namespace </span><a class="code" href="namespacemonero.html">monero</a> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">// -------------------------------- LISTENERS -------------------------------</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// forward declaration of internal wallet2 listener</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">struct </span><a class="code" href="structmonero_1_1wallet2__listener.html">wallet2_listener</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="comment">// --------------------------- STATIC WALLET UTILS --------------------------</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classmonero_1_1monero__wallet__core.html"> 81</a></span>  <span class="keyword">class </span><a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a> : <span class="keyword">public</span> <a class="code" href="classmonero_1_1monero__wallet.html">monero_wallet</a> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> wallet_exists(<span class="keyword">const</span> <span class="keywordtype">string</span>& path);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">static</span> <a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a>* open_wallet(<span class="keyword">const</span> <span class="keywordtype">string</span>& path, <span class="keyword">const</span> <span class="keywordtype">string</span>& password, <span class="keyword">const</span> <a class="code" href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero_network_type</a> network_type);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">static</span> <a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a>* create_wallet_random(<span class="keyword">const</span> <span class="keywordtype">string</span>& path, <span class="keyword">const</span> <span class="keywordtype">string</span>& password, <span class="keyword">const</span> <a class="code" href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero_network_type</a> network_type, <span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__rpc__connection.html">monero_rpc_connection</a>& daemon_connection, <span class="keyword">const</span> <span class="keywordtype">string</span>& language = <span class="stringliteral">"English"</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">static</span> <a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a>* create_wallet_from_mnemonic(<span class="keyword">const</span> <span class="keywordtype">string</span>& path, <span class="keyword">const</span> <span class="keywordtype">string</span>& password, <span class="keyword">const</span> <a class="code" href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero_network_type</a> network_type, <span class="keyword">const</span> <span class="keywordtype">string</span>& mnemonic, <span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__rpc__connection.html">monero_rpc_connection</a>& daemon_connection, uint64_t restore_height, <span class="keyword">const</span> <span class="keywordtype">string</span>& seed_offset);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">static</span> <a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a>* create_wallet_from_keys(<span class="keyword">const</span> <span class="keywordtype">string</span>& path, <span class="keyword">const</span> <span class="keywordtype">string</span>& password, <span class="keyword">const</span> <a class="code" href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero_network_type</a> network_type, <span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& view_key, <span class="keyword">const</span> <span class="keywordtype">string</span>& spend_key, <span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__rpc__connection.html">monero_rpc_connection</a>& daemon_connection, uint64_t restore_height, <span class="keyword">const</span> <span class="keywordtype">string</span>& language);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">static</span> vector<string> get_mnemonic_languages();</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// ----------------------------- WALLET METHODS -----------------------------</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  ~<a class="code" href="classmonero_1_1monero__wallet__core.html">monero_wallet_core</a>();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">void</span> set_daemon_connection(<span class="keyword">const</span> <span class="keywordtype">string</span>& uri, <span class="keyword">const</span> <span class="keywordtype">string</span>& username = <span class="stringliteral">""</span>, <span class="keyword">const</span> <span class="keywordtype">string</span>& password = <span class="stringliteral">""</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">void</span> set_daemon_connection(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__rpc__connection.html">monero_rpc_connection</a>& connection);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  shared_ptr<monero_rpc_connection> get_daemon_connection() <span class="keyword">const</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">bool</span> is_connected() <span class="keyword">const</span>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">bool</span> is_daemon_synced() <span class="keyword">const</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordtype">bool</span> is_daemon_trusted() <span class="keyword">const</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordtype">bool</span> is_synced() <span class="keyword">const</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="structmonero_1_1monero__version.html">monero_version</a> get_version() <span class="keyword">const</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordtype">string</span> get_path() <span class="keyword">const</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero_network_type</a> get_network_type() <span class="keyword">const</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">string</span> get_mnemonic() <span class="keyword">const</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">string</span> get_mnemonic_language() <span class="keyword">const</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordtype">string</span> get_public_view_key() <span class="keyword">const</span>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">string</span> get_private_view_key() <span class="keyword">const</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordtype">string</span> get_public_spend_key() <span class="keyword">const</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordtype">string</span> get_private_spend_key() <span class="keyword">const</span>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordtype">string</span> get_address(<span class="keyword">const</span> uint32_t account_idx, <span class="keyword">const</span> uint32_t subaddress_idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="structmonero_1_1monero__subaddress.html">monero_subaddress</a> get_address_index(<span class="keyword">const</span> <span class="keywordtype">string</span>& address) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="structmonero_1_1monero__integrated__address.html">monero_integrated_address</a> get_integrated_address(<span class="keyword">const</span> <span class="keywordtype">string</span>& standard_address = <span class="stringliteral">""</span>, <span class="keyword">const</span> <span class="keywordtype">string</span>& payment_id = <span class="stringliteral">""</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="structmonero_1_1monero__integrated__address.html">monero_integrated_address</a> decode_integrated_address(<span class="keyword">const</span> <span class="keywordtype">string</span>& integrated_address) <span class="keyword">const</span>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  uint64_t get_height() <span class="keyword">const</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  uint64_t get_restore_height() <span class="keyword">const</span>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordtype">void</span> set_restore_height(uint64_t restore_height);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  uint64_t get_daemon_height() <span class="keyword">const</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  uint64_t get_daemon_max_peer_height() <span class="keyword">const</span>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordtype">void</span> add_listener(<a class="code" href="classmonero_1_1monero__wallet__listener.html">monero_wallet_listener</a>& listener);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordtype">void</span> remove_listener(<a class="code" href="classmonero_1_1monero__wallet__listener.html">monero_wallet_listener</a>& listener);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  set<monero_wallet_listener*> get_listeners();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> sync();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> sync(<a class="code" href="classmonero_1_1monero__sync__listener.html">monero_sync_listener</a>& listener);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> sync(uint64_t start_height);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> sync(uint64_t start_height, <a class="code" href="classmonero_1_1monero__sync__listener.html">monero_sync_listener</a>& listener);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordtype">void</span> start_syncing();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordtype">void</span> stop_syncing();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordtype">void</span> rescan_spent();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordtype">void</span> rescan_blockchain();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  uint64_t get_balance() <span class="keyword">const</span>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  uint64_t get_balance(uint32_t account_idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  uint64_t get_balance(uint32_t account_idx, uint32_t subaddress_idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  uint64_t get_unlocked_balance() <span class="keyword">const</span>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  uint64_t get_unlocked_balance(uint32_t account_idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  uint64_t get_unlocked_balance(uint32_t account_idx, uint32_t subaddress_idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  vector<monero_account> get_accounts(<span class="keywordtype">bool</span> include_subaddresses, <span class="keyword">const</span> <span class="keywordtype">string</span>& tag) <span class="keyword">const</span>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="structmonero_1_1monero__account.html">monero_account</a> get_account(<span class="keyword">const</span> uint32_t account_idx, <span class="keywordtype">bool</span> include_subaddresses) <span class="keyword">const</span>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="structmonero_1_1monero__account.html">monero_account</a> create_account(<span class="keyword">const</span> <span class="keywordtype">string</span>& label = <span class="stringliteral">""</span>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  vector<monero_subaddress> get_subaddresses(<span class="keyword">const</span> uint32_t account_idx, <span class="keyword">const</span> vector<uint32_t>& subaddress_indices) <span class="keyword">const</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="structmonero_1_1monero__subaddress.html">monero_subaddress</a> create_subaddress(uint32_t account_idx, <span class="keyword">const</span> <span class="keywordtype">string</span>& label = <span class="stringliteral">""</span>);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  vector<shared_ptr<monero_tx_wallet>> get_txs() <span class="keyword">const</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  vector<shared_ptr<monero_tx_wallet>> get_txs(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__tx__query.html">monero_tx_query</a>& query) <span class="keyword">const</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  vector<shared_ptr<monero_transfer>> get_transfers(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__transfer__query.html">monero_transfer_query</a>& query) <span class="keyword">const</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  vector<shared_ptr<monero_output_wallet>> get_outputs(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__output__query.html">monero_output_query</a>& query) <span class="keyword">const</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">string</span> get_outputs_hex() <span class="keyword">const</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordtype">int</span> import_outputs_hex(<span class="keyword">const</span> <span class="keywordtype">string</span>& outputs_hex);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  vector<shared_ptr<monero_key_image>> get_key_images() <span class="keyword">const</span>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  shared_ptr<monero_key_image_import_result> import_key_images(<span class="keyword">const</span> vector<shared_ptr<monero_key_image>>& key_images);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> create_tx(<a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> create_tx(uint32_t account_index, <span class="keywordtype">string</span> address, uint64_t amount);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> create_tx(<span class="keywordtype">int</span> account_index, <span class="keywordtype">string</span> address, uint64_t amount, <a class="code" href="namespacemonero.html#ad102bb6207c4abe9d875f8b0edc1a45e">monero_send_priority</a> priority);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> create_txs(<a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordtype">string</span> relay_tx(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_metadata);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">string</span> relay_tx(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__tx__wallet.html">monero_tx_wallet</a>& tx);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  vector<string> relay_txs(<span class="keyword">const</span> vector<string>& tx_metadatas);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  vector<string> relay_txs(<span class="keyword">const</span> vector<shared_ptr<monero_tx_wallet>>& txs);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> send(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> send(uint32_t account_index, <span class="keywordtype">string</span> address, uint64_t amount);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> send(uint32_t account_index, <span class="keywordtype">string</span> address, uint64_t amount, <a class="code" href="namespacemonero.html#ad102bb6207c4abe9d875f8b0edc1a45e">monero_send_priority</a> priority);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> send_split(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  vector<monero_tx_set> sweep_unlocked(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> sweep_output(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> sweep_dust(<span class="keywordtype">bool</span> do_not_relay = <span class="keyword">false</span>);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> parse_tx_set(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a>& tx_set);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordtype">string</span> sign(<span class="keyword">const</span> <span class="keywordtype">string</span>& msg) <span class="keyword">const</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordtype">bool</span> verify(<span class="keyword">const</span> <span class="keywordtype">string</span>& msg, <span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& signature) <span class="keyword">const</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordtype">string</span> get_tx_key(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash) <span class="keyword">const</span>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  shared_ptr<monero_check_tx> check_tx_key(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& txKey, <span class="keyword">const</span> <span class="keywordtype">string</span>& address) <span class="keyword">const</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordtype">string</span> get_tx_proof(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& message) <span class="keyword">const</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  shared_ptr<monero_check_tx> check_tx_proof(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& message, <span class="keyword">const</span> <span class="keywordtype">string</span>& signature) <span class="keyword">const</span>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordtype">string</span> get_spend_proof(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& message) <span class="keyword">const</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordtype">bool</span> check_spend_proof(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& message, <span class="keyword">const</span> <span class="keywordtype">string</span>& signature) <span class="keyword">const</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">string</span> get_reserve_proof_wallet(<span class="keyword">const</span> <span class="keywordtype">string</span>& message) <span class="keyword">const</span>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordtype">string</span> get_reserve_proof_account(uint32_t account_idx, uint64_t amount, <span class="keyword">const</span> <span class="keywordtype">string</span>& message) <span class="keyword">const</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  shared_ptr<monero_check_reserve> check_reserve_proof(<span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& message, <span class="keyword">const</span> <span class="keywordtype">string</span>& signature) <span class="keyword">const</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordtype">string</span> get_tx_note(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash) <span class="keyword">const</span>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  vector<string> get_tx_notes(<span class="keyword">const</span> vector<string>& tx_hashes) <span class="keyword">const</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordtype">void</span> set_tx_note(<span class="keyword">const</span> <span class="keywordtype">string</span>& tx_hash, <span class="keyword">const</span> <span class="keywordtype">string</span>& note);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordtype">void</span> set_tx_notes(<span class="keyword">const</span> vector<string>& tx_hashes, <span class="keyword">const</span> vector<string>& notes);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  vector<monero_address_book_entry> get_address_book_entries(<span class="keyword">const</span> vector<uint64_t>& indices) <span class="keyword">const</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  uint64_t add_address_book_entry(<span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keyword">const</span> <span class="keywordtype">string</span>& description, <span class="keyword">const</span> <span class="keywordtype">string</span>& payment_id = <span class="stringliteral">""</span>);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordtype">void</span> edit_address_book_entry(uint64_t index, <span class="keywordtype">bool</span> set_address, <span class="keyword">const</span> <span class="keywordtype">string</span>& address, <span class="keywordtype">bool</span> set_description, <span class="keyword">const</span> <span class="keywordtype">string</span>& description, <span class="keywordtype">bool</span> set_payment_id = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">string</span>& payment_id = <span class="stringliteral">""</span>);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordtype">void</span> delete_address_book_entry(uint64_t index);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordtype">string</span> create_payment_uri(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request) <span class="keyword">const</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  shared_ptr<monero_send_request> parse_payment_uri(<span class="keyword">const</span> <span class="keywordtype">string</span>& uri) <span class="keyword">const</span>;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordtype">bool</span> get_attribute(<span class="keyword">const</span> <span class="keywordtype">string</span>& key, <span class="keywordtype">string</span>& value) <span class="keyword">const</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordtype">void</span> set_attribute(<span class="keyword">const</span> <span class="keywordtype">string</span>& key, <span class="keyword">const</span> <span class="keywordtype">string</span>& val);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordtype">void</span> start_mining(boost::optional<uint64_t> num_threads, boost::optional<bool> background_mining, boost::optional<bool> ignore_battery);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">void</span> stop_mining();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  uint64_t wait_for_next_block();</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">bool</span> is_multisig_import_needed() <span class="keyword">const</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="structmonero_1_1monero__multisig__info.html">monero_multisig_info</a> get_multisig_info();</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">string</span> prepare_multisig();</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="structmonero_1_1monero__multisig__init__result.html">monero_multisig_init_result</a> make_multisig(<span class="keyword">const</span> vector<string>& multisig_hexes, <span class="keywordtype">int</span> threshold, <span class="keyword">const</span> <span class="keywordtype">string</span>& password);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="structmonero_1_1monero__multisig__init__result.html">monero_multisig_init_result</a> exchange_multisig_keys(<span class="keyword">const</span> vector<string>& mutisig_hexes, <span class="keyword">const</span> <span class="keywordtype">string</span>& password);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">string</span> get_multisig_hex();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordtype">int</span> import_multisig_hex(<span class="keyword">const</span> vector<string>& multisig_hexes);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="structmonero_1_1monero__multisig__sign__result.html">monero_multisig_sign_result</a> sign_multisig_tx_hex(<span class="keyword">const</span> <span class="keywordtype">string</span>& multisig_tx_hex);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  vector<string> submit_multisig_tx_hex(<span class="keyword">const</span> <span class="keywordtype">string</span>& signed_multisig_tx_hex);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordtype">void</span> save();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordtype">void</span> move_to(<span class="keywordtype">string</span> path, <span class="keywordtype">string</span> password);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">void</span> close(<span class="keywordtype">bool</span> save = <span class="keyword">false</span>);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="comment">// --------------------------------- PRIVATE --------------------------------</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structmonero_1_1wallet2__listener.html">wallet2_listener</a>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  unique_ptr<tools::wallet2> m_w2; <span class="comment">// internal wallet implementation</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  unique_ptr<wallet2_listener> m_w2_listener; <span class="comment">// internal wallet implementation listener</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  set<monero_wallet_listener*> m_listeners; <span class="comment">// external wallet listeners</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordtype">void</span> init_common();</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  vector<monero_subaddress> get_subaddresses_aux(uint32_t account_idx, <span class="keyword">const</span> vector<uint32_t>& subaddress_indices, <span class="keyword">const</span> vector<tools::wallet2::transfer_details>& transfers) <span class="keyword">const</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="structmonero_1_1monero__tx__set.html">monero_tx_set</a> sweep_account(<span class="keyword">const</span> <a class="code" href="structmonero_1_1monero__send__request.html">monero_send_request</a>& request); <span class="comment">// sweeps unlocked funds within an account; private helper to sweep_unlocked()</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">// blockchain sync management</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">mutable</span> std::atomic<bool> m_is_synced; <span class="comment">// whether or not wallet is synced</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">mutable</span> std::atomic<bool> m_is_connected; <span class="comment">// cache connection status to avoid unecessary RPC calls</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  boost::condition_variable m_sync_cv; <span class="comment">// to make sync threads woke</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  boost::mutex m_sync_mutex; <span class="comment">// synchronize sync() and syncAsync() requests</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  std::atomic<bool> m_rescan_on_sync; <span class="comment">// whether or not to rescan on sync</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  std::atomic<bool> m_syncing_enabled; <span class="comment">// whether or not auto sync is enabled</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  std::atomic<int> m_syncing_interval; <span class="comment">// auto sync loop interval in milliseconds</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  boost::thread m_syncing_thread; <span class="comment">// thread for auto sync loop</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  boost::mutex m_syncing_mutex; <span class="comment">// synchronize auto sync loop</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  std::atomic<bool> m_syncing_thread_done; <span class="comment">// whether or not the syncing thread is shut down</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordtype">void</span> sync_thread_func(); <span class="comment">// function to run thread with syncing loop</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> lock_and_sync(boost::optional<uint64_t> start_height = boost::none); <span class="comment">// internal function to synchronize request to sync and rescan</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="structmonero_1_1monero__sync__result.html">monero_sync_result</a> sync_aux(boost::optional<uint64_t> start_height = boost::none); <span class="comment">// internal function to immediately block, sync, and report progress</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  };</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div><div class="ttc" id="structmonero_1_1monero__multisig__info_html"><div class="ttname"><a href="structmonero_1_1monero__multisig__info.html">monero::monero_multisig_info</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:407</div></div>
|
|
<div class="ttc" id="namespacemonero_html"><div class="ttname"><a href="namespacemonero.html">monero</a></div><div class="ttdef"><b>Definition:</b> monero_daemon.cpp:58</div></div>
|
|
<div class="ttc" id="classmonero_1_1monero__wallet_html"><div class="ttname"><a href="classmonero_1_1monero__wallet.html">monero::monero_wallet</a></div><div class="ttdef"><b>Definition:</b> monero_wallet.h:123</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__integrated__address_html"><div class="ttname"><a href="structmonero_1_1monero__integrated__address.html">monero::monero_integrated_address</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:318</div></div>
|
|
<div class="ttc" id="classmonero_1_1monero__wallet__listener_html"><div class="ttname"><a href="classmonero_1_1monero__wallet__listener.html">monero::monero_wallet_listener</a></div><div class="ttdef"><b>Definition:</b> monero_wallet.h:90</div></div>
|
|
<div class="ttc" id="classmonero_1_1monero__sync__listener_html"><div class="ttname"><a href="classmonero_1_1monero__sync__listener.html">monero::monero_sync_listener</a></div><div class="ttdef"><b>Definition:</b> monero_wallet.h:72</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__multisig__init__result_html"><div class="ttname"><a href="structmonero_1_1monero__multisig__init__result.html">monero::monero_multisig_init_result</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:421</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__tx__query_html"><div class="ttname"><a href="structmonero_1_1monero__tx__query.html">monero::monero_tx_query</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:274</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__multisig__sign__result_html"><div class="ttname"><a href="structmonero_1_1monero__multisig__sign__result.html">monero::monero_multisig_sign_result</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:431</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__version_html"><div class="ttname"><a href="structmonero_1_1monero__version.html">monero::monero_version</a></div><div class="ttdef"><b>Definition:</b> monero_daemon_model.h:101</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__tx__wallet_html"><div class="ttname"><a href="structmonero_1_1monero__tx__wallet.html">monero::monero_tx_wallet</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:246</div></div>
|
|
<div class="ttc" id="namespacemonero_html_ad102bb6207c4abe9d875f8b0edc1a45e"><div class="ttname"><a href="namespacemonero.html#ad102bb6207c4abe9d875f8b0edc1a45e">monero::monero_send_priority</a></div><div class="ttdeci">monero_send_priority</div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:329</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__sync__result_html"><div class="ttname"><a href="structmonero_1_1monero__sync__result.html">monero::monero_sync_result</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:68</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__tx__set_html"><div class="ttname"><a href="structmonero_1_1monero__tx__set.html">monero::monero_tx_set</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:304</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__output__query_html"><div class="ttname"><a href="structmonero_1_1monero__output__query.html">monero::monero_output_query</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:225</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__send__request_html"><div class="ttname"><a href="structmonero_1_1monero__send__request.html">monero::monero_send_request</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:339</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__account_html"><div class="ttname"><a href="structmonero_1_1monero__account.html">monero::monero_account</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:97</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__rpc__connection_html"><div class="ttname"><a href="structmonero_1_1monero__rpc__connection.html">monero::monero_rpc_connection</a></div><div class="ttdef"><b>Definition:</b> monero_daemon_model.h:113</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__subaddress_html"><div class="ttname"><a href="structmonero_1_1monero__subaddress.html">monero::monero_subaddress</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:80</div></div>
|
|
<div class="ttc" id="structmonero_1_1monero__transfer__query_html"><div class="ttname"><a href="structmonero_1_1monero__transfer__query.html">monero::monero_transfer_query</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_model.h:183</div></div>
|
|
<div class="ttc" id="namespacemonero_html_ac9023a1d513e2526775d1e061bb5beed"><div class="ttname"><a href="namespacemonero.html#ac9023a1d513e2526775d1e061bb5beed">monero::monero_network_type</a></div><div class="ttdeci">monero_network_type</div><div class="ttdef"><b>Definition:</b> monero_daemon_model.h:92</div></div>
|
|
<div class="ttc" id="classmonero_1_1monero__wallet__core_html"><div class="ttname"><a href="classmonero_1_1monero__wallet__core.html">monero::monero_wallet_core</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_core.h:81</div></div>
|
|
<div class="ttc" id="structmonero_1_1wallet2__listener_html"><div class="ttname"><a href="structmonero_1_1wallet2__listener.html">monero::wallet2_listener</a></div><div class="ttdef"><b>Definition:</b> monero_wallet_core.cpp:657</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.15
|
|
</small></address>
|
|
</body>
|
|
</html>
|