📄 class_c_br_ctl_sample_app_special_load_observer.html
字号:
<tr> <td> </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> </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> </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->Count() != aDesArray->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 < aTypeArray->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->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 < aTypeArray->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->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< TUint > *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">( </td> <td class="md" nowrap valign="top">RArray< TUint > * </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 * </td> <td class="mdname" nowrap> <em>aDesArray</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </td><td>Array of download parameter types </td></tr> <tr><td valign="top"></td><td valign="top"><em>aDesArray</em> </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->Count();<a name="l00109"></a>00109 <span class="keywordflow">for</span> (i = 0; i < count; i++)<a name="l00110"></a>00110 {<a name="l00111"></a>00111 <span class="keywordflow">if</span> ((*aTypeArray)[i] == EParamLocalFileName && aDesArray[i].Length() > 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 < 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->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>->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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [private]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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 + -