⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_c_web_client_engine.html

📁 symbian 利用http上传的例子.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><a class="el" href="class_c_web_client_engine.html#f0720cc791fe8b50eff81b4af13e9f89">DumpRespHeadersL()</a> Called when HTTP header is received. Displays HTTP header field names and values <dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>aTransaction,:</em>&nbsp;</td><td>The transaction that is processed. </td></tr>  </table></dl><p>Definition at line <a class="el" href="_web_client_engine_8cpp-source.html#l00132">132</a> of file <a class="el" href="_web_client_engine_8cpp-source.html">WebClientEngine.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00133"></a>00133     {<a name="l00134"></a>00134     RHTTPResponse resp = aTransaction.Response();<a name="l00135"></a>00135     RStringPool strP = aTransaction.Session().StringPool();<a name="l00136"></a>00136     RHTTPHeaders hdr = resp.GetHeaderCollection();<a name="l00137"></a>00137     THTTPHdrFieldIter it = hdr.Fields();<a name="l00138"></a>00138 <a name="l00139"></a>00139     HBufC* headerField = HBufC::NewLC( KMaxHeaderNameLength + KMaxHeaderValueLength );<a name="l00140"></a>00140     HBufC* fieldValBuf = HBufC::NewLC( KMaxHeaderValueLength );<a name="l00141"></a>00141 <a name="l00142"></a>00142     <span class="keywordflow">while</span> ( it.AtEnd() == EFalse )<a name="l00143"></a>00143         {<a name="l00144"></a>00144         RStringTokenF fieldName = it();<a name="l00145"></a>00145         RStringF fieldNameStr = strP.StringF( fieldName );<a name="l00146"></a>00146         THTTPHdrVal fieldVal;<a name="l00147"></a>00147         <span class="keywordflow">if</span> ( hdr.GetField( fieldNameStr, 0, fieldVal ) == KErrNone )<a name="l00148"></a>00148             {<a name="l00149"></a>00149             <span class="keyword">const</span> TDesC8&amp; fieldNameDesC = fieldNameStr.DesC();<a name="l00150"></a>00150             headerField-&gt;Des().Copy( fieldNameDesC.Left( KMaxHeaderNameLength ));<a name="l00151"></a>00151             fieldValBuf-&gt;Des().Zero();<a name="l00152"></a>00152             <span class="keywordflow">switch</span> ( fieldVal.Type() )<a name="l00153"></a>00153                 {<a name="l00154"></a>00154             <span class="comment">// the value is an integer</span><a name="l00155"></a>00155             <span class="keywordflow">case</span> THTTPHdrVal::KTIntVal:<a name="l00156"></a>00156                 fieldValBuf-&gt;Des().Num( fieldVal.Int() );<a name="l00157"></a>00157                 <span class="keywordflow">break</span>;<a name="l00158"></a>00158             <span class="comment">// the value is a case-insensitive string</span><a name="l00159"></a>00159             <span class="keywordflow">case</span> THTTPHdrVal::KStrFVal:<a name="l00160"></a>00160                 {<a name="l00161"></a>00161                 RStringF fieldValStr = strP.StringF( fieldVal.StrF() );<a name="l00162"></a>00162                 <span class="keyword">const</span> TDesC8&amp; fieldValDesC = fieldValStr.DesC();<a name="l00163"></a>00163                 fieldValBuf-&gt;Des().Copy( fieldValDesC.Left(KMaxHeaderValueLength ));<a name="l00164"></a>00164                 }<a name="l00165"></a>00165                 <span class="keywordflow">break</span>;<a name="l00166"></a>00166             <span class="comment">// the value is a case-sensitive string</span><a name="l00167"></a>00167             <span class="keywordflow">case</span> THTTPHdrVal::KStrVal:<a name="l00168"></a>00168                 {<a name="l00169"></a>00169                 RString fieldValStr = strP.String( fieldVal.Str() );<a name="l00170"></a>00170                 <span class="keyword">const</span> TDesC8&amp; fieldValDesC = fieldValStr.DesC();<a name="l00171"></a>00171                 fieldValBuf-&gt;Des().Copy( fieldValDesC.Left(KMaxHeaderValueLength) );<a name="l00172"></a>00172                 }<a name="l00173"></a>00173                 <span class="keywordflow">break</span>;<a name="l00174"></a>00174             <span class="comment">// the value is a date/time</span><a name="l00175"></a>00175             <span class="keywordflow">case</span> THTTPHdrVal::KDateVal:<a name="l00176"></a>00176                 {<a name="l00177"></a>00177                 TDateTime date = fieldVal.DateTime();<a name="l00178"></a>00178                 TBuf&lt;KMaxDateTimeStringLength&gt; dateTimeString;<a name="l00179"></a>00179                 TTime t( date );<a name="l00180"></a>00180                 t.FormatL( dateTimeString,KDateFormat );<a name="l00181"></a>00181                 fieldValBuf-&gt;Des().Copy( dateTimeString );<a name="l00182"></a>00182                 } <a name="l00183"></a>00183                 <span class="keywordflow">break</span>;<a name="l00184"></a>00184             <span class="comment">// the value is type is unknown</span><a name="l00185"></a>00185             <span class="keywordflow">default</span>:<a name="l00186"></a>00186                 <span class="keywordflow">break</span>;<a name="l00187"></a>00187                 }<a name="l00188"></a>00188 <a name="l00189"></a>00189             <span class="comment">// Display HTTP header field name and value</span><a name="l00190"></a>00190             headerField-&gt;Des().Append( KColon );<a name="l00191"></a>00191             headerField-&gt;Des().Append( *fieldValBuf );<a name="l00192"></a>00192             <a class="code" href="class_c_web_client_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_web_client_observer.html#7d090b7f3f592086c7c057ff92d0e69a">ClientHeaderReceived</a>( *headerField );<a name="l00193"></a>00193             <a name="l00194"></a>00194             <span class="comment">// Display realm for WWW-Authenticate header</span><a name="l00195"></a>00195             RStringF wwwAuth = strP.StringF( HTTP::EWWWAuthenticate,RHTTPSession::GetTable() );<a name="l00196"></a>00196             <span class="keywordflow">if</span> ( fieldNameStr == wwwAuth )<a name="l00197"></a>00197                 {<a name="l00198"></a>00198                 <span class="comment">// check the auth scheme is 'basic'</span><a name="l00199"></a>00199                 RStringF basic = strP.StringF( HTTP::EBasic,RHTTPSession::GetTable() );<a name="l00200"></a>00200                 RStringF realm = strP.StringF( HTTP::ERealm,RHTTPSession::GetTable() );<a name="l00201"></a>00201                 THTTPHdrVal realmVal;<a name="l00202"></a>00202                 <span class="keywordflow">if</span> (( fieldVal.StrF() == basic ) &amp;&amp; <a name="l00203"></a>00203                     ( !hdr.GetParam( wwwAuth, realm, realmVal )))<a name="l00204"></a>00204                     {<a name="l00205"></a>00205                     RStringF realmValStr = strP.StringF( realmVal.StrF() );<a name="l00206"></a>00206                     fieldValBuf-&gt;Des().Copy( realmValStr.DesC() );<a name="l00207"></a>00207                     headerField-&gt;Des().Copy( Krealm );<a name="l00208"></a>00208                     headerField-&gt;Des().Append( *fieldValBuf );<a name="l00209"></a>00209                     <a class="code" href="class_c_web_client_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_web_client_observer.html#7d090b7f3f592086c7c057ff92d0e69a">ClientHeaderReceived</a>( *headerField );<a name="l00210"></a>00210                     }<a name="l00211"></a>00211                 }<a name="l00212"></a>00212             }<a name="l00213"></a>00213         ++it;<a name="l00214"></a>00214         }<a name="l00215"></a>00215         CleanupStack::PopAndDestroy( fieldValBuf );<a name="l00216"></a>00216         CleanupStack::PopAndDestroy( headerField );<a name="l00217"></a>00217     }</pre></div><p>    </td>  </tr></table><a class="anchor" name="2f2fdeb2077849ca331b415db028feba"></a><!-- doxytag: member="CWebClientEngine::HandleRunErrorL" ref="2f2fdeb2077849ca331b415db028feba" args="(TInt aError)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">void CWebClientEngine::HandleRunErrorL           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">TInt&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>aError</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [private]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><a class="el" href="class_c_web_client_engine.html#2f2fdeb2077849ca331b415db028feba">HandleRunErrorL()</a> Called from <a class="el" href="class_c_web_client_engine.html#4f19969440d49e831aaec230508b0a3c">MHFRunError()</a> when *leave* occurs in handling of transaction event. <dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>aError,:</em>&nbsp;</td><td>The leave code that occured. </td></tr>  </table></dl><p>Definition at line <a class="el" href="_web_client_engine_8cpp-source.html#l00224">224</a> of file <a class="el" href="_web_client_engine_8cpp-source.html">WebClientEngine.cpp</a>.<p>References <a class="el" href="class_m_web_client_observer.html#ba45586e3b6414e9a001aa362b83f6d3">MWebClientObserver::ClientEvent()</a>, <a class="el" href="_web_client_engine_8h-source.html#l00234">iApplicationUi</a>, <a class="el" href="_web_client_engine_8h-source.html#l00231">iObserver</a>, and <a class="el" href="_web_client_app_u_i_8cpp-source.html#l00212">CWebClientAppUi::RemoveWaitDialogL()</a>.<div class="fragment"><pre class="fragment"><a name="l00225"></a>00225     {<a name="l00226"></a>00226     <span class="comment">// Load a string from the resource file and add the leave code to string</span><a name="l00227"></a>00227     HBufC* textResource = StringLoader::LoadL( R_WEBCLIENT_MHFRUN_ERROR, aError );<a name="l00228"></a>00228     <span class="comment">// Notify about the error</span><a name="l00229"></a>00229     <a class="code" href="class_c_web_client_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_web_client_observer.html#ba45586e3b6414e9a001aa362b83f6d3">ClientEvent</a>( *textResource );<a name="l00230"></a>00230     CleanupStack ::PopAndDestroy( textResource );<a name="l00231"></a>00231     <span class="keywordflow">if</span> ( <a class="code" href="class_c_web_client_engine.html#6da7cfd219226594e04b0bf1b29cd50d">iApplicationUi</a> )<a name="l00232"></a>00232         <a class="code" href="class_c_web_client_engine.html#6da7cfd219226594e04b0bf1b29cd50d">iApplicationUi</a>-&gt;<a class="code" href="class_c_web_client_app_ui.html#53a2a56d9127e44f97de4d5ed7e6c132">RemoveWaitDialogL</a>();<a name="l00233"></a>00233     }</pre></div><p>    </td>  </tr></table><a class="anchor" name="5c546ad730e52f05cc98ad0dc9ed7461"></a><!-- doxytag: member="CWebClientEngine::MHFRunL" ref="5c546ad730e52f05cc98ad0dc9ed7461" args="(RHTTPTransaction aTransaction, const THTTPEvent &amp;aEvent)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">void CWebClientEngine::MHFRunL           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">RHTTPTransaction&nbsp;</td>          <td class="mdname" nowrap> <em>aTransaction</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>const THTTPEvent &amp;&nbsp;</td>          <td class="mdname" nowrap> <em>aEvent</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [private]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><a class="el" href="class_c_web_client_engine.html#5c546ad730e52f05cc98ad0dc9ed7461">MHFRunL()</a> Called by framework to notify about transaction events. <dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -