messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp
branchRCL_3
changeset 23 d51193d814ea
parent 22 d2c4c66342f3
--- a/messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp	Tue Aug 31 15:41:11 2010 +0300
+++ b/messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp	Wed Sep 01 12:27:27 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005, 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005, 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -11,13 +11,16 @@
 *
 * Contributors:
 *
-* Description:   Stub class for get count of VoIP profiles.
+* Description:   Get count of VoIP profiles.
 *
 */
 
 
 #include "MsgVoIPExtension.h"
 
+#include <spsettings.h>
+#include <featmgr.h>
+
 // ================= MEMBER FUNCTIONS =======================
 
 // C++ default constructor can NOT contain any code, that
@@ -25,14 +28,15 @@
 //
 CMsgVoIPExtension::CMsgVoIPExtension()
     {
+    iVoIPFeatureSupport = EFalse;
     }
 
 // Two-phased constructor.
 //
 EXPORT_C CMsgVoIPExtension* CMsgVoIPExtension::NewL()
     {
-    CMsgVoIPExtension *self = 
-        new ( ELeave ) CMsgVoIPExtension(); 
+    CMsgVoIPExtension *self =
+        new ( ELeave ) CMsgVoIPExtension();
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop();
@@ -43,22 +47,44 @@
 //
 void CMsgVoIPExtension::ConstructL()
     {
-    }        
-    
+    FeatureManager::InitializeLibL();
+    //checking If VOIP is enabled
+    if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
+        {
+        iVoIPFeatureSupport = ETrue;
+        }
+    FeatureManager::UnInitializeLib();	
+    if(iVoIPFeatureSupport)
+        {
+        // for handling services related data
+        iSPSettings = CSPSettings::NewL();
+        }  
+    }
 // Destructor
 //
 CMsgVoIPExtension::~CMsgVoIPExtension()
     {
+    if(iVoIPFeatureSupport)
+        {
+        delete iSPSettings;
+        }
     }
 // ----------------------------------------------------
 // CMsgVoIPExtension::VoIPProfilesExistL
-// 
+//
 // ----------------------------------------------------
 EXPORT_C TBool CMsgVoIPExtension::VoIPProfilesExistL() const
     {
-    return EFalse; 
+    TBool result = EFalse;
+    
+    if(iVoIPFeatureSupport)
+        {
+        result =  iSPSettings->IsFeatureSupported( ESupportVoIPFeature ) &&
+               iSPSettings->IsFeatureSupported( ESupportInternetCallFeature );
+        }
+    return result;
     }
-    
+
 // ----------------------------------------------------
 // CMsgVoIPExtension::IsPreferredTelephonyVoIP
 // 
@@ -74,9 +100,13 @@
 // ----------------------------------------------------
 EXPORT_C TBool CMsgVoIPExtension::IsVoIPSupported() const
     {
-    return EFalse;
+    TBool result = EFalse;
+    
+    if(iVoIPFeatureSupport)
+        {
+        return iSPSettings->IsFeatureSupported( ESupportVoIPFeature );
+        }
+    return result;
     }
 
-
 //  End of File
-