phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/src/ccacmscontactfetcherwrapper.cpp
branchRCL_3
changeset 14 81f8547efd4f
parent 0 e686773b3f54
child 35 4ae315f230bc
--- a/phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/src/ccacmscontactfetcherwrapper.cpp	Fri Feb 19 22:40:27 2010 +0200
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/src/ccacmscontactfetcherwrapper.cpp	Fri Mar 12 15:41:25 2010 +0200
@@ -112,7 +112,7 @@
     {
     CCA_DP(KCCAppUtilLogFile, CCA_L("->CCCAppCmsContactFetcherWrapper::ConstructL()"));
 
-    TRAPD( err, StartFetcherL());
+    TRAPD( err, StartFetcherL( ETrue));
     // problem can either be with connecting to CMS or with opening the contact
     iErrorsOccured = err;
 
@@ -149,13 +149,21 @@
 // CCCAppCmsContactFetcherWrapper::StartFetcherL
 // --------------------------------------------------------------------------
 //
-void CCCAppCmsContactFetcherWrapper::StartFetcherL()
+void CCCAppCmsContactFetcherWrapper::StartFetcherL( TBool aSetDefault )
     {
     CCA_DP(KCCAppUtilLogFile, CCA_L("->CCCAppCmsContactFetcherWrapper::StartFetcherL()"));
     User::LeaveIfError( iCmsSession.Connect() );
+    
     OpenContactL();
     
-    StartAsyncFetchingL();
+    if ( aSetDefault )
+    	{
+    	SetDefaultForVoiceCallL();
+    	}
+    else
+    	{
+    	StartAsyncFetchingL();
+    	}
     
     CCA_DP(KCCAppUtilLogFile, CCA_L("<-CCCAppCmsContactFetcherWrapper::StartFetcherL()"));
     }
@@ -303,6 +311,13 @@
            
     switch( iHandlerState )
         {
+        case ESettingVoiceCallDefault:
+        	{
+            CCA_DP(KCCAppUtilLogFile, CCA_L("::RunL() iHandlerState == ESettingVoiceCallDefault"));
+            StartAsyncFetchingL();
+            CCA_DP(KCCAppUtilLogFile, CCA_L("::RunL() ESettingVoiceCallDefault completed"));
+        	}
+        	break;
         case EFindingFromOtherStores:
             {
             CCA_DP(KCCAppUtilLogFile, CCA_L("::RunL() iHandlerState == EFindingFromOtherStores"));
@@ -365,7 +380,22 @@
 
     CCA_DP(KCCAppUtilLogFile, CCA_L("<-CCCAppCmsContactFetcherWrapper::NotifyErrorL()"));
     }
-
+// --------------------------------------------------------------------------
+// CCCAppCmsContactFetcherWrapper::SetDefaultForVoiceCallL
+// --------------------------------------------------------------------------
+//
+void CCCAppCmsContactFetcherWrapper::SetDefaultForVoiceCallL()
+	{
+	CCA_DP(KCCAppUtilLogFile, CCA_L("->CCCAppCmsContactFetcherWrapper::SetDefaultForVoiceCallL()"));
+	
+	iHandlerState = ESettingVoiceCallDefault;	
+    iStatus = KRequestPending;
+  
+    iCmsContactDataFetcher.SetVoiceCallDefault( iStatus );
+    SetActive();
+    
+    CCA_DP(KCCAppUtilLogFile, CCA_L("<-CCCAppCmsContactFetcherWrapper::SetDefaultForVoiceCallL()"));
+	}
 // --------------------------------------------------------------------------
 // CCCAppCmsContactFetcherWrapper::DoCancel
 // --------------------------------------------------------------------------
@@ -676,4 +706,13 @@
     StartFetcherL();
     }
 
+// ---------------------------------------------------------------------------
+// CCCAppCmsContactFetcherWrapper::IsTopContact
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TBool CCCAppCmsContactFetcherWrapper::IsTopContact()
+    {
+    return iCmsContactDataFetcher.IsTopContact();        
+    }
+
 // End of file