📄 class_c_address_book_engine.html
字号:
<td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"><code> [protected, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>From CSenDomFragment, is called from <a class="el" href="class_c_address_book_engine.html#6f6aab8e9e405117f0c28455489d2b8a">CAddressBookEngine::HandleMessageL</a> (ParseL(aMessage)) every time when XML parser finds a closing element tag.<p>We are only interested about the </Status> element. When the </Status> is found, we check for errors found in response, and if so, notice the observer <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>aNsUri</em> </td><td>- namespace URI </td></tr> <tr><td valign="top"></td><td valign="top"><em>aLocalName</em> </td><td>- local name (in this case we are interested only Status) </td></tr> <tr><td valign="top"></td><td valign="top"><em>aQName</em> </td><td>- qualified name </td></tr> </table></dl><p>Definition at line <a class="el" href="_address_book_engine_8cpp-source.html#l00482">482</a> of file <a class="el" href="_address_book_engine_8cpp-source.html">AddressBookEngine.cpp</a>.<p>References <a class="el" href="class_m_address_book_engine_observer.html#b3a39294ac41ecd9ba1eaae63fc36346">MAddressBookEngineObserver::ErrorL()</a>, <a class="el" href="_address_book_engine_8h-source.html#l00290">iContacts</a>, <a class="el" href="_address_book_engine_8h-source.html#l00300">iErrorState</a>, <a class="el" href="_address_book_engine_8h-source.html#l00299">iFaultDelegate</a>, and <a class="el" href="_address_book_engine_8h-source.html#l00297">iObserver</a>.<div class="fragment"><pre class="fragment"><a name="l00485"></a>00485 {<a name="l00486"></a>00486 _LIT( KEndElementL, <span class="stringliteral">"CAddressBookEngine::EndElementL()"</span>);<a name="l00487"></a>00487 _LIT( KNamespaceURI, <span class="stringliteral">"- namespace URI (%S)"</span>);<a name="l00488"></a>00488 _LIT( KLocalname, <span class="stringliteral">"- localname (%S)"</span>);<a name="l00489"></a>00489 _LIT( KQualName, <span class="stringliteral">"- qualified name (%S)"</span>); <a name="l00490"></a>00490 <a name="l00491"></a>00491 LOG( KEndElementL);<a name="l00492"></a>00492 LOG_FORMAT((KNamespaceURI, aNsUri));<a name="l00493"></a>00493 LOG_FORMAT((KLocalname, aLocalName));<a name="l00494"></a>00494 LOG_FORMAT((KQualName, aQName));<a name="l00495"></a>00495 <a name="l00496"></a>00496 <span class="keywordflow">if</span>(aLocalName == KStatus)<a name="l00497"></a>00497 {<a name="l00498"></a>00498 <span class="keywordflow">if</span> (<a class="code" href="class_c_address_book_engine.html#b07a7dadac01652ed3d4d68d40d79a15">iErrorState</a> == ENestedError)<a name="l00499"></a>00499 {<a name="l00500"></a>00500 <a class="code" href="class_c_address_book_engine.html#b07a7dadac01652ed3d4d68d40d79a15">iErrorState</a> = ENoError;<a name="l00501"></a>00501 CSenElement* statusElement = NULL;<a name="l00502"></a>00502 <span class="keywordflow">if</span> (<a class="code" href="class_c_address_book_engine.html#1bf2f8bd2d45c91d07cabdb6d4de7f9b">iFaultDelegate</a>)<a name="l00503"></a>00503 {<a name="l00504"></a>00504 statusElement =<a name="l00505"></a>00505 <a class="code" href="class_c_address_book_engine.html#1bf2f8bd2d45c91d07cabdb6d4de7f9b">iFaultDelegate</a>->AsElement().Element(KStatus);<a name="l00506"></a>00506 }<a name="l00507"></a>00507 <a name="l00508"></a>00508 <span class="keywordflow">if</span>(statusElement)<a name="l00509"></a>00509 {<a name="l00510"></a>00510 <span class="keyword">const</span> TDesC8* errorCode = statusElement->AttrValue(KCode);<a name="l00511"></a>00511 <a class="code" href="class_c_address_book_engine.html#941a218168fb890451d01114c235c0cc">iContacts</a>.ResetAndDestroy();<a name="l00512"></a>00512 <span class="keywordflow">if</span> (errorCode)<a name="l00513"></a>00513 {<a name="l00514"></a>00514 <span class="keywordflow">if</span> (SenXmlUtils::LocalName(*errorCode) == KTooManyMatches)<a name="l00515"></a>00515 {<a name="l00516"></a>00516 <a class="code" href="class_c_address_book_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_address_book_engine_observer.html#b3a39294ac41ecd9ba1eaae63fc36346">ErrorL</a>(ETooManyMatches);<a name="l00517"></a>00517 }<a name="l00518"></a>00518 <span class="keywordflow">else</span><a name="l00519"></a>00519 {<a name="l00520"></a>00520 <a class="code" href="class_c_address_book_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_address_book_engine_observer.html#b3a39294ac41ecd9ba1eaae63fc36346">ErrorL</a>(ESearchFailed); <span class="comment">// Default error</span><a name="l00521"></a>00521 }<a name="l00522"></a>00522 }<a name="l00523"></a>00523 }<a name="l00524"></a>00524 <span class="keywordflow">else</span><a name="l00525"></a>00525 {<a name="l00526"></a>00526 <span class="comment">// could not find status element:</span><a name="l00527"></a>00527 <a class="code" href="class_c_address_book_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_address_book_engine_observer.html#b3a39294ac41ecd9ba1eaae63fc36346">ErrorL</a>(ESearchFailed); <span class="comment">// Default error</span><a name="l00528"></a>00528 }<a name="l00529"></a>00529 }<a name="l00530"></a>00530 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="class_c_address_book_engine.html#b07a7dadac01652ed3d4d68d40d79a15">iErrorState</a> == ESoapError)<a name="l00531"></a>00531 {<a name="l00532"></a>00532 <a class="code" href="class_c_address_book_engine.html#b07a7dadac01652ed3d4d68d40d79a15">iErrorState</a> = ENoError;<a name="l00533"></a>00533 <span class="keyword">delete</span> <a class="code" href="class_c_address_book_engine.html#1bf2f8bd2d45c91d07cabdb6d4de7f9b">iFaultDelegate</a>;<a name="l00534"></a>00534 <a class="code" href="class_c_address_book_engine.html#1bf2f8bd2d45c91d07cabdb6d4de7f9b">iFaultDelegate</a> = NULL;<a name="l00535"></a>00535 <a class="code" href="class_c_address_book_engine.html#941a218168fb890451d01114c235c0cc">iContacts</a>.ResetAndDestroy();<a name="l00536"></a>00536 <a class="code" href="class_c_address_book_engine.html#5598d19cc10719afd28055422087a200">iObserver</a>.<a class="code" href="class_m_address_book_engine_observer.html#b3a39294ac41ecd9ba1eaae63fc36346">ErrorL</a>(ESearchFailed); <span class="comment">// Default error</span><a name="l00537"></a>00537 }<a name="l00538"></a>00538 }<a name="l00539"></a>00539 <span class="keywordflow">else</span><a name="l00540"></a>00540 {<a name="l00541"></a>00541 CSenBaseFragment::EndElementL(aNsUri, aLocalName, aQName);<a name="l00542"></a>00542 }<a name="l00543"></a>00543 }</pre></div><p> </td> </tr></table><a class="anchor" name="9ce34ba0b947863222da3c63d0481044"></a><!-- doxytag: member="CAddressBookEngine::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 CAddressBookEngine::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="_address_book_engine_8cpp-source.html#l00084">84</a> of file <a class="el" href="_address_book_engine_8cpp-source.html">AddressBookEngine.cpp</a>.<p>References <a class="el" href="_address_book_engine_8h-source.html#l00295">iXmlReader</a>.<div class="fragment"><pre class="fragment"><a name="l00085"></a>00085 {<a name="l00086"></a>00086 LOG_OPEN();<a name="l00087"></a>00087 _LIT( KConstructL, <span class="stringliteral">"CAddressBookEngine::ConstructL() ***"</span>);<a name="l00088"></a>00088 LOG(KConstructL);<a name="l00089"></a>00089 CSenBaseFragment::BaseConstructL(KPpContract, KQueryResponseLocalName);<a name="l00090"></a>00090 <a class="code" href="class_c_address_book_engine.html#3695bb8e65e087ac6017ea86b6bb6ff5">iXmlReader</a> = CSenXmlReader::NewL();<a name="l00091"></a>00091 }</pre></div><p> </td> </tr></table><a class="anchor" name="27169094a7dab01d3a23984924dc0819"></a><!-- doxytag: member="CAddressBookEngine::RegisterIdentityProviderL" ref="27169094a7dab01d3a23984924dc0819" 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">TInt CAddressBookEngine::RegisterIdentityProviderL </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>Register IdentityProvider and associates Forum Nokia's Addressbook service to be known to trust in this IDP. Method creates instance of the CSenServiceManager to achieve this Identity Provider (IDP) registration. IDP is also registered as Authentication Service (AS) Description, because in Liberty ID-WSF, they are the same service. <dl compact><dt><b>Returns:</b></dt><dd>status code or -1 if error appears </dd></dl><p>Definition at line <a class="el" href="_address_book_engine_8cpp-source.html#l00554">554</a> of file <a class="el" href="_address_book_engine_8cpp-source.html">AddressBookEngine.cpp</a>.<p>References <a class="el" href="_address_book_engine_8h-source.html#l00298">iManager</a>.<div class="fragment"><pre class="fragment"><a name="l00555"></a>00555 {<a name="l00556"></a>00556 _LIT( KRegIdProvL, <span class="stringliteral">"CAddressBookEngine::RegisterIdentityProviderL()"</span>);<a name="l00557"></a>00557 LOG( KRegIdProvL);<a name="l00558"></a>00558 TBuf<64> buf; <span class="comment">// for logging</span><a name="l00559"></a>00559 <a name="l00560"></a>00560 TInt retVal(KErrNone);<a name="l00561"></a>00561 <a name="l00562"></a>00562 <span class="keywordflow">if</span> (!<a class="code" href="class_c_address_book_engine.html#508f9458a5c8d3a3b8f13fd61eeef60f">iManager</a>)<a name="l00563"></a>00563 {<a name="l00564"></a>00564 _LIT( KInsNewServMng, <span class="stringliteral">"Instantiating new service manager"</span>);<a name="l00565"></a>00565 LOG( KInsNewServMng);<a name="l00566"></a>00566 <a class="code" href="class_c_address_book_engine.html#508f9458a5c8d3a3b8f13fd61eeef60f">iManager</a> = CSenServiceManager::NewL();<a name="l00567"></a>00567 }<a name="l00568"></a>00568 <a name="l00569"></a>00569 CSenIdentityProvider* idp = CSenIdentityProvider::NewLC(<a name="l
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -