This repository has been archived on 2020-05-10. You can view files and clone it, but cannot push or open issues or pull requests.
mastodon-cpp/docs/namespaceMastodon.html

373 lines
70 KiB
HTML
Raw Normal View History

2019-09-20 18:39:40 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2019-04-14 06:36:34 +02:00
<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"/>
2019-09-20 18:39:40 +02:00
<meta name="generator" content="Doxygen 1.8.15"/>
2019-04-14 06:36:34 +02:00
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mastodon-cpp: Mastodon Namespace Reference</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="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">mastodon-cpp
2019-09-20 18:39:40 +02:00
&#160;<span id="projectnumber">0.110.0</span>
2019-04-14 06:36:34 +02:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2019-09-20 18:39:40 +02:00
<!-- Generated by Doxygen 1.8.15 -->
2019-04-14 06:36:34 +02:00
<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&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
2019-09-20 18:39:40 +02:00
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
2019-04-14 06:36:34 +02:00
<div class="headertitle">
<div class="title">Mastodon Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
2019-09-20 18:39:40 +02:00
<p>Collection of things to interface with server software that implements the <a class="el" href="namespaceMastodon.html" title="Collection of things to interface with server software that implements the Mastodon API.">Mastodon</a> <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a>.
2019-04-14 06:36:34 +02:00
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceMastodon_1_1Easy"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon_1_1Easy.html">Easy</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:namespaceMastodon_1_1Easy"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of things that make it easier to interface with server software that implements the <a class="el" href="namespaceMastodon.html" title="Collection of things to interface with server software that implements the Mastodon API.">Mastodon</a> <a class="el" href="classMastodon_1_1Easy_1_1API.html" title="Child of Mastodon::API with abstract methods.">API</a>. <br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMastodon_1_1API.html">API</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to the <a class="el" href="namespaceMastodon.html" title="Collection of things to interface with server software that implements the Mastodon API.">Mastodon</a> <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a>. <a href="classMastodon_1_1API.html#details">More...</a><br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMastodon_1_1param.html">param</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single parameter. <a href="structMastodon_1_1param.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMastodon_1_1parameters.html">parameters</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector of <a class="el" href="structMastodon_1_1param.html" title="A single parameter.">Mastodon::param</a>, used for passing parameters in calls. <a href="structMastodon_1_1parameters.html#details">More...</a><br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMastodon_1_1return__base.html">return_base</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basis for return types. <a href="structMastodon_1_1return__base.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMastodon_1_1return__call.html">return_call</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return type for <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a> calls. <a href="structMastodon_1_1return__call.html#details">More...</a><br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ac21d21d7706ccde099779da540cbb6c9"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structMastodon_1_1return__base.html">Mastodon::return_base</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#ac21d21d7706ccde099779da540cbb6c9">return_base</a></td></tr>
<tr class="memdesc:ac21d21d7706ccde099779da540cbb6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basis for return types. <a href="#ac21d21d7706ccde099779da540cbb6c9">More...</a><br /></td></tr>
<tr class="separator:ac21d21d7706ccde099779da540cbb6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade2bfe3f2cb66b2cb6ddfe24d05bcb19"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structMastodon_1_1return__call.html">Mastodon::return_call</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#ade2bfe3f2cb66b2cb6ddfe24d05bcb19">return_call</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:ade2bfe3f2cb66b2cb6ddfe24d05bcb19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return type for <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a> calls. <a href="#ade2bfe3f2cb66b2cb6ddfe24d05bcb19">More...</a><br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:ade2bfe3f2cb66b2cb6ddfe24d05bcb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8ffec5a51251879486cf91277760b8"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structMastodon_1_1param.html">Mastodon::param</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#a3f8ffec5a51251879486cf91277760b8">param</a></td></tr>
<tr class="memdesc:a3f8ffec5a51251879486cf91277760b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single parameter. <a href="#a3f8ffec5a51251879486cf91277760b8">More...</a><br /></td></tr>
<tr class="separator:a3f8ffec5a51251879486cf91277760b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf95922e677cfc5b25eb56b4b6406d51"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structMastodon_1_1parameters.html">Mastodon::parameters</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#aaf95922e677cfc5b25eb56b4b6406d51">parameters</a></td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memdesc:aaf95922e677cfc5b25eb56b4b6406d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector of <a class="el" href="structMastodon_1_1param.html" title="A single parameter.">Mastodon::param</a>, used for passing parameters in calls. <a href="#aaf95922e677cfc5b25eb56b4b6406d51">More...</a><br /></td></tr>
2019-04-14 06:36:34 +02:00
<tr class="separator:aaf95922e677cfc5b25eb56b4b6406d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a1b4c13dfd9ccc43a2328d99a93b34452"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#a1b4c13dfd9ccc43a2328d99a93b34452">http_method</a> { <br />
&#160;&#160;<b>GET</b>,
<b>PATCH</b>,
<b>POST</b>,
<b>PUT</b>,
<br />
&#160;&#160;<b>DELETE</b>,
<b>GET_STREAM</b>
<br />
}</td></tr>
<tr class="memdesc:a1b4c13dfd9ccc43a2328d99a93b34452"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP methods. Used in API calls. <a href="namespaceMastodon.html#a1b4c13dfd9ccc43a2328d99a93b34452">More...</a><br /></td></tr>
<tr class="separator:a1b4c13dfd9ccc43a2328d99a93b34452"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-09-20 18:39:40 +02:00
<tr class="memitem:a3a26b8cc81cf53cb6d7609125969016f"><td class="memItemLeft" align="right" valign="top"><a id="a3a26b8cc81cf53cb6d7609125969016f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>error</b> { <br />
&#160;&#160;<b>OK</b> = 0,
<b>INVALID_ARGUMENT</b> = 1,
<b>URL_CHANGED</b> = 10,
<b>CONNECTION_TIMEOUT</b> = 11,
<br />
&#160;&#160;<b>CONNECTION_REFUSED</b> = 12,
<b>DNS</b> = 13,
<b>ENCRYPTION</b> = 14,
<b>UNKNOWN</b> = 127
<br />
}</td></tr>
<tr class="separator:a3a26b8cc81cf53cb6d7609125969016f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac158102db9a826fb398440b80ff30d48"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#ac158102db9a826fb398440b80ff30d48">urlencode</a> (const string &amp;str)</td></tr>
<tr class="memdesc:ac158102db9a826fb398440b80ff30d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Percent-encodes a string. <a href="#ac158102db9a826fb398440b80ff30d48">More...</a><br /></td></tr>
<tr class="separator:ac158102db9a826fb398440b80ff30d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf85e4594279ae65238596ed94e82810"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#acf85e4594279ae65238596ed94e82810">urldecode</a> (const string &amp;str)</td></tr>
<tr class="memdesc:acf85e4594279ae65238596ed94e82810"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes a percent-encoded string. <a href="#acf85e4594279ae65238596ed94e82810">More...</a><br /></td></tr>
<tr class="separator:acf85e4594279ae65238596ed94e82810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae55e69517007dde071f01dcafd44ad36"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#ae55e69517007dde071f01dcafd44ad36">unescape_html</a> (const string &amp;html)</td></tr>
<tr class="memdesc:ae55e69517007dde071f01dcafd44ad36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces HTML entities with UTF-8 characters. <a href="#ae55e69517007dde071f01dcafd44ad36">More...</a><br /></td></tr>
<tr class="separator:ae55e69517007dde071f01dcafd44ad36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea84ae2c771983f331579ec2c4a534be"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceMastodon.html#aea84ae2c771983f331579ec2c4a534be">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="structMastodon_1_1return__call.html">return_call</a> &amp;ret)</td></tr>
<tr class="separator:aea84ae2c771983f331579ec2c4a534be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-04-14 06:36:34 +02:00
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
2019-09-20 18:39:40 +02:00
<div class="textblock"><p>Collection of things to interface with server software that implements the <a class="el" href="namespaceMastodon.html" title="Collection of things to interface with server software that implements the Mastodon API.">Mastodon</a> <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a>. </p>
2019-04-14 06:36:34 +02:00
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a3f8ffec5a51251879486cf91277760b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8ffec5a51251879486cf91277760b8">&#9670;&nbsp;</a></span>param</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structMastodon_1_1param.html">Mastodon::param</a> <a class="el" href="structMastodon_1_1param.html">Mastodon::param</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A single parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>The key as a string. </td></tr>
<tr><td class="paramname">values</td><td>The values as a vector of strings.</td></tr>
</table>
</dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
</div>
</div>
<a id="aaf95922e677cfc5b25eb56b4b6406d51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf95922e677cfc5b25eb56b4b6406d51">&#9670;&nbsp;</a></span>parameters</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structMastodon_1_1parameters.html">Mastodon::parameters</a> <a class="el" href="structMastodon_1_1parameters.html">Mastodon::parameters</a></td>
</tr>
</table>
</div><div class="memdoc">
2019-09-20 18:39:40 +02:00
<p>Vector of <a class="el" href="structMastodon_1_1param.html" title="A single parameter.">Mastodon::param</a>, used for passing parameters in calls. </p>
2019-04-14 06:36:34 +02:00
<p>The only difference to a std::vector&lt;param&gt; is the added member find.</p>
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="namespaceMastodon.html#aaf95922e677cfc5b25eb56b4b6406d51">parameters</a> p =</div><div class="line"> {</div><div class="line"> { <span class="stringliteral">&quot;media_ids&quot;</span>, { <span class="stringliteral">&quot;1234&quot;</span>, <span class="stringliteral">&quot;4321&quot;</span> } },</div><div class="line"> { <span class="stringliteral">&quot;status&quot;</span>, { <span class="stringliteral">&quot;Hello world!&quot;</span> } }</div><div class="line"> };</div></div><!-- fragment --><dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
</div>
</div>
<a id="ac21d21d7706ccde099779da540cbb6c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac21d21d7706ccde099779da540cbb6c9">&#9670;&nbsp;</a></span>return_base</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structMastodon_1_1return__base.html">Mastodon::return_base</a> <a class="el" href="structMastodon_1_1return__base.html">Mastodon::return_base</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Basis for return types. </p>
<dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
</div>
</div>
<a id="ade2bfe3f2cb66b2cb6ddfe24d05bcb19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade2bfe3f2cb66b2cb6ddfe24d05bcb19">&#9670;&nbsp;</a></span>return_call</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structMastodon_1_1return__call.html">Mastodon::return_call</a> <a class="el" href="structMastodon_1_1return__call.html">Mastodon::return_call</a></td>
</tr>
</table>
</div><div class="memdoc">
2019-09-20 18:39:40 +02:00
<p>Return type for <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a> calls. </p>
2019-04-19 07:05:28 +02:00
<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="structMastodon_1_1return__call.html">Mastodon::return_call</a> ret = masto.get(Mastodon::API::v1::instance);</div><div class="line"><span class="keywordflow">if</span> (!ret) <span class="comment">// Or ret.error_code != 0</span></div><div class="line">{</div><div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Error &quot;</span> &lt;&lt; std::to_string(ret.<a class="code" href="structMastodon_1_1return__base.html#a12cebffae19249cac4c9e4ae9f95391a">error_code</a>);</div><div class="line"> cout &lt;&lt; <span class="stringliteral">&quot; (HTTP &quot;</span> &lt;&lt; std::to_string(ret.<a class="code" href="structMastodon_1_1return__base.html#af62546b8b4bb03899ddbec770065e0b6">http_error_code</a>) &lt;&lt; <span class="stringliteral">&quot;): &quot;</span>;</div><div class="line"> cout &lt;&lt; ret.<a class="code" href="structMastodon_1_1return__base.html#ab902d5ecac698fadbdcabcd99d0ce754">error_message</a> &lt;&lt; endl</div><div class="line">}</div><div class="line"><span class="keywordflow">else</span></div><div class="line">{</div><div class="line"> cout &lt;&lt; ret &lt;&lt; endl; <span class="comment">// Or ret.answer</span></div><div class="line">}</div></div><!-- fragment --><dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
2019-04-14 06:36:34 +02:00
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a1b4c13dfd9ccc43a2328d99a93b34452"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b4c13dfd9ccc43a2328d99a93b34452">&#9670;&nbsp;</a></span>http_method</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespaceMastodon.html#a1b4c13dfd9ccc43a2328d99a93b34452">Mastodon::http_method</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
2019-09-20 18:39:40 +02:00
<p>HTTP methods. Used in <a class="el" href="classMastodon_1_1API.html" title="Interface to the Mastodon API.">API</a> calls. </p>
2019-04-14 06:36:34 +02:00
<dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; GET,</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; PATCH,</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; POST,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; PUT,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; DELETE,</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; GET_STREAM</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; };</div></div><!-- fragment -->
2019-09-20 18:39:40 +02:00
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aea84ae2c771983f331579ec2c4a534be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea84ae2c771983f331579ec2c4a534be">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; Mastodon::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structMastodon_1_1return__call.html">return_call</a> &amp;&#160;</td>
<td class="paramname"><em>ret</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section since"><dt>Since</dt><dd>0.100.0 </dd></dl>
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; out &lt;&lt; ret.answer;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> out;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="ae55e69517007dde071f01dcafd44ad36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae55e69517007dde071f01dcafd44ad36">&#9670;&nbsp;</a></span>unescape_html()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string Mastodon::unescape_html </td>
<td>(</td>
<td class="paramtype">const string &amp;&#160;</td>
<td class="paramname"><em>html</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Replaces HTML entities with UTF-8 characters. </p>
<pre class="fragment"> Supports named and numbered entities, decimal and
hexadecimal.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">html</td><td>The html to unescape.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The unescaped string.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.105.0 </dd></dl>
<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;{</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">string</span> buffer = html;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordtype">string</span> output = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="comment">// Used to convert int to utf-8 char</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; std::wstring_convert&lt;std::codecvt_utf8&lt;char32_t&gt;, char32_t&gt; u8c;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">// Matches numbered entities between 1 and 8 digits, decimal or hexadecimal</span></div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; std::regex re_entity(<span class="stringliteral">&quot;&amp;#(x)?([[:alnum:]]{1,8});&quot;</span>);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; std::smatch match;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">while</span> (std::regex_search(buffer, match, re_entity))</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; char32_t codepoint = 0;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// &#39;x&#39; in front of the number means it&#39;s hexadecimal, else decimal.</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">if</span> (match[1].length() == 1)</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; codepoint = std::stoi(match[2].str(), <span class="keyword">nullptr</span>, 16);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; codepoint = std::stoi(match[2].str(), <span class="keyword">nullptr</span>, 10);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; output += match.prefix().str() + u8c.to_bytes(codepoint);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; buffer = match.suffix().str();</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; output += buffer;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// Source: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="comment">// entity_references#Character_entity_references_in_HTML</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keyword">const</span> std::array&lt;const std::pair&lt;const string, const char32_t&gt;, 258&gt;
</div>
</div>
<a id="acf85e4594279ae65238596ed94e82810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf85e4594279ae65238596ed94e82810">&#9670;&nbsp;</a></span>urldecode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string Mastodon::urldecode </td>
<td>(</td>
<td class="paramtype">const string &amp;&#160;</td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes a percent-encoded string. </p>
<pre class="fragment"> See RFC 3986 section 2.1 for more info.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>The string to decode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded string.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.105.0 </dd></dl>
</div>
</div>
<a id="ac158102db9a826fb398440b80ff30d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac158102db9a826fb398440b80ff30d48">&#9670;&nbsp;</a></span>urlencode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string Mastodon::urlencode </td>
<td>(</td>
<td class="paramtype">const string &amp;&#160;</td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Percent-encodes a string. </p>
<pre class="fragment"> This is done automatically where necessary. The only time you
should use this, is if you use get(const string &amp;call, string
&amp;answer).
See RFC 3986 section 2.1 for more info.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>The string to encode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The percent-encoded string.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.105.0 </dd></dl>
2019-04-14 06:36:34 +02:00
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
2019-09-20 18:39:40 +02:00
</a> 1.8.15
2019-04-14 06:36:34 +02:00
</small></address>
</body>
</html>