1
0
Fork 0
mirror of https://github.com/deltachat/deltachat-core.git synced 2025-10-04 18:29:19 +02:00
This commit is contained in:
B. Petersen 2017-12-08 19:16:40 +01:00
parent 2e271d2aa6
commit 71b6c81d80
14 changed files with 254 additions and 112 deletions

View file

@ -853,7 +853,7 @@ EXCLUDE_PATTERNS =
######################################################
EXCLUDE_SYMBOLS = mraheader_t mrapeerstate_t mrmailbox_e2ee_helper_t mrimap_t mrjob_t mrkey_t mrkeyring_t mrloginparam_t mrmime*_t
EXCLUDE_SYMBOLS += mrsaxparser_t mrsimplify_t mrsmtp_t mrsqlite3_t mrstrbuilder_t mrparam_t
EXCLUDE_SYMBOLS += mrsaxparser_t mrsimplify_t mrsmtp_t mrsqlite3_t mrstrbuilder_t mrparam_t mrhash_t mrhashelem_t
######################################################
# The EXAMPLE_PATH tag can be used to specify one or more files or directories

View file

@ -96,27 +96,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrcontact_8h_source.html"><span class="icondoc"></span></a><b>mrcontact.h</b></td><td class="desc"></td></tr>
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrdehtml_8h_source.html"><span class="icondoc"></span></a><b>mrdehtml.h</b></td><td class="desc"></td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrevent_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mrevent_8h.html" target="_self">mrevent.h</a></td><td class="desc">The following constants are used as events reported to the callback given to <a class="el" href="structmrmailbox__t.html#a32825e3e0a1b16679580704a4b43db1a" title="Create a new mailbox object. ">mrmailbox_new()</a> </td></tr>
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrimap_8h_source.html"><span class="icondoc"></span></a><b>mrimap.h</b></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrjob_8h_source.html"><span class="icondoc"></span></a><b>mrjob.h</b></td><td class="desc"></td></tr>
<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrkey_8h_source.html"><span class="icondoc"></span></a><b>mrkey.h</b></td><td class="desc"></td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrkeyring_8h_source.html"><span class="icondoc"></span></a><b>mrkeyring.h</b></td><td class="desc"></td></tr>
<tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrloginparam_8h_source.html"><span class="icondoc"></span></a><b>mrloginparam.h</b></td><td class="desc"></td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrlot_8h_source.html"><span class="icondoc"></span></a><b>mrlot.h</b></td><td class="desc"></td></tr>
<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmailbox_8h_source.html"><span class="icondoc"></span></a><b>mrmailbox.h</b></td><td class="desc"></td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmailbox__internal_8h_source.html"><span class="icondoc"></span></a><b>mrmailbox_internal.h</b></td><td class="desc"></td></tr>
<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmimefactory_8h_source.html"><span class="icondoc"></span></a><b>mrmimefactory.h</b></td><td class="desc"></td></tr>
<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmimeparser_8h_source.html"><span class="icondoc"></span></a><b>mrmimeparser.h</b></td><td class="desc"></td></tr>
<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmsg_8h_source.html"><span class="icondoc"></span></a><b>mrmsg.h</b></td><td class="desc"></td></tr>
<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrosnative_8h_source.html"><span class="icondoc"></span></a><b>mrosnative.h</b></td><td class="desc"></td></tr>
<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrparam_8h_source.html"><span class="icondoc"></span></a><b>mrparam.h</b></td><td class="desc"></td></tr>
<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrpgp_8h_source.html"><span class="icondoc"></span></a><b>mrpgp.h</b></td><td class="desc"></td></tr>
<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrpoortext_8h_source.html"><span class="icondoc"></span></a><b>mrpoortext.h</b></td><td class="desc"></td></tr>
<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsaxparser_8h_source.html"><span class="icondoc"></span></a><b>mrsaxparser.h</b></td><td class="desc"></td></tr>
<tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsimplify_8h_source.html"><span class="icondoc"></span></a><b>mrsimplify.h</b></td><td class="desc"></td></tr>
<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsmtp_8h_source.html"><span class="icondoc"></span></a><b>mrsmtp.h</b></td><td class="desc"></td></tr>
<tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsqlite3_8h_source.html"><span class="icondoc"></span></a><b>mrsqlite3.h</b></td><td class="desc"></td></tr>
<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrstock_8h_source.html"><span class="icondoc"></span></a><b>mrstock.h</b></td><td class="desc"></td></tr>
<tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrtools_8h_source.html"><span class="icondoc"></span></a><b>mrtools.h</b></td><td class="desc"></td></tr>
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrhash_8h_source.html"><span class="icondoc"></span></a><b>mrhash.h</b></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrimap_8h_source.html"><span class="icondoc"></span></a><b>mrimap.h</b></td><td class="desc"></td></tr>
<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrjob_8h_source.html"><span class="icondoc"></span></a><b>mrjob.h</b></td><td class="desc"></td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrkey_8h_source.html"><span class="icondoc"></span></a><b>mrkey.h</b></td><td class="desc"></td></tr>
<tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrkeyring_8h_source.html"><span class="icondoc"></span></a><b>mrkeyring.h</b></td><td class="desc"></td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrloginparam_8h_source.html"><span class="icondoc"></span></a><b>mrloginparam.h</b></td><td class="desc"></td></tr>
<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrlot_8h_source.html"><span class="icondoc"></span></a><b>mrlot.h</b></td><td class="desc"></td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmailbox_8h_source.html"><span class="icondoc"></span></a><b>mrmailbox.h</b></td><td class="desc"></td></tr>
<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmailbox__internal_8h_source.html"><span class="icondoc"></span></a><b>mrmailbox_internal.h</b></td><td class="desc"></td></tr>
<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmimefactory_8h_source.html"><span class="icondoc"></span></a><b>mrmimefactory.h</b></td><td class="desc"></td></tr>
<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmimeparser_8h_source.html"><span class="icondoc"></span></a><b>mrmimeparser.h</b></td><td class="desc"></td></tr>
<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrmsg_8h_source.html"><span class="icondoc"></span></a><b>mrmsg.h</b></td><td class="desc"></td></tr>
<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrosnative_8h_source.html"><span class="icondoc"></span></a><b>mrosnative.h</b></td><td class="desc"></td></tr>
<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrparam_8h_source.html"><span class="icondoc"></span></a><b>mrparam.h</b></td><td class="desc"></td></tr>
<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrpgp_8h_source.html"><span class="icondoc"></span></a><b>mrpgp.h</b></td><td class="desc"></td></tr>
<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrpoortext_8h_source.html"><span class="icondoc"></span></a><b>mrpoortext.h</b></td><td class="desc"></td></tr>
<tr id="row_0_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsaxparser_8h_source.html"><span class="icondoc"></span></a><b>mrsaxparser.h</b></td><td class="desc"></td></tr>
<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsimplify_8h_source.html"><span class="icondoc"></span></a><b>mrsimplify.h</b></td><td class="desc"></td></tr>
<tr id="row_0_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsmtp_8h_source.html"><span class="icondoc"></span></a><b>mrsmtp.h</b></td><td class="desc"></td></tr>
<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrsqlite3_8h_source.html"><span class="icondoc"></span></a><b>mrsqlite3.h</b></td><td class="desc"></td></tr>
<tr id="row_0_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrstock_8h_source.html"><span class="icondoc"></span></a><b>mrstock.h</b></td><td class="desc"></td></tr>
<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="mrtools_8h_source.html"><span class="icondoc"></span></a><b>mrtools.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View file

@ -423,6 +423,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>mrmsg_get_mediainfo()
: <a class="el" href="structmrmsg__t.html#a1c6dfee4004fe0e9b9f90720bad73ecb">mrmsg_t</a>
</li>
<li>mrmsg_get_setupcodebegin()
: <a class="el" href="structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d">mrmsg_t</a>
</li>
<li>mrmsg_get_showpadlock()
: <a class="el" href="structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4">mrmsg_t</a>
</li>

View file

@ -388,6 +388,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>mrmsg_get_mediainfo()
: <a class="el" href="structmrmsg__t.html#a1c6dfee4004fe0e9b9f90720bad73ecb">mrmsg_t</a>
</li>
<li>mrmsg_get_setupcodebegin()
: <a class="el" href="structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d">mrmsg_t</a>
</li>
<li>mrmsg_get_showpadlock()
: <a class="el" href="structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4">mrmsg_t</a>
</li>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -132,6 +132,7 @@ var searchData=
['mrmsg_5fget_5ffilename',['mrmsg_get_filename',['../structmrmsg__t.html#ad0dcfc0a1e33d9a88b7381e368d7895a',1,'mrmsg_t']]],
['mrmsg_5fget_5fheight',['mrmsg_get_height',['../structmrmsg__t.html#a8600ed157b44b1089783e66ce7b33353',1,'mrmsg_t']]],
['mrmsg_5fget_5fmediainfo',['mrmsg_get_mediainfo',['../structmrmsg__t.html#a1c6dfee4004fe0e9b9f90720bad73ecb',1,'mrmsg_t']]],
['mrmsg_5fget_5fsetupcodebegin',['mrmsg_get_setupcodebegin',['../structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d',1,'mrmsg_t']]],
['mrmsg_5fget_5fshowpadlock',['mrmsg_get_showpadlock',['../structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4',1,'mrmsg_t']]],
['mrmsg_5fget_5fstate',['mrmsg_get_state',['../structmrmsg__t.html#a1f411e4be17fb5fe408a1aa74cba90a5',1,'mrmsg_t']]],
['mrmsg_5fget_5fsummary',['mrmsg_get_summary',['../structmrmsg__t.html#a3c14a8dbd6cc7f90c642223a873312e3',1,'mrmsg_t']]],

View file

@ -97,6 +97,7 @@ var searchData=
['mrmsg_5fget_5ffilename',['mrmsg_get_filename',['../structmrmsg__t.html#ad0dcfc0a1e33d9a88b7381e368d7895a',1,'mrmsg_t']]],
['mrmsg_5fget_5fheight',['mrmsg_get_height',['../structmrmsg__t.html#a8600ed157b44b1089783e66ce7b33353',1,'mrmsg_t']]],
['mrmsg_5fget_5fmediainfo',['mrmsg_get_mediainfo',['../structmrmsg__t.html#a1c6dfee4004fe0e9b9f90720bad73ecb',1,'mrmsg_t']]],
['mrmsg_5fget_5fsetupcodebegin',['mrmsg_get_setupcodebegin',['../structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d',1,'mrmsg_t']]],
['mrmsg_5fget_5fshowpadlock',['mrmsg_get_showpadlock',['../structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4',1,'mrmsg_t']]],
['mrmsg_5fget_5fstate',['mrmsg_get_state',['../structmrmsg__t.html#a1f411e4be17fb5fe408a1aa74cba90a5',1,'mrmsg_t']]],
['mrmsg_5fget_5fsummary',['mrmsg_get_summary',['../structmrmsg__t.html#a3c14a8dbd6cc7f90c642223a873312e3',1,'mrmsg_t']]],

View file

@ -2833,7 +2833,7 @@ Public Attributes</h2></td></tr>
<p>Signal an ongoing process to stop. </p>
<p>After that, <a class="el" href="structmrmailbox__t.html#ad42351c0369ed1b60f23ee0d6e96bc44" title="Signal an ongoing process to stop. ">mrmailbox_stop_ongoing_process()</a> returns <em>without</em> waiting for the ongoing process to return.</p>
<p>The ongoing process will return ASAP then, however, it may still take a moment. If in doubt, the caller may also decide the kill the thread after a few seconds; eg. the process may hang in a function not under the control of the core (eg. <a class="el" href="mrevent_8h.html#aba8b1a46a18cd05070b301c757a74ddc" title="Request a HTTP-file from the frontend. ">MR_EVENT_HTTP_GET</a>). Another reason for <a class="el" href="structmrmailbox__t.html#ad42351c0369ed1b60f23ee0d6e96bc44" title="Signal an ongoing process to stop. ">mrmailbox_stop_ongoing_process()</a> not to wait is that otherwise it would be GUI-blocking and should be started in another thread then; this would make things even more complicated.</p>
<p>The ongoing process will return ASAP then, however, it may still take a moment. If in doubt, the caller may also decide to kill the thread after a few seconds; eg. the process may hang in a function not under the control of the core (eg. <a class="el" href="mrevent_8h.html#aba8b1a46a18cd05070b301c757a74ddc" title="Request a HTTP-file from the frontend. ">MR_EVENT_HTTP_GET</a>). Another reason for <a class="el" href="structmrmailbox__t.html#ad42351c0369ed1b60f23ee0d6e96bc44" title="Signal an ongoing process to stop. ">mrmailbox_stop_ongoing_process()</a> not to wait is that otherwise it would be GUI-blocking and should be started in another thread then; this would make things even more complicated.</p>
<p>Typical ongoing processes are started by <a class="el" href="structmrmailbox__t.html#a42ca741cc08785585f1dc74d515be5ef" title="Configure and connect a mailbox. ">mrmailbox_configure_and_connect()</a>, <a class="el" href="structmrmailbox__t.html#a8662e21a209936e2070f6a59479bfef4" title="Initiate Autocrypt Key Transfer. ">mrmailbox_initiate_key_transfer()</a> or <a class="el" href="structmrmailbox__t.html#a7db60273eae74ebbc74231f4c6d7204f" title="Import/export things. ">mrmailbox_imex()</a>. As there is always at most only one onging process at the same time, there is no need to define <em>which</em> process to exit.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@ -2868,11 +2868,11 @@ Public Attributes</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The setup code. Must be free()'d after usage. On errors, eg. if the message could not be sent, NULL is returned.</dd></dl>
<p>Before starting the key transfer with this function, the user should be asked:</p>
<div class="fragment"><div class="line"><span class="stringliteral">&quot;The &#39;Autocrypt Key Transfer&#39; requires that the mail client on the other device is Autocrypt-compliant.</span></div><div class="line"><span class="stringliteral">You can then send the key to yourself. The key will be encrypted by a setup code which is displayed here and must be typed on the other device.&quot;</span></div></div><!-- fragment --><p>After that, this function should be called to send the Autocrypt setup message. The required setup code is then returned in the following format:</p>
<div class="fragment"><div class="line"><span class="stringliteral">&quot;The &#39;Autocrypt Key Transfer&#39; requires that the mail client on the other device is Autocrypt-compliant.</span></div><div class="line"><span class="stringliteral">You can then send your key to yourself. Your key will be encrypted by a setup code which is displayed here and must be typed on the other device.&quot;</span></div></div><!-- fragment --><p>After that, this function should be called to send the Autocrypt setup message. The function creates the setup message and waits until it is really sent. As this may take a while, it is recommended to start the function in a separate thread; to interrupt it, you can use <a class="el" href="structmrmailbox__t.html#ad42351c0369ed1b60f23ee0d6e96bc44" title="Signal an ongoing process to stop. ">mrmailbox_stop_ongoing_process()</a>.</p>
<p>After everything succeeded, the required setup code is returned in the following format:</p>
<div class="fragment"><div class="line">1234-1234-1234-1234-1234-1234-1234-1234-1234</div></div><!-- fragment --><p>The setup code should be shown to the user then:</p>
<div class="fragment"><div class="line"><span class="stringliteral">&quot;The key has been sent to yourself. Switch to the other device and</span></div><div class="line"><span class="stringliteral">open the setup message. You should be prompted for a setup code. Type</span></div><div class="line"><span class="stringliteral">the following digits into the prompt:</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234 -</span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234 -</span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">Once you&#39;re done, your other device will be ready to use Autocrypt.&quot;</span></div></div><!-- fragment --><p>On the <em>other device</em> you will call <a class="el" href="structmrmailbox__t.html#a13fde8828b56c0fe94227d0b105c5708" title="Continue the Autocrypt Key Transfer on another device. ">mrmailbox_continue_key_transfer()</a> then for setup messages identified by <a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a" title="Check if the message is an Autocrypt Setup Message. ">mrmsg_is_setupmessage()</a>.</p>
<p>For more details about the Autocrypt setup process, please refer to <a href="https://autocrypt.org/en/latest/level1.html#autocrypt-setup-message">https://autocrypt.org/en/latest/level1.html#autocrypt-setup-message</a></p>
<p>NB: If the user has never sent a message before, this function requires a key to be created. In this case, the function may take some seconds to finish and it might be a good idea to start it in a separate thread. If so, it can be interrupted using <a class="el" href="structmrmailbox__t.html#ad42351c0369ed1b60f23ee0d6e96bc44" title="Signal an ongoing process to stop. ">mrmailbox_stop_ongoing_process()</a>. </p>
<div class="fragment"><div class="line"><span class="stringliteral">&quot;Your key has been sent to yourself. Switch to the other device and</span></div><div class="line"><span class="stringliteral">open the setup message. You should be prompted for a setup code. Type</span></div><div class="line"><span class="stringliteral">the following digits into the prompt:</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234 -</span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234 -</span></div><div class="line"><span class="stringliteral">1234 - 1234 - 1234</span></div><div class="line"><span class="stringliteral"></span></div><div class="line"><span class="stringliteral">Once you&#39;re done, your other device will be ready to use Autocrypt.&quot;</span></div></div><!-- fragment --><p>On the <em>other device</em> you will call <a class="el" href="structmrmailbox__t.html#a13fde8828b56c0fe94227d0b105c5708" title="Continue the Autocrypt Key Transfer on another device. ">mrmailbox_continue_key_transfer()</a> then for setup messages identified by <a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a" title="Check if the message is an Autocrypt Setup Message. ">mrmsg_is_setupmessage()</a>.</p>
<p>For more details about the Autocrypt setup process, please refer to <a href="https://autocrypt.org/en/latest/level1.html#autocrypt-setup-message">https://autocrypt.org/en/latest/level1.html#autocrypt-setup-message</a> </p>
</div>
</div>
@ -2908,6 +2908,7 @@ Public Attributes</h2></td></tr>
<p>Continue the Autocrypt Key Transfer on another device. </p>
<p>If you have started the key transfer on another device using <a class="el" href="structmrmailbox__t.html#a8662e21a209936e2070f6a59479bfef4" title="Initiate Autocrypt Key Transfer. ">mrmailbox_initiate_key_transfer()</a> and you've detected a setup message with <a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a" title="Check if the message is an Autocrypt Setup Message. ">mrmsg_is_setupmessage()</a>, you should prompt the user for the setup code and call this function then.</p>
<p>You can use <a class="el" href="structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d" title="Get the first characters of the setup code. ">mrmsg_get_setupcodebegin()</a> to give the user a hint about the code (useful if the user has created several messages and should not enter the wrong code).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mailbox</td><td>The mailbox object. </td></tr>

View file

@ -99,22 +99,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#ad0dcfc0a1e33d9a88b7381e368d7895a">mrmsg_get_filename</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a8600ed157b44b1089783e66ce7b33353">mrmsg_get_height</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a1c6dfee4004fe0e9b9f90720bad73ecb">mrmsg_get_mediainfo</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4">mrmsg_get_showpadlock</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a1f411e4be17fb5fe408a1aa74cba90a5">mrmsg_get_state</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a3c14a8dbd6cc7f90c642223a873312e3">mrmsg_get_summary</a>(mrmsg_t *msg, mrchat_t *chat)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a8c8c1f342f01439ae40c5cf37532387e">mrmsg_get_summarytext</a>(mrmsg_t *msg, int approx_characters)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#ae549e58d9ae2f73ad76bd27636b43982">mrmsg_get_text</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#af5bf52ee1adbc55c9c9d4699afee87fb">mrmsg_get_timestamp</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a705454903b36ded8c3cd43a2044de60a">mrmsg_get_type</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#adfe10086430b562b8df4e45668b51927">mrmsg_get_width</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a3256ed8c6a55a6c1a30e0fce33b85421">mrmsg_is_forwarded</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a32d23bac4bf35ed5f8c2cfbb93d636f5">mrmsg_is_increation</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a7714f0f25b2e933dae0898965373b27d">mrmsg_is_sent</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a">mrmsg_is_setupmessage</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#af202a7e7527df4681cd3ea24f779848f">mrmsg_is_starred</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a752209192e3a022d087fe6c647fb3ad9">mrmsg_is_systemcmd</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a9e5dc81d4e814284b465ad23abbfb6cb">mrmsg_latefiling_mediasize</a>(mrmsg_t *msg, int width, int height, int duration)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#aa33212e41efff643aa7290753f3d9b02">mrmsg_unref</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d">mrmsg_get_setupcodebegin</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a7f1bd3d845bbc5face7636aed8f8afd4">mrmsg_get_showpadlock</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a1f411e4be17fb5fe408a1aa74cba90a5">mrmsg_get_state</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a3c14a8dbd6cc7f90c642223a873312e3">mrmsg_get_summary</a>(mrmsg_t *msg, mrchat_t *chat)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a8c8c1f342f01439ae40c5cf37532387e">mrmsg_get_summarytext</a>(mrmsg_t *msg, int approx_characters)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#ae549e58d9ae2f73ad76bd27636b43982">mrmsg_get_text</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#af5bf52ee1adbc55c9c9d4699afee87fb">mrmsg_get_timestamp</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a705454903b36ded8c3cd43a2044de60a">mrmsg_get_type</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#adfe10086430b562b8df4e45668b51927">mrmsg_get_width</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a3256ed8c6a55a6c1a30e0fce33b85421">mrmsg_is_forwarded</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a32d23bac4bf35ed5f8c2cfbb93d636f5">mrmsg_is_increation</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a7714f0f25b2e933dae0898965373b27d">mrmsg_is_sent</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a">mrmsg_is_setupmessage</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#af202a7e7527df4681cd3ea24f779848f">mrmsg_is_starred</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#a752209192e3a022d087fe6c647fb3ad9">mrmsg_is_systemcmd</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structmrmsg__t.html#a9e5dc81d4e814284b465ad23abbfb6cb">mrmsg_latefiling_mediasize</a>(mrmsg_t *msg, int width, int height, int duration)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structmrmsg__t.html#aa33212e41efff643aa7290753f3d9b02">mrmsg_unref</a>(mrmsg_t *msg)</td><td class="entry"><a class="el" href="structmrmsg__t.html">mrmsg_t</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>

View file

@ -160,6 +160,9 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:ab669ae58ca580d2694c6df3c95ddb89a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a">mrmsg_is_setupmessage</a> (<a class="el" href="structmrmsg__t.html">mrmsg_t</a> *msg)</td></tr>
<tr class="memdesc:ab669ae58ca580d2694c6df3c95ddb89a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the message is an Autocrypt Setup Message. <a href="#ab669ae58ca580d2694c6df3c95ddb89a">More...</a><br /></td></tr>
<tr class="separator:ab669ae58ca580d2694c6df3c95ddb89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ef8629603b2462f890dfbbe304c8f7d"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrmsg__t.html#a7ef8629603b2462f890dfbbe304c8f7d">mrmsg_get_setupcodebegin</a> (<a class="el" href="structmrmsg__t.html">mrmsg_t</a> *msg)</td></tr>
<tr class="memdesc:a7ef8629603b2462f890dfbbe304c8f7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first characters of the setup code. <a href="#a7ef8629603b2462f890dfbbe304c8f7d">More...</a><br /></td></tr>
<tr class="separator:a7ef8629603b2462f890dfbbe304c8f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32d23bac4bf35ed5f8c2cfbb93d636f5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrmsg__t.html#a32d23bac4bf35ed5f8c2cfbb93d636f5">mrmsg_is_increation</a> (<a class="el" href="structmrmsg__t.html">mrmsg_t</a> *msg)</td></tr>
<tr class="memdesc:a32d23bac4bf35ed5f8c2cfbb93d636f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a message is still in creation. <a href="#a32d23bac4bf35ed5f8c2cfbb93d636f5">More...</a><br /></td></tr>
<tr class="separator:a32d23bac4bf35ed5f8c2cfbb93d636f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -787,6 +790,33 @@ Public Attributes</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1=message is a setup message, 0=no setup message. For setup messages, <a class="el" href="structmrmsg__t.html#a752209192e3a022d087fe6c647fb3ad9" title="Check if the message is a system command. ">mrmsg_is_systemcmd()</a> returns 1 and <a class="el" href="structmrmsg__t.html#a705454903b36ded8c3cd43a2044de60a" title="Get the type of the message. ">mrmsg_get_type()</a> returns MR_MSG_FILE. </dd></dl>
</div>
</div>
<a class="anchor" id="a7ef8629603b2462f890dfbbe304c8f7d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * mrmsg_get_setupcodebegin </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmrmsg__t.html">mrmsg_t</a> *&#160;</td>
<td class="paramname"><em>msg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the first characters of the setup code. </p>
<p>Typically, this is used to pre-fill the first entry field of the setup code. If the user has several setup messages, he can be sure typing in the correct digits.</p>
<p>To check, if a message is a setup message, use <a class="el" href="structmrmsg__t.html#ab669ae58ca580d2694c6df3c95ddb89a" title="Check if the message is an Autocrypt Setup Message. ">mrmsg_is_setupmessage()</a>. To decrypt a secret key from a setup message, use <a class="el" href="structmrmailbox__t.html#a13fde8828b56c0fe94227d0b105c5708" title="Continue the Autocrypt Key Transfer on another device. ">mrmailbox_continue_key_transfer()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>The message object.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Typically, the first two digits of the setup code or an empty string if unknown. NULL is never returned. Must be free()'d when done. </dd></dl>
</div>
</div>
<a class="anchor" id="a32d23bac4bf35ed5f8c2cfbb93d636f5"></a>