diff -r d2c4c66342f3 -r d51193d814ea messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp --- 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 +#include + // ================= 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 -