1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>Qt Cryptographic Architecture: QCA::SASLContext Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.2 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
<li><a href="files.html"><span>Files</span></a></li>
15
<li><a href="dirs.html"><span>Directories</span></a></li>
16
<li><a href="pages.html"><span>Related Pages</span></a></li>
17
<li><a href="examples.html"><span>Examples</span></a></li>
22
<li><a href="annotated.html"><span>Class List</span></a></li>
23
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
<li><a href="functions.html"><span>Class Members</span></a></li>
28
<a class="el" href="namespaceQCA.html">QCA</a>::<a class="el" href="classQCA_1_1SASLContext.html">SASLContext</a></div>
29
<h1>QCA::SASLContext Class Reference<br>
31
[<a class="el" href="group__ProviderAPI.html">QCA provider API</a>]</small>
32
</h1><!-- doxytag: class="QCA::SASLContext" --><!-- doxytag: inherits="QCA::Provider::Context" --><a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> provider.
33
<a href="#_details">More...</a>
35
<code>#include <<a class="el" href="qcaprovider_8h-source.html">QtCrypto</a>></code>
37
<p>Inheritance diagram for QCA::SASLContext:
38
<p><center><img src="classQCA_1_1SASLContext.png" usemap="#QCA::SASLContext_map" border="0" alt=""></center>
39
<map name="QCA::SASLContext_map">
40
<area href="classQCA_1_1Provider_1_1Context.html" alt="QCA::Provider::Context" shape="rect" coords="0,0,143,24">
42
Collaboration diagram for QCA::SASLContext:<p><center><img src="classQCA_1_1SASLContext__coll__graph.png" border="0" usemap="#QCA_1_1SASLContext__coll__map" alt="Collaboration graph"></center>
43
<map name="QCA_1_1SASLContext__coll__map">
44
<area shape="rect" href="classQCA_1_1Provider_1_1Context.html" title="Internal context class used for the plugin." alt="" coords="5,7,189,33"></map>
45
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classQCA_1_1SASLContext-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
47
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
48
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7">Result</a> { <br>
49
<a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7921b6a3a392e9a742666a92260275bd7">Success</a>,
50
<a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7ab35895ebf3f45229b4ab79f109e1f26">Error</a>,
51
<a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c710f0824aced5f0b38ac2eb7e7e705641">Params</a>,
52
<a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7d063b66f1397ce4436bb9511f09b0ea5">AuthCheck</a>,
54
<a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7ba6030cba03fa11b380bac218840357e">Continue</a>
58
<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466">resultsReady</a> ()</td></tr>
61
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1SASL.html#68bc5ac69884a108b9068bc8e18a2af7">SASL::AuthCondition</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#2b607cb0f19b5d4e6fea01b889f4539b">authCondition</a> () const=0</td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#e7bd5aa3ff3d3740c71e1c60e72426e6">authzid</a> () const=0</td></tr>
66
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1SASL_1_1Params.html">SASL::Params</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#a3cb8c40dca27cc0a8860e0238444f86">clientParams</a> () const=0</td></tr>
68
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#d9579fe898586bd0746e5ca4ac8cc7ec">encoded</a> () const=0</td></tr>
70
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#ba61844884f2831fcf5704d053e6cde1">haveClientInit</a> () const=0</td></tr>
72
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#4f28aa43d2edc9b5b2a3251b976fd182">mech</a> () const=0</td></tr>
74
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#9cb9ff5e658107576183deb4269e2cde">mechlist</a> () const=0</td></tr>
76
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#fb0de515d310b726b06565be8dc607da">nextStep</a> (const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> &from_net)=0</td></tr>
78
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#0361ece86da2c2f5b5f0f9ae86e01aed">realmlist</a> () const=0</td></tr>
80
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#cc59388f35f357b212325656073b5f59">reset</a> ()=0</td></tr>
82
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724">result</a> () const=0</td></tr>
84
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#7698637340129d9147856783ce1a3213">SASLContext</a> (<a class="el" href="classQCA_1_1Provider.html">Provider</a> *p)</td></tr>
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#0611a515605fbd2128517222f223e4a7">serverFirstStep</a> (const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &mech, const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> *clientInit)=0</td></tr>
88
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#cbdf40f72b60a96bdb3eca534a5cd6ff">setClientParams</a> (const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> *user, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> *authzid, const <a class="el" href="classQCA_1_1SecureArray.html">SecureArray</a> *pass, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> *realm)=0</td></tr>
90
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#fb8ff63a9747affe909955ce3a097575">setConstraints</a> (<a class="el" href="classQCA_1_1SASL.html#fadd5c4ed30e4d0ccaa789967aa12684">SASL::AuthFlags</a> f, int minSSF, int maxSSF)=0</td></tr>
92
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#18073e693a56283a418492f074fdb844">setup</a> (const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &service, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &host, const <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html">HostPort</a> *local, const <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html">HostPort</a> *remote, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &ext_id, int ext_ssf)=0</td></tr>
94
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#79f8eb35c8b1e0e8d0d3eb407901170e">ssf</a> () const=0</td></tr>
96
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#f30c0aa6d5311f7d87bc33d0baa3bb75">startClient</a> (const <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> &mechlist, bool allowClientSendFirst)=0</td></tr>
98
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#5b380093e78dbc54bd82643e86d125b4">startServer</a> (const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &realm, bool disableServerSendLast)=0</td></tr>
100
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#fa3457ed2e522d347a076909d77fb20c">stepData</a> () const=0</td></tr>
102
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#c58192f6f75a2ad008e8cccfa964a415">to_app</a> ()=0</td></tr>
104
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#0ab5bc6a36edc7364d4b4be955864de4">to_net</a> ()=0</td></tr>
106
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#677c83e57caf7a5369a1f2ccc259b66b">tryAgain</a> ()=0</td></tr>
108
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#d993cc4c0961d2719313b54c5b790b8d">update</a> (const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> &from_net, const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> &from_app)=0</td></tr>
110
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#9121e93703243e6384271cfa899b0ebf">username</a> () const=0</td></tr>
112
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext.html#956c04f947f323dd07cac0b0a6b79b49">waitForResultsReady</a> (int msecs)=0</td></tr>
114
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
115
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html">HostPort</a></td></tr>
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience class to hold an IP address and an associated port. <a href="classQCA_1_1SASLContext_1_1HostPort.html#_details">More...</a><br></td></tr>
119
<hr><a name="_details"></a><h2>Detailed Description</h2>
120
<a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> provider.
122
<dl class="note" compact><dt><b>Note:</b></dt><dd>This class is part of the provider plugin interface and should not be used directly by applications. You probably want <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> instead. </dd></dl>
125
<hr><h2>Member Enumeration Documentation</h2>
126
<a class="anchor" name="f6a686e434d22b9458a92bf6241c38c7"></a><!-- doxytag: member="QCA::SASLContext::Result" ref="f6a686e434d22b9458a92bf6241c38c7" args="" -->
127
<div class="memitem">
128
<div class="memproto">
129
<table class="memname">
131
<td class="memname">enum <a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7">QCA::SASLContext::Result</a> </td>
138
Result of a <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> operation.
140
<dl compact><dt><b>Enumerator: </b></dt><dd>
141
<table border="0" cellspacing="2" cellpadding="0">
142
<tr><td valign="top"><em><a class="anchor" name="f6a686e434d22b9458a92bf6241c38c7921b6a3a392e9a742666a92260275bd7"></a><!-- doxytag: member="Success" ref="f6a686e434d22b9458a92bf6241c38c7921b6a3a392e9a742666a92260275bd7" args="" -->Success</em> </td><td>
143
Operation completed. </td></tr>
144
<tr><td valign="top"><em><a class="anchor" name="f6a686e434d22b9458a92bf6241c38c7ab35895ebf3f45229b4ab79f109e1f26"></a><!-- doxytag: member="Error" ref="f6a686e434d22b9458a92bf6241c38c7ab35895ebf3f45229b4ab79f109e1f26" args="" -->Error</em> </td><td>
145
Operation failed. </td></tr>
146
<tr><td valign="top"><em><a class="anchor" name="f6a686e434d22b9458a92bf6241c38c710f0824aced5f0b38ac2eb7e7e705641"></a><!-- doxytag: member="Params" ref="f6a686e434d22b9458a92bf6241c38c710f0824aced5f0b38ac2eb7e7e705641" args="" -->Params</em> </td><td>
147
Parameters are needed to complete authentication. </td></tr>
148
<tr><td valign="top"><em><a class="anchor" name="f6a686e434d22b9458a92bf6241c38c7d063b66f1397ce4436bb9511f09b0ea5"></a><!-- doxytag: member="AuthCheck" ref="f6a686e434d22b9458a92bf6241c38c7d063b66f1397ce4436bb9511f09b0ea5" args="" -->AuthCheck</em> </td><td>
149
Client login can be inspected (server only). </td></tr>
150
<tr><td valign="top"><em><a class="anchor" name="f6a686e434d22b9458a92bf6241c38c7ba6030cba03fa11b380bac218840357e"></a><!-- doxytag: member="Continue" ref="f6a686e434d22b9458a92bf6241c38c7ba6030cba03fa11b380bac218840357e" args="" -->Continue</em> </td><td>
151
More steps needed to complete authentication. </td></tr>
157
<hr><h2>Constructor & Destructor Documentation</h2>
158
<a class="anchor" name="7698637340129d9147856783ce1a3213"></a><!-- doxytag: member="QCA::SASLContext::SASLContext" ref="7698637340129d9147856783ce1a3213" args="(Provider *p)" -->
159
<div class="memitem">
160
<div class="memproto">
161
<table class="memname">
163
<td class="memname">QCA::SASLContext::SASLContext </td>
165
<td class="paramtype"><a class="el" href="classQCA_1_1Provider.html">Provider</a> * </td>
166
<td class="paramname"> <em>p</em> </td>
167
<td> ) </td>
168
<td width="100%"><code> [inline]</code></td>
175
Standard constructor.
177
<dl compact><dt><b>Parameters:</b></dt><dd>
178
<table border="0" cellspacing="2" cellpadding="0">
179
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the <a class="el" href="classQCA_1_1Provider.html" title="Algorithm provider.">Provider</a> associated with this context </td></tr>
185
<hr><h2>Member Function Documentation</h2>
186
<a class="anchor" name="2b607cb0f19b5d4e6fea01b889f4539b"></a><!-- doxytag: member="QCA::SASLContext::authCondition" ref="2b607cb0f19b5d4e6fea01b889f4539b" args="() const=0" -->
187
<div class="memitem">
188
<div class="memproto">
189
<table class="memname">
191
<td class="memname">virtual <a class="el" href="classQCA_1_1SASL.html#68bc5ac69884a108b9068bc8e18a2af7">SASL::AuthCondition</a> QCA::SASLContext::authCondition </td>
193
<td class="paramname"> </td>
194
<td> ) </td>
195
<td width="100%"> const<code> [pure virtual]</code></td>
202
Returns the reason for failure, if the authentication was not successful.
204
This is only valid after authentication failure.
207
<a class="anchor" name="e7bd5aa3ff3d3740c71e1c60e72426e6"></a><!-- doxytag: member="QCA::SASLContext::authzid" ref="e7bd5aa3ff3d3740c71e1c60e72426e6" args="() const=0" -->
208
<div class="memitem">
209
<div class="memproto">
210
<table class="memname">
212
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> QCA::SASLContext::authzid </td>
214
<td class="paramname"> </td>
215
<td> ) </td>
216
<td width="100%"> const<code> [pure virtual]</code></td>
223
Returns the authzid attempting to authorize (server mode only).
225
This is only valid after receiving the AuthCheck result code.
228
<a class="anchor" name="a3cb8c40dca27cc0a8860e0238444f86"></a><!-- doxytag: member="QCA::SASLContext::clientParams" ref="a3cb8c40dca27cc0a8860e0238444f86" args="() const=0" -->
229
<div class="memitem">
230
<div class="memproto">
231
<table class="memname">
233
<td class="memname">virtual <a class="el" href="classQCA_1_1SASL_1_1Params.html">SASL::Params</a> QCA::SASLContext::clientParams </td>
235
<td class="paramname"> </td>
236
<td> ) </td>
237
<td width="100%"> const<code> [pure virtual]</code></td>
244
Returns the needed/optional client parameters.
246
This is only valid after receiving the Params result code.
249
<a class="anchor" name="d9579fe898586bd0746e5ca4ac8cc7ec"></a><!-- doxytag: member="QCA::SASLContext::encoded" ref="d9579fe898586bd0746e5ca4ac8cc7ec" args="() const=0" -->
250
<div class="memitem">
251
<div class="memproto">
252
<table class="memname">
254
<td class="memname">virtual int QCA::SASLContext::encoded </td>
256
<td class="paramname"> </td>
257
<td> ) </td>
258
<td width="100%"> const<code> [pure virtual]</code></td>
265
Returns the number of bytes of plaintext data that is encoded inside of <a class="el" href="classQCA_1_1SASLContext.html#0ab5bc6a36edc7364d4b4be955864de4" title="Returns data that should be sent across the network (for the security layer).">to_net()</a>.
270
<a class="anchor" name="ba61844884f2831fcf5704d053e6cde1"></a><!-- doxytag: member="QCA::SASLContext::haveClientInit" ref="ba61844884f2831fcf5704d053e6cde1" args="() const=0" -->
271
<div class="memitem">
272
<div class="memproto">
273
<table class="memname">
275
<td class="memname">virtual bool QCA::SASLContext::haveClientInit </td>
277
<td class="paramname"> </td>
278
<td> ) </td>
279
<td width="100%"> const<code> [pure virtual]</code></td>
286
Returns true if the client has initialization data.
291
<a class="anchor" name="4f28aa43d2edc9b5b2a3251b976fd182"></a><!-- doxytag: member="QCA::SASLContext::mech" ref="4f28aa43d2edc9b5b2a3251b976fd182" args="() const=0" -->
292
<div class="memitem">
293
<div class="memproto">
294
<table class="memname">
296
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> QCA::SASLContext::mech </td>
298
<td class="paramname"> </td>
299
<td> ) </td>
300
<td width="100%"> const<code> [pure virtual]</code></td>
307
Returns the mechanism selected.
312
<a class="anchor" name="9cb9ff5e658107576183deb4269e2cde"></a><!-- doxytag: member="QCA::SASLContext::mechlist" ref="9cb9ff5e658107576183deb4269e2cde" args="() const=0" -->
313
<div class="memitem">
314
<div class="memproto">
315
<table class="memname">
317
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> QCA::SASLContext::mechlist </td>
319
<td class="paramname"> </td>
320
<td> ) </td>
321
<td width="100%"> const<code> [pure virtual]</code></td>
328
Returns the mechanism list (server mode only).
333
<a class="anchor" name="fb0de515d310b726b06565be8dc607da"></a><!-- doxytag: member="QCA::SASLContext::nextStep" ref="fb0de515d310b726b06565be8dc607da" args="(const QByteArray &from_net)=0" -->
334
<div class="memitem">
335
<div class="memproto">
336
<table class="memname">
338
<td class="memname">virtual void QCA::SASLContext::nextStep </td>
340
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> & </td>
341
<td class="paramname"> <em>from_net</em> </td>
342
<td> ) </td>
343
<td width="100%"><code> [pure virtual]</code></td>
350
Perform another step of the <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> authentication.
352
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
353
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> and <a class="el" href="classQCA_1_1SASLContext.html#fa3457ed2e522d347a076909d77fb20c" title="Returns an authentication payload for to be transmitted over the network.">stepData()</a> will be valid.<p>
354
<dl compact><dt><b>Parameters:</b></dt><dd>
355
<table border="0" cellspacing="2" cellpadding="0">
356
<tr><td valign="top"></td><td valign="top"><em>from_net</em> </td><td>the data from the "other side" of the protocol to be used for the next step. </td></tr>
362
<a class="anchor" name="0361ece86da2c2f5b5f0f9ae86e01aed"></a><!-- doxytag: member="QCA::SASLContext::realmlist" ref="0361ece86da2c2f5b5f0f9ae86e01aed" args="() const=0" -->
363
<div class="memitem">
364
<div class="memproto">
365
<table class="memname">
367
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> QCA::SASLContext::realmlist </td>
369
<td class="paramname"> </td>
370
<td> ) </td>
371
<td width="100%"> const<code> [pure virtual]</code></td>
378
Returns the realm list (client mode only).
380
This is only valid after receiving the Params result code and <a class="el" href="classQCA_1_1SASL_1_1Params.html#8a24fba079ca714b06c9fd5c6634de1b" title="A Realm can be sent if desired.">SASL::Params::canSendRealm</a> is set to true.
383
<a class="anchor" name="cc59388f35f357b212325656073b5f59"></a><!-- doxytag: member="QCA::SASLContext::reset" ref="cc59388f35f357b212325656073b5f59" args="()=0" -->
384
<div class="memitem">
385
<div class="memproto">
386
<table class="memname">
388
<td class="memname">virtual void QCA::SASLContext::reset </td>
390
<td class="paramname"> </td>
391
<td> ) </td>
392
<td width="100%"><code> [pure virtual]</code></td>
399
Reset the object to its initial state.
404
<a class="anchor" name="2152e510575047471636b0bb44174724"></a><!-- doxytag: member="QCA::SASLContext::result" ref="2152e510575047471636b0bb44174724" args="() const=0" -->
405
<div class="memitem">
406
<div class="memproto">
407
<table class="memname">
409
<td class="memname">virtual <a class="el" href="classQCA_1_1SASLContext.html#f6a686e434d22b9458a92bf6241c38c7">Result</a> QCA::SASLContext::result </td>
411
<td class="paramname"> </td>
412
<td> ) </td>
413
<td width="100%"> const<code> [pure virtual]</code></td>
420
Returns the result code of an operation.
425
<a class="anchor" name="8eac6a0d9461fc77229a4f725bb97466"></a><!-- doxytag: member="QCA::SASLContext::resultsReady" ref="8eac6a0d9461fc77229a4f725bb97466" args="()" -->
426
<div class="memitem">
427
<div class="memproto">
428
<table class="memname">
430
<td class="memname">void QCA::SASLContext::resultsReady </td>
432
<td class="paramname"> </td>
433
<td> ) </td>
434
<td width="100%"><code> [signal]</code></td>
441
Emit this when a <a class="el" href="classQCA_1_1SASLContext.html#f30c0aa6d5311f7d87bc33d0baa3bb75" title="Begins the session in client mode, starting with the authentication.">startClient()</a>, <a class="el" href="classQCA_1_1SASLContext.html#5b380093e78dbc54bd82643e86d125b4" title="Begins the session in server mode, starting with the authentication.">startServer()</a>, <a class="el" href="classQCA_1_1SASLContext.html#0611a515605fbd2128517222f223e4a7" title="Finishes server startup.">serverFirstStep()</a>, <a class="el" href="classQCA_1_1SASLContext.html#fb0de515d310b726b06565be8dc607da" title="Perform another step of the SASL authentication.">nextStep()</a>, <a class="el" href="classQCA_1_1SASLContext.html#677c83e57caf7a5369a1f2ccc259b66b" title="Attempt the most recent operation again.">tryAgain()</a>, or <a class="el" href="classQCA_1_1SASLContext.html#d993cc4c0961d2719313b54c5b790b8d" title="Performs one iteration of the SASL security layer processing.">update()</a> operation has completed.
446
<a class="anchor" name="0611a515605fbd2128517222f223e4a7"></a><!-- doxytag: member="QCA::SASLContext::serverFirstStep" ref="0611a515605fbd2128517222f223e4a7" args="(const QString &mech, const QByteArray *clientInit)=0" -->
447
<div class="memitem">
448
<div class="memproto">
449
<table class="memname">
451
<td class="memname">virtual void QCA::SASLContext::serverFirstStep </td>
453
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
454
<td class="paramname"> <em>mech</em>, </td>
457
<td class="paramkey"></td>
459
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> * </td>
460
<td class="paramname"> <em>clientInit</em></td><td> </td>
465
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
472
Finishes server startup.
474
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
475
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> and <a class="el" href="classQCA_1_1SASLContext.html#fa3457ed2e522d347a076909d77fb20c" title="Returns an authentication payload for to be transmitted over the network.">stepData()</a> will be valid. If <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> is Success, then the session is now in the connected state.<p>
476
<dl compact><dt><b>Parameters:</b></dt><dd>
477
<table border="0" cellspacing="2" cellpadding="0">
478
<tr><td valign="top"></td><td valign="top"><em>mech</em> </td><td>the mechanism to use </td></tr>
479
<tr><td valign="top"></td><td valign="top"><em>clientInit</em> </td><td>initial data from the client, or 0 if there is no such data </td></tr>
485
<a class="anchor" name="cbdf40f72b60a96bdb3eca534a5cd6ff"></a><!-- doxytag: member="QCA::SASLContext::setClientParams" ref="cbdf40f72b60a96bdb3eca534a5cd6ff" args="(const QString *user, const QString *authzid, const SecureArray *pass, const QString *realm)=0" -->
486
<div class="memitem">
487
<div class="memproto">
488
<table class="memname">
490
<td class="memname">virtual void QCA::SASLContext::setClientParams </td>
492
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> * </td>
493
<td class="paramname"> <em>user</em>, </td>
496
<td class="paramkey"></td>
498
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> * </td>
499
<td class="paramname"> <em>authzid</em>, </td>
502
<td class="paramkey"></td>
504
<td class="paramtype">const <a class="el" href="classQCA_1_1SecureArray.html">SecureArray</a> * </td>
505
<td class="paramname"> <em>pass</em>, </td>
508
<td class="paramkey"></td>
510
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> * </td>
511
<td class="paramname"> <em>realm</em></td><td> </td>
516
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
523
Set some of the client parameters (pass 0 to not set a field).
525
<dl compact><dt><b>Parameters:</b></dt><dd>
526
<table border="0" cellspacing="2" cellpadding="0">
527
<tr><td valign="top"></td><td valign="top"><em>user</em> </td><td>the user name </td></tr>
528
<tr><td valign="top"></td><td valign="top"><em>authzid</em> </td><td>the authorization name / role </td></tr>
529
<tr><td valign="top"></td><td valign="top"><em>pass</em> </td><td>the password </td></tr>
530
<tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>the realm to authenticate in </td></tr>
536
<a class="anchor" name="fb8ff63a9747affe909955ce3a097575"></a><!-- doxytag: member="QCA::SASLContext::setConstraints" ref="fb8ff63a9747affe909955ce3a097575" args="(SASL::AuthFlags f, int minSSF, int maxSSF)=0" -->
537
<div class="memitem">
538
<div class="memproto">
539
<table class="memname">
541
<td class="memname">virtual void QCA::SASLContext::setConstraints </td>
543
<td class="paramtype"><a class="el" href="classQCA_1_1SASL.html#fadd5c4ed30e4d0ccaa789967aa12684">SASL::AuthFlags</a> </td>
544
<td class="paramname"> <em>f</em>, </td>
547
<td class="paramkey"></td>
549
<td class="paramtype">int </td>
550
<td class="paramname"> <em>minSSF</em>, </td>
553
<td class="paramkey"></td>
555
<td class="paramtype">int </td>
556
<td class="paramname"> <em>maxSSF</em></td><td> </td>
561
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
568
Set the constraints of the session using SSF values.
570
This function will be called before <a class="el" href="classQCA_1_1SASLContext.html#f30c0aa6d5311f7d87bc33d0baa3bb75" title="Begins the session in client mode, starting with the authentication.">startClient()</a> or <a class="el" href="classQCA_1_1SASLContext.html#5b380093e78dbc54bd82643e86d125b4" title="Begins the session in server mode, starting with the authentication.">startServer()</a>.<p>
571
<dl compact><dt><b>Parameters:</b></dt><dd>
572
<table border="0" cellspacing="2" cellpadding="0">
573
<tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>the flags to use </td></tr>
574
<tr><td valign="top"></td><td valign="top"><em>minSSF</em> </td><td>the minimum strength factor that is acceptable </td></tr>
575
<tr><td valign="top"></td><td valign="top"><em>maxSSF</em> </td><td>the maximum strength factor that is acceptable </td></tr>
581
<a class="anchor" name="18073e693a56283a418492f074fdb844"></a><!-- doxytag: member="QCA::SASLContext::setup" ref="18073e693a56283a418492f074fdb844" args="(const QString &service, const QString &host, const HostPort *local, const HostPort *remote, const QString &ext_id, int ext_ssf)=0" -->
582
<div class="memitem">
583
<div class="memproto">
584
<table class="memname">
586
<td class="memname">virtual void QCA::SASLContext::setup </td>
588
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
589
<td class="paramname"> <em>service</em>, </td>
592
<td class="paramkey"></td>
594
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
595
<td class="paramname"> <em>host</em>, </td>
598
<td class="paramkey"></td>
600
<td class="paramtype">const <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html">HostPort</a> * </td>
601
<td class="paramname"> <em>local</em>, </td>
604
<td class="paramkey"></td>
606
<td class="paramtype">const <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html">HostPort</a> * </td>
607
<td class="paramname"> <em>remote</em>, </td>
610
<td class="paramkey"></td>
612
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
613
<td class="paramname"> <em>ext_id</em>, </td>
616
<td class="paramkey"></td>
618
<td class="paramtype">int </td>
619
<td class="paramname"> <em>ext_ssf</em></td><td> </td>
624
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
631
Configure a new session.
633
This function will be called before any other configuration functions.<p>
634
<dl compact><dt><b>Parameters:</b></dt><dd>
635
<table border="0" cellspacing="2" cellpadding="0">
636
<tr><td valign="top"></td><td valign="top"><em>service</em> </td><td>the name of the network service being provided by this application, which can be used by the <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> system for policy control. Examples: "imap", "xmpp" </td></tr>
637
<tr><td valign="top"></td><td valign="top"><em>host</em> </td><td>the hostname that the application is interacting with or as </td></tr>
638
<tr><td valign="top"></td><td valign="top"><em>local</em> </td><td>pointer to a <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html" title="Convenience class to hold an IP address and an associated port.">HostPort</a> representing the local end of a network socket, or 0 if this information is unknown or not available </td></tr>
639
<tr><td valign="top"></td><td valign="top"><em>remote</em> </td><td>pointer to a <a class="el" href="classQCA_1_1SASLContext_1_1HostPort.html" title="Convenience class to hold an IP address and an associated port.">HostPort</a> representing the peer end of a network socket, or 0 if this information is unknown or not available </td></tr>
640
<tr><td valign="top"></td><td valign="top"><em>ext_id</em> </td><td>the id to be used for <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> EXTERNAL (client only) </td></tr>
641
<tr><td valign="top"></td><td valign="top"><em>ext_ssf</em> </td><td>the SSF of the external authentication channel (client only) </td></tr>
647
<a class="anchor" name="79f8eb35c8b1e0e8d0d3eb407901170e"></a><!-- doxytag: member="QCA::SASLContext::ssf" ref="79f8eb35c8b1e0e8d0d3eb407901170e" args="() const=0" -->
648
<div class="memitem">
649
<div class="memproto">
650
<table class="memname">
652
<td class="memname">virtual int QCA::SASLContext::ssf </td>
654
<td class="paramname"> </td>
655
<td> ) </td>
656
<td width="100%"> const<code> [pure virtual]</code></td>
663
Returns the SSF of the active <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> session.
665
This is only valid after authentication success.
668
<a class="anchor" name="f30c0aa6d5311f7d87bc33d0baa3bb75"></a><!-- doxytag: member="QCA::SASLContext::startClient" ref="f30c0aa6d5311f7d87bc33d0baa3bb75" args="(const QStringList &mechlist, bool allowClientSendFirst)=0" -->
669
<div class="memitem">
670
<div class="memproto">
671
<table class="memname">
673
<td class="memname">virtual void QCA::SASLContext::startClient </td>
675
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstringlist.html">QStringList</a> & </td>
676
<td class="paramname"> <em>mechlist</em>, </td>
679
<td class="paramkey"></td>
681
<td class="paramtype">bool </td>
682
<td class="paramname"> <em>allowClientSendFirst</em></td><td> </td>
687
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
694
Begins the session in client mode, starting with the authentication.
696
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
697
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a>, <a class="el" href="classQCA_1_1SASLContext.html#4f28aa43d2edc9b5b2a3251b976fd182" title="Returns the mechanism selected.">mech()</a>, <a class="el" href="classQCA_1_1SASLContext.html#ba61844884f2831fcf5704d053e6cde1" title="Returns true if the client has initialization data.">haveClientInit()</a>, and <a class="el" href="classQCA_1_1SASLContext.html#fa3457ed2e522d347a076909d77fb20c" title="Returns an authentication payload for to be transmitted over the network.">stepData()</a> will be valid. If <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> is Success, then the session is now in the connected state.<p>
698
<dl compact><dt><b>Parameters:</b></dt><dd>
699
<table border="0" cellspacing="2" cellpadding="0">
700
<tr><td valign="top"></td><td valign="top"><em>mechlist</em> </td><td>the list of mechanisms </td></tr>
701
<tr><td valign="top"></td><td valign="top"><em>allowClientSendFirst</em> </td><td>whether the client sends first (true) or the server sends first (false) </td></tr>
707
<a class="anchor" name="5b380093e78dbc54bd82643e86d125b4"></a><!-- doxytag: member="QCA::SASLContext::startServer" ref="5b380093e78dbc54bd82643e86d125b4" args="(const QString &realm, bool disableServerSendLast)=0" -->
708
<div class="memitem">
709
<div class="memproto">
710
<table class="memname">
712
<td class="memname">virtual void QCA::SASLContext::startServer </td>
714
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
715
<td class="paramname"> <em>realm</em>, </td>
718
<td class="paramkey"></td>
720
<td class="paramtype">bool </td>
721
<td class="paramname"> <em>disableServerSendLast</em></td><td> </td>
726
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
733
Begins the session in server mode, starting with the authentication.
735
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
736
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> and <a class="el" href="classQCA_1_1SASLContext.html#9cb9ff5e658107576183deb4269e2cde" title="Returns the mechanism list (server mode only).">mechlist()</a> will be valid. The <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> function will return Success or Error. If the result is Success, then <a class="el" href="classQCA_1_1SASLContext.html#0611a515605fbd2128517222f223e4a7" title="Finishes server startup.">serverFirstStep()</a> will be called next.<p>
737
<dl compact><dt><b>Parameters:</b></dt><dd>
738
<table border="0" cellspacing="2" cellpadding="0">
739
<tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>the realm to authenticate in </td></tr>
740
<tr><td valign="top"></td><td valign="top"><em>disableServerSendLast</em> </td><td>whether the client sends first (true) or the server sends first (false) </td></tr>
746
<a class="anchor" name="fa3457ed2e522d347a076909d77fb20c"></a><!-- doxytag: member="QCA::SASLContext::stepData" ref="fa3457ed2e522d347a076909d77fb20c" args="() const=0" -->
747
<div class="memitem">
748
<div class="memproto">
749
<table class="memname">
751
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> QCA::SASLContext::stepData </td>
753
<td class="paramname"> </td>
754
<td> ) </td>
755
<td width="100%"> const<code> [pure virtual]</code></td>
762
Returns an authentication payload for to be transmitted over the network.
767
<a class="anchor" name="c58192f6f75a2ad008e8cccfa964a415"></a><!-- doxytag: member="QCA::SASLContext::to_app" ref="c58192f6f75a2ad008e8cccfa964a415" args="()=0" -->
768
<div class="memitem">
769
<div class="memproto">
770
<table class="memname">
772
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> QCA::SASLContext::to_app </td>
774
<td class="paramname"> </td>
775
<td> ) </td>
776
<td width="100%"><code> [pure virtual]</code></td>
783
Returns data that is decoded from the network and should be processed by the application.
788
<a class="anchor" name="0ab5bc6a36edc7364d4b4be955864de4"></a><!-- doxytag: member="QCA::SASLContext::to_net" ref="0ab5bc6a36edc7364d4b4be955864de4" args="()=0" -->
789
<div class="memitem">
790
<div class="memproto">
791
<table class="memname">
793
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> QCA::SASLContext::to_net </td>
795
<td class="paramname"> </td>
796
<td> ) </td>
797
<td width="100%"><code> [pure virtual]</code></td>
804
Returns data that should be sent across the network (for the security layer).
809
<a class="anchor" name="677c83e57caf7a5369a1f2ccc259b66b"></a><!-- doxytag: member="QCA::SASLContext::tryAgain" ref="677c83e57caf7a5369a1f2ccc259b66b" args="()=0" -->
810
<div class="memitem">
811
<div class="memproto">
812
<table class="memname">
814
<td class="memname">virtual void QCA::SASLContext::tryAgain </td>
816
<td class="paramname"> </td>
817
<td> ) </td>
818
<td width="100%"><code> [pure virtual]</code></td>
825
Attempt the most recent operation again.
827
This is used if the <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> of an operation is Params or AuthCheck.<p>
828
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
829
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> and <a class="el" href="classQCA_1_1SASLContext.html#fa3457ed2e522d347a076909d77fb20c" title="Returns an authentication payload for to be transmitted over the network.">stepData()</a> will be valid.
832
<a class="anchor" name="d993cc4c0961d2719313b54c5b790b8d"></a><!-- doxytag: member="QCA::SASLContext::update" ref="d993cc4c0961d2719313b54c5b790b8d" args="(const QByteArray &from_net, const QByteArray &from_app)=0" -->
833
<div class="memitem">
834
<div class="memproto">
835
<table class="memname">
837
<td class="memname">virtual void QCA::SASLContext::update </td>
839
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> & </td>
840
<td class="paramname"> <em>from_net</em>, </td>
843
<td class="paramkey"></td>
845
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> & </td>
846
<td class="paramname"> <em>from_app</em></td><td> </td>
851
<td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
858
Performs one iteration of the <a class="el" href="classQCA_1_1SASL.html" title="Simple Authentication and Security Layer protocol implementation.">SASL</a> security layer processing.
860
This function returns immediately, and completion is signaled with the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal.<p>
861
On completion, <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a>, <a class="el" href="classQCA_1_1SASLContext.html#0ab5bc6a36edc7364d4b4be955864de4" title="Returns data that should be sent across the network (for the security layer).">to_net()</a>, <a class="el" href="classQCA_1_1SASLContext.html#d9579fe898586bd0746e5ca4ac8cc7ec" title="Returns the number of bytes of plaintext data that is encoded inside of to_net()...">encoded()</a>, and <a class="el" href="classQCA_1_1SASLContext.html#c58192f6f75a2ad008e8cccfa964a415" title="Returns data that is decoded from the network and should be processed by the application...">to_app()</a> will be valid. The <a class="el" href="classQCA_1_1SASLContext.html#2152e510575047471636b0bb44174724" title="Returns the result code of an operation.">result()</a> function will return Success or Error.<p>
862
<dl compact><dt><b>Parameters:</b></dt><dd>
863
<table border="0" cellspacing="2" cellpadding="0">
864
<tr><td valign="top"></td><td valign="top"><em>from_net</em> </td><td>the data from the "other side" of the protocol </td></tr>
865
<tr><td valign="top"></td><td valign="top"><em>from_app</em> </td><td>the data from the application of the protocol </td></tr>
871
<a class="anchor" name="9121e93703243e6384271cfa899b0ebf"></a><!-- doxytag: member="QCA::SASLContext::username" ref="9121e93703243e6384271cfa899b0ebf" args="() const=0" -->
872
<div class="memitem">
873
<div class="memproto">
874
<table class="memname">
876
<td class="memname">virtual <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> QCA::SASLContext::username </td>
878
<td class="paramname"> </td>
879
<td> ) </td>
880
<td width="100%"> const<code> [pure virtual]</code></td>
887
Returns the username attempting to authenticate (server mode only).
889
This is only valid after receiving the AuthCheck result code.
892
<a class="anchor" name="956c04f947f323dd07cac0b0a6b79b49"></a><!-- doxytag: member="QCA::SASLContext::waitForResultsReady" ref="956c04f947f323dd07cac0b0a6b79b49" args="(int msecs)=0" -->
893
<div class="memitem">
894
<div class="memproto">
895
<table class="memname">
897
<td class="memname">virtual bool QCA::SASLContext::waitForResultsReady </td>
899
<td class="paramtype">int </td>
900
<td class="paramname"> <em>msecs</em> </td>
901
<td> ) </td>
902
<td width="100%"><code> [pure virtual]</code></td>
909
Waits for a <a class="el" href="classQCA_1_1SASLContext.html#f30c0aa6d5311f7d87bc33d0baa3bb75" title="Begins the session in client mode, starting with the authentication.">startClient()</a>, <a class="el" href="classQCA_1_1SASLContext.html#5b380093e78dbc54bd82643e86d125b4" title="Begins the session in server mode, starting with the authentication.">startServer()</a>, <a class="el" href="classQCA_1_1SASLContext.html#0611a515605fbd2128517222f223e4a7" title="Finishes server startup.">serverFirstStep()</a>, <a class="el" href="classQCA_1_1SASLContext.html#fb0de515d310b726b06565be8dc607da" title="Perform another step of the SASL authentication.">nextStep()</a>, <a class="el" href="classQCA_1_1SASLContext.html#677c83e57caf7a5369a1f2ccc259b66b" title="Attempt the most recent operation again.">tryAgain()</a>, or <a class="el" href="classQCA_1_1SASLContext.html#d993cc4c0961d2719313b54c5b790b8d" title="Performs one iteration of the SASL security layer processing.">update()</a> operation to complete.
911
In this case, the <a class="el" href="classQCA_1_1SASLContext.html#8eac6a0d9461fc77229a4f725bb97466" title="Emit this when a startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain()...">resultsReady()</a> signal is not emitted. Returns true if the operation completed or false if this function times out.<p>
912
This function is blocking.<p>
913
<dl compact><dt><b>Parameters:</b></dt><dd>
914
<table border="0" cellspacing="2" cellpadding="0">
915
<tr><td valign="top"></td><td valign="top"><em>msecs</em> </td><td>number of milliseconds to wait (-1 to wait forever) </td></tr>
921
<hr>The documentation for this class was generated from the following file:<ul>
922
<li><a class="el" href="qcaprovider_8h-source.html">qcaprovider.h</a></ul>
923
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 6 19:14:34 2007 for Qt Cryptographic Architecture by
924
<a href="http://www.doxygen.org/index.html">
925
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>