convergedcallengine/serviceselector/src/cssconnectionhandler.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
--- a/convergedcallengine/serviceselector/src/cssconnectionhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
+++ b/convergedcallengine/serviceselector/src/cssconnectionhandler.cpp	Wed Sep 01 12:15:03 2010 +0100
@@ -57,11 +57,13 @@
 //
 void CSsConnectionHandler::ConstructL()
     {
+    iCch = CCch::NewL(); 
     }
 
 // Destructor
 CSsConnectionHandler::~CSsConnectionHandler()
     {
+    delete iCch;
     }
 
 // -----------------------------------------------------------------------------
@@ -71,11 +73,24 @@
 //
 TBool CSsConnectionHandler::IsVoipServiceRegistered
         ( 
-        TUint /*aServiceId */
+        TUint aServiceId 
         ) const
     {
-   
-    TBool registered( EFalse );     
+    TCchServiceStatus serviceStatus;
+    TBool registered( EFalse );
+    CCchService* service = iCch->GetService( aServiceId );
+    if ( service )
+        {
+        service->GetStatus( ECCHVoIPSub, serviceStatus );
+        registered = ( KErrNone == serviceStatus.Error() ) && 
+                     ( ECCHEnabled == serviceStatus.State() );
+        }
+    
+    CSSLOGSTRING4("CSSelector::IsRegistered: id:%d ,enabled:%d ,error:%d",
+                (TInt) aServiceId,
+                (TInt) ECCHEnabled == serviceStatus.State(),
+                (TInt) serviceStatus.Error());
+     
     return registered;        
     }