--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchserver/src/cchfeaturemanager.cpp Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2003-2007 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CCchFeatureManager implementation.
+ *
+*/
+
+
+// INCLUDES
+
+#include <e32svr.h> // RDebug
+#include <featmgr.h>
+#include "cchfeaturemanager.h"
+#include <centralrepository.h>
+#include "cchprivatecrkeys.h"
+#include "cchlogger.h"
+#include <settingsinternalcrkeys.h>
+#include <CoreApplicationUIsSDKCRKeys.h>
+
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ---------------------------------------------------------------------------
+// CCchFeatureManager::CCchFeatureManager
+// C++ default constructor can NOT contain any code, that might leave.
+// ---------------------------------------------------------------------------
+//
+CCchFeatureManager::CCchFeatureManager()
+ {
+ // No implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// CCchFeatureManager::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CCchFeatureManager::ConstructL()
+ {
+ CCHLOGSTRING( "CCchFeatureManager::ConstructL IN" );
+
+ // Create Central Repository instance for Offline Mode
+ iOfflineRepository = CRepository::NewL( KCRUidCoreApplicationUIs );
+
+ TBool iDynamicVoIPSupported( EFalse );
+ FeatureManager::InitializeLibL();
+
+ iCoverDisplaySupported = FeatureManager::FeatureSupported(
+ KFeatureIdCoverDisplay );
+ CCHLOGSTRING2(
+ "CCchFeatureManager::ConstructL: Cover display supported=%d",
+ iCoverDisplaySupported );
+
+ iVoIPSupported = FeatureManager::FeatureSupported( KFeatureIdCommonVoip );
+ if( iVoIPSupported )
+ {
+ CRepository* rep = CRepository::NewL( KCRUidTelephonySettings );
+ if( rep->Get( KDynamicVoIP, iDynamicVoIPSupported ) == KErrNone )
+ {
+ iVoIPSupported &= iDynamicVoIPSupported;
+ }
+
+ delete rep;
+ }
+
+#ifdef _DEBUG
+ iVoIPSupported = ETrue;
+#endif
+ CCHLOGSTRING2( "CCchFeatureManager::ConstructL: VoIP supported=%d",
+ iVoIPSupported );
+ FeatureManager::UnInitializeLib();
+
+ CCHLOGSTRING( "CCchFeatureManager::ConstructL OUT" );
+ }
+
+// ---------------------------------------------------------------------------
+// CCchFeatureManager::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CCchFeatureManager* CCchFeatureManager::NewL()
+ {
+ CCchFeatureManager* self = new (ELeave) CCchFeatureManager;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// Destructor
+CCchFeatureManager::~CCchFeatureManager()
+ {
+ delete iOfflineRepository;
+ iOfflineRepository = NULL;
+ }
+
+// ----------------------------------------------------------------------------
+// CCchFeatureManager::VoIPSupported()
+// ----------------------------------------------------------------------------
+//
+TBool CCchFeatureManager::VoIPSupported() const
+ {
+ return iVoIPSupported;
+ }
+
+// ----------------------------------------------------------------------------
+// CCchFeatureManager::OfflineMode()
+// ----------------------------------------------------------------------------
+//
+TBool CCchFeatureManager::OfflineMode() const
+ {
+ CCHLOGSTRING( "CCchFeatureManager::OfflineMode IN" );
+
+ TInt offline( 0 );
+ iOfflineRepository->Get( KCoreAppUIsNetworkConnectionAllowed, offline );
+ CCHLOGSTRING2( "CCchFeatureManager::OfflineMode Offline: %d", offline );
+
+ return ECoreAppUIsNetworkConnectionNotAllowed == offline;
+ }
+
+// ----------------------------------------------------------------------------
+// CCchFeatureManager::CoverDisplaySupported()
+// ----------------------------------------------------------------------------
+//
+TBool CCchFeatureManager::CoverDisplaySupported() const
+ {
+ return iCoverDisplaySupported;
+ }
+
+
+// End of File
+
+
+