phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp
branchRCL_3
changeset 62 5266b1f337bd
parent 61 41a7f70b3818
child 81 c26cc2a7c548
--- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Wed Sep 01 12:30:10 2010 +0100
@@ -269,7 +269,7 @@
 // ---------------------------------------------------------------------------
 //
 void CPhoneCallHeaderManager::SetCallHeaderType( 
-    TInt aCallHeaderType )
+    const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType )
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetCallHeaderType() ");
     iCallHeaderParam->SetCallHeaderType( aCallHeaderType ); 
@@ -279,34 +279,43 @@
 //  CPhoneCallHeaderManager::~CPhoneCallHeaderManager
 // ---------------------------------------------------------------------------
 //
-TInt CPhoneCallHeaderManager::CallHeaderType() const
+CBubbleManager::TPhoneCallTypeFlags CPhoneCallHeaderManager::CallHeaderType() const
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::CallHeaderType() ");
     return iCallHeaderParam->CallHeaderType();            
     }
 
 // ---------------------------------------------------------------------------
-//  CPhoneCallHeaderManager::SetDivertIndication
-// ---------------------------------------------------------------------------
-//
-void CPhoneCallHeaderManager::SetDivertIndication( const TBool aDivertIndication )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetDivertIndication()");
-    iCallHeaderParam->SetDivertIndication( aDivertIndication );           
-    }
-
-// ---------------------------------------------------------------------------
 // CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL
 // ---------------------------------------------------------------------------
 //
 void CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL( 
-        const TInt /*aNumberLength*/,
-        const TBool /*aContactInfoAvailable*/ )
+        const TInt aNumberLength,
+        const TBool aContactInfoAvailable )
     {
     __LOGMETHODSTARTEND( 
             EPhoneControl, 
             "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL() ");
-     
+    TPhoneCmdParamBoolean phoneNumberAvailable;
+    if( aNumberLength || aContactInfoAvailable )
+        {
+        // Phone number is available straight or via contact info
+        // so switch to video/voice call is possible
+        __PHONELOG( EBasic, 
+                EPhoneControl, 
+                "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL - Phonenumber is available" );
+        phoneNumberAvailable.SetBoolean( ETrue );
+        }
+    else
+        {
+        __PHONELOG( EBasic, 
+                EPhoneControl, 
+                "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL - Phonenumber is not available" );
+        phoneNumberAvailable.SetBoolean( EFalse );              
+        }
+    iViewCommandHandle.ExecuteCommandL( 
+            EPhoneViewSetPhoneNumberAvailableInPhoneEngine, 
+            &phoneNumberAvailable );        
     }
 
 // -----------------------------------------------------------
@@ -334,3 +343,23 @@
         }
     }
 
+// -----------------------------------------------------------
+// CPhoneCallHeaderManager::GetInCallNumberTextL
+// -----------------------------------------------------------
+//
+void CPhoneCallHeaderManager::GetInCallNumberTextL( 
+        TInt aCallId, 
+        TDes& aData ) const
+    {
+    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::GetInCallNumberTextL( ) ");    
+    // Display "Call n", n = callId-8 for video and callId+1 for voice call
+    HBufC* tmp = StringLoader::LoadL( 
+        CPhoneMainResourceResolver::Instance()->
+        ResolveResourceID( EPhoneInCallNumberText ), 
+        aCallId + ( IsVideoCall( aCallId ) ? -8 : 1 ), 
+        CCoeEnv::Static() );
+    
+    aData = *tmp;
+    delete tmp;
+    }
+