📄 _address_book_engine_8cpp-source.html
字号:
<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> (iErrorState == ESoapError)<a name="l00531"></a>00531 {<a name="l00532"></a>00532 iErrorState = ENoError;<a name="l00533"></a>00533 <span class="keyword">delete</span> iFaultDelegate;<a name="l00534"></a>00534 iFaultDelegate = NULL;<a name="l00535"></a>00535 iContacts.ResetAndDestroy();<a name="l00536"></a>00536 iObserver.ErrorL(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 }<a name="l00544"></a>00544 <a name="l00545"></a>00545 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00546"></a>00546 <span class="comment">// CAddressBookEngine::RegisterIdentityProviderL()</span><a name="l00547"></a>00547 <span class="comment">// registers the IdentityProvider and associates the FN service to it. </span><a name="l00548"></a>00548 <span class="comment">// Method creates the CSenServiceManager instance and uses it to register</span><a name="l00549"></a>00549 <span class="comment">// Identity Provider ALSO as Authentication Service (AS) Description.</span><a name="l00550"></a>00550 <span class="comment">// The actual Forum Nokia's Addressbook service is then associated to this</span><a name="l00551"></a>00551 <span class="comment">// newly registered IdentityProvider.</span><a name="l00552"></a>00552 <span class="comment">// ----------------------------------------------------------------------------</span><a name="l00553"></a>00553 <span class="comment">//</span><a name="l00554"></a><a class="code" href="class_c_address_book_engine.html#27169094a7dab01d3a23984924dc0819">00554</a> TInt <a class="code" href="class_c_address_book_engine.html#27169094a7dab01d3a23984924dc0819">CAddressBookEngine::RegisterIdentityProviderL</a>()<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="l00570"></a>00570 KASEndPoint, KASContract);<a name="l00571"></a>00571 <a name="l00572"></a>00572 <span class="comment">// Set the Provider ID</span><a name="l00573"></a>00573 idp->SetProviderID(KASProviderID);<a name="l00574"></a>00574 <a name="l00575"></a>00575 <span class="comment">// Associate Forum Nokia's Addressbook service ID (contract)</span><a name="l00576"></a>00576 <span class="comment">// to this Identity Provider</span><a name="l00577"></a>00577 idp->SetServiceID(KPpContract);<a name="l00578"></a>00578 <a name="l00579"></a>00579 <span class="comment">// Set Liberty ID-WSF framework ID</span><a name="l00580"></a>00580 idp->SetFrameworkIdL(KDefaultIdWsfFrameworkID);<a name="l00581"></a>00581 <a name="l00582"></a>00582 <span class="comment">// ------------------------------------------------------------------------</span><a name="l00583"></a>00583 <span class="comment">// The following username/password properties will be used for</span><a name="l00584"></a>00584 <span class="comment">// authentication. Please note, that use advisory authentication</span><a name="l00585"></a>00585 <span class="comment">// id "IMEI" would result device ID to be directly fetched from phone.</span><a name="l00586"></a>00586 <span class="comment">// ------------------------------------------------------------------------</span><a name="l00587"></a>00587 <span class="comment">//</span><a name="l00588"></a>00588 idp->SetUserInfoL(KTestAuthzID, KNullDesC8, KTestPassword);<a name="l00589"></a>00589 <a name="l00590"></a>00590 _LIT( KRegIdProv, <span class="stringliteral">"Registering identityprovider. User info provided."</span>);<a name="l00591"></a>00591 LOG( KRegIdProv);<a name="l00592"></a>00592 retVal = <a class="code" href="class_c_address_book_engine.html#508f9458a5c8d3a3b8f13fd61eeef60f">iManager</a>->RegisterIdentityProviderL(*idp);<a name="l00593"></a>00593 <span class="keywordflow">if</span>(retVal != KErrNone)<a name="l00594"></a>00594 {<a name="l00595"></a>00595 <span class="comment">// --------------------------------------------------------------------</span><a name="l00596"></a>00596 <span class="comment">// An error occurred. However, the rest of registration calls will</span><a name="l00597"></a>00597 <span class="comment">// be attempted in order to provide any possible data that WSF needs.</span><a name="l00598"></a>00598 <span class="comment">// --------------------------------------------------------------------</span><a name="l00599"></a>00599 buf.AppendNum(retVal);<a name="l00600"></a>00600 _LIT( KErrRegIdProv, <span class="stringliteral">"Error registering Identity Provider: %S"</span>);<a name="l00601"></a>00601 LOG_FORMAT((KErrRegIdProv, buf));<a name="l00602"></a>00602 buf.Zero();<a name="l00603"></a>00603 }<a name="l00604"></a>00604 _LIT( KRegAutServDesc, <span class="stringliteral">"Registering autentication service description."</span>);<a name="l00605"></a>00605 LOG( KRegAutServDesc);<a name="l00606"></a>00606 retVal = iManager->RegisterServiceDescriptionL(*idp);<a name="l00607"></a>00607 <span class="keywordflow">if</span>(retVal != KErrNone)<a name="l00608"></a>00608 {<a name="l00609"></a>00609 <span class="comment">// --------------------------------------------------------------------</span><a name="l00610"></a>00610 <span class="comment">// An error occurred. However, the rest of registration calls will</span><a name="l00611"></a>00611 <span class="comment">// be attempted in order to provide any possible data that WSF needs.</span><a name="l00612"></a>00612 <span class="comment">// --------------------------------------------------------------------</span><a name="l00613"></a>00613 buf.AppendNum(retVal);<a name="l00614"></a>00614 _LIT( KErrRegServDesc, <span class="stringliteral">"Error registering Service Description: %S"</span>);<a name="l00615"></a>00615 LOG_FORMAT((KErrRegServDesc, buf));<a name="l00616"></a>00616 buf.Zero();<a name="l00617"></a>00617 }<a name="l00618"></a>00618 <a name="l00619"></a>00619 <span class="comment">// Note, that following API call could be used to associate more services</span><a name="l00620"></a>00620 <span class="comment">// to some Identity Provider, which ProviderID is known.</span><a name="l00621"></a>00621 <span class="comment">//</span><a name="l00622"></a>00622 <span class="comment">// LIT( KAssocAddressbookServ, "Associating Addressbook service (WSP) to known Identity Provider.");</span><a name="l00623"></a>00623 <span class="comment">// LOG( KAssocAddressbookServ);</span><a name="l00624"></a>00624 <span class="comment">// retVal = iManager->AssociateServiceL(KPpContract, KASProviderID);</span><a name="l00625"></a>00625 <span class="comment">//</span><a name="l00626"></a>00626 <span class="comment">// if(retVal != KErrNone) </span><a name="l00627"></a>00627 <span class="comment">// {</span><a name="l00628"></a>00628 <span class="comment">// // --------------------------------------------------------------------</span><a name="l00629"></a>00629 <span class="comment">// // An error occurred. However, the rest of registration calls will</span><a name="l00630"></a>00630 <span class="comment">// // be attempted in order to provide any possible data that WSF needs.</span><a name="l00631"></a>00631 <span class="comment">// // --------------------------------------------------------------------</span><a name="l00632"></a>00632 <span class="comment">// buf.AppendNum(retVal);</span><a name="l00633"></a>00633 <span class="comment">// _LIT( KErrAssFNServ, "Error associating the FN service to IDP %S");</span><a name="l00634"></a>00634 <span class="comment">// LOG_FORMAT( KErrAssFNServ, buf);</span><a name="l00635"></a>00635 <span class="comment">// buf.Zero();</span><a name="l00636"></a>00636 <span class="comment">// }</span><a name="l00637"></a>00637 <a name="l00638"></a>00638 CleanupStack::PopAndDestroy(idp); <a name="l00639"></a>00639 <span class="keywordflow">return</span> retVal;<a name="l00640"></a>00640 }<a name="l00641"></a>00641 <a name="l00642"></a>00642 <span class="comment">// -------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -