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

📄 class_c_br_ctl_sample_app_special_load_observer.html

📁 S60上实现嵌入式浏览器,可以在应用程序中嵌入浏览器,实现IE功能
💻 HTML
📖 第 1 页 / 共 2 页
字号:
  <tr>    <td>      &nbsp;    </td>    <td><p>Request the host applicaion to handle non-http request. <dl compact><dt><b>Since:</b></dt><dd>2.8 </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>aTypeArray</em>&nbsp;</td><td>Array of download parameter types. These types indicates the type of data contained within the DesArray </td></tr>    <tr><td valign="top"></td><td valign="top"><em>aDesArray</em>&nbsp;</td><td>Array of values associated with the types in the type array. </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>ETrue, If the request is handled by the host application. EFalse if not </dd></dl><p>Definition at line <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html#l00044">44</a> of file <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html">BrCtlSampleAppSpecialLoadObserver.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00045"></a>00045     {   <a name="l00046"></a>00046     TInt i;<a name="l00047"></a>00047     <span class="comment">// The 2 arrays must be in sync. Each element in iTypeArray </span><a name="l00048"></a>00048     <span class="comment">// identifies the type of the corresponding element in iDesArray.</span><a name="l00049"></a>00049     <span class="keywordflow">if</span>( aTypeArray-&gt;Count() != aDesArray-&gt;Count() )<a name="l00050"></a>00050         {<a name="l00051"></a>00051         User::Leave( KErrArgument );<a name="l00052"></a>00052         }<a name="l00053"></a>00053 <a name="l00054"></a>00054         <span class="comment">// Get url</span><a name="l00055"></a>00055     HBufC* url = NULL;<a name="l00056"></a>00056     <span class="comment">// Search url in the param list</span><a name="l00057"></a>00057     <span class="keywordflow">for</span>( i = 0; i &lt; aTypeArray-&gt;Count(); i++ )<a name="l00058"></a>00058         {<a name="l00059"></a>00059         <span class="keywordflow">if</span>( (*aTypeArray)[i] == EParamRequestUrl )<a name="l00060"></a>00060             {<a name="l00061"></a>00061             <span class="comment">// the url is found</span><a name="l00062"></a>00062             url = HBufC::NewLC( (*aDesArray)[i].Length() );<a name="l00063"></a>00063             url-&gt;Des().Copy( (*aDesArray)[i] );<a name="l00064"></a>00064             <span class="keywordflow">break</span>;<a name="l00065"></a>00065             }<a name="l00066"></a>00066         }<a name="l00067"></a>00067     <span class="keywordflow">if</span>( !url )<a name="l00068"></a>00068         {<a name="l00069"></a>00069         <span class="comment">// The url wasn't found. </span><a name="l00070"></a>00070         User::Leave( KErrArgument );<a name="l00071"></a>00071         }<a name="l00072"></a>00072 <a name="l00073"></a>00073         <span class="comment">// Get referrer header</span><a name="l00074"></a>00074     HBufC* refererHeader = NULL;<a name="l00075"></a>00075     <span class="comment">// Search url in the param list</span><a name="l00076"></a>00076     <span class="keywordflow">for</span>( i = 0; i &lt; aTypeArray-&gt;Count(); i++ )<a name="l00077"></a>00077         {<a name="l00078"></a>00078         <span class="keywordflow">if</span>( (*aTypeArray)[i] == EParamRefererHeader )<a name="l00079"></a>00079             {<a name="l00080"></a>00080             <span class="comment">// the referer Header is found</span><a name="l00081"></a>00081             refererHeader = HBufC::NewLC( (*aDesArray)[i].Length() );<a name="l00082"></a>00082             refererHeader-&gt;Des().Copy( (*aDesArray)[i] );<a name="l00083"></a>00083             <span class="keywordflow">break</span>;<a name="l00084"></a>00084             }<a name="l00085"></a>00085         }<a name="l00086"></a>00086 <a name="l00087"></a>00087         <span class="comment">// This is where you would place your scheme handling code</span><a name="l00088"></a>00088         <span class="comment">// For example a scheme could be "rtsp://" or "sms:"</span><a name="l00089"></a>00089         <span class="comment">// The scheme handler is then responsible for dispatching the request to </span><a name="l00090"></a>00090         <span class="comment">// the correct component.</span><a name="l00091"></a>00091 <a name="l00092"></a>00092     <span class="keywordflow">if</span>( refererHeader )<a name="l00093"></a>00093                 {<a name="l00094"></a>00094                         CleanupStack::PopAndDestroy( 1 ); <span class="comment">// refererHeader</span><a name="l00095"></a>00095                 }<a name="l00096"></a>00096 <a name="l00097"></a>00097     CleanupStack::PopAndDestroy( 1 ); <span class="comment">// url</span><a name="l00098"></a>00098     <span class="keywordflow">return</span> ETrue;<a name="l00099"></a>00099     }</pre></div><p>    </td>  </tr></table><a class="anchor" name="843095d921a6547780add4c86989ca04"></a><!-- doxytag: member="CBrCtlSampleAppSpecialLoadObserver::HandleDownloadL" ref="843095d921a6547780add4c86989ca04" args="(RArray&lt; TUint &gt; *aTypeArray, CDesCArrayFlat *aDesArray)" --><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">TBool CBrCtlSampleAppSpecialLoadObserver::HandleDownloadL           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">RArray&lt; TUint &gt; *&nbsp;</td>          <td class="mdname" nowrap> <em>aTypeArray</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>CDesCArrayFlat *&nbsp;</td>          <td class="mdname" nowrap> <em>aDesArray</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Request the host applicaion to handle downloads <dl compact><dt><b>Since:</b></dt><dd>2.8 </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>aTypeArray</em>&nbsp;</td><td>Array of download parameter types </td></tr>    <tr><td valign="top"></td><td valign="top"><em>aDesArray</em>&nbsp;</td><td>Array of values associated with the types in the type array </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>ETrue, If the request is handled by the host application. EFalse if not </dd></dl><p>Definition at line <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html#l00105">105</a> of file <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html">BrCtlSampleAppSpecialLoadObserver.cpp</a>.<p>References <a class="el" href="_br_ctl_sample_app_special_load_observer_8h-source.html#l00087">iHandler</a>.<div class="fragment"><pre class="fragment"><a name="l00106"></a>00106     {<a name="l00107"></a>00107     TInt i = 0;<a name="l00108"></a>00108     TInt count = aTypeArray-&gt;Count();<a name="l00109"></a>00109     <span class="keywordflow">for</span> (i = 0; i &lt; count; i++)<a name="l00110"></a>00110         {<a name="l00111"></a>00111         <span class="keywordflow">if</span> ((*aTypeArray)[i] == EParamLocalFileName &amp;&amp; aDesArray[i].Length() &gt; 0)<a name="l00112"></a>00112             {<a name="l00113"></a>00113             TInt j = 0;<a name="l00114"></a>00114             <span class="keywordflow">for</span> (j = 0; j &lt; count; j++)<a name="l00115"></a>00115                 {<a name="l00116"></a>00116                 <span class="keywordflow">if</span> ((*aTypeArray)[j] == EParamReceivedContentType)<a name="l00117"></a>00117                     {<a name="l00118"></a>00118                     HBufC8* dataType8 = HBufC8::NewLC((*aDesArray)[j].Length());<a name="l00119"></a>00119                     dataType8-&gt;Des().Copy((*aDesArray)[j]);<a name="l00120"></a>00120                     TDataType dataType(*dataType8);<a name="l00121"></a>00121                     <a class="code" href="class_c_br_ctl_sample_app_special_load_observer.html#56132cb68e64726ad0658571e44e9644">iHandler</a>-&gt;OpenFileEmbeddedL((*aDesArray)[i], dataType);<a name="l00122"></a>00122                     CleanupStack::PopAndDestroy();<a name="l00123"></a>00123                     <span class="keywordflow">break</span>;<a name="l00124"></a>00124                     }<a name="l00125"></a>00125                 }<a name="l00126"></a>00126             <span class="keywordflow">break</span>;<a name="l00127"></a>00127             }<a name="l00128"></a>00128         }<a name="l00129"></a>00129     <span class="keywordflow">return</span> EFalse;<a name="l00130"></a>00130     }</pre></div><p>    </td>  </tr></table><a class="anchor" name="9ce34ba0b947863222da3c63d0481044"></a><!-- doxytag: member="CBrCtlSampleAppSpecialLoadObserver::ConstructL" ref="9ce34ba0b947863222da3c63d0481044" args="()" --><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 CBrCtlSampleAppSpecialLoadObserver::ConstructL           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </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>By default Symbian 2nd phase constructor is private. <p>Definition at line <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html#l00136">136</a> of file <a class="el" href="_br_ctl_sample_app_special_load_observer_8cpp-source.html">BrCtlSampleAppSpecialLoadObserver.cpp</a>.<p>References <a class="el" href="_br_ctl_sample_app_special_load_observer_8h-source.html#l00087">iHandler</a>.<div class="fragment"><pre class="fragment"><a name="l00137"></a>00137     {<a name="l00138"></a>00138     <a class="code" href="class_c_br_ctl_sample_app_special_load_observer.html#56132cb68e64726ad0658571e44e9644">iHandler</a> = CDocumentHandler::NewL() ;<a name="l00139"></a>00139     }</pre></div><p>    </td>  </tr></table><hr><table x-use-null-cells		style="x-cell-content-align: top;				width: 100%;				border-spacing: 0px;				border-spacing: 0px;"		cellspacing=0		width=100%>  <col style="width: 50%;">  <col style="width: 50%;">  <tr style="x-cell-content-align: top;"	valign=top>  <td style="width: 50%;			padding-right: 10px;			padding-left: 10px;			border-right-style: None;			border-left-style: None;			border-top-style: None;			border-bottom-style: None;"	width=50%>  <p style="font-family: Arial;"><small style="font-size: smaller;">

⌨️ 快捷键说明

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