diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrcommon/src/cesmrfeaturesettings.cpp --- a/meetingrequest/mrcommon/src/cesmrfeaturesettings.cpp Mon Mar 15 12:39:10 2010 +0200 +++ b/meetingrequest/mrcommon/src/cesmrfeaturesettings.cpp Wed Mar 31 21:08:33 2010 +0300 @@ -38,8 +38,7 @@ #endif // _DEBUG -// Removed unneeded cleanup function. -// +const TInt KNumLocationFeatures = 4; } // namespace @@ -62,41 +61,33 @@ // --------------------------------------------------------------------------- // void CESMRFeatureSettings::ConstructL() - { + { FUNC_LOG; - // Removed unneeded cleanup function. - FeatureManager::InitializeLibL(); - - TBool locationIntegrationSupported = FeatureManager::FeatureSupported( - KFeatureIdFfFsCalendarLocation ); + + // Read settings from central repository. These are read-only settings, + // so these must be read only once at this object lifetime. + CRepository* settings = NULL; + TRAPD( err, settings = CRepository::NewL( KCRUidESMRUIFeatures ) ); - FeatureManager::UnInitializeLib(); - - if ( locationIntegrationSupported ) + if ( err == KErrNone ) { - // Read settings from central repository. These are read-only settings, - // so these must be read only once at this object lifetime. - CRepository* settings = NULL; - TRAPD( err, settings = CRepository::NewL( KCRUidESMRUIFeatures ) ); + settings->Get( KESMRUIFeatureMnFwIntegration, + iFeatures[ EESMRUIMnFwIntegrationIndex ] ); + + settings->Get( KESMRUIFeatureContactsIntegration, + iFeatures[ EESMRUIContactsIntegrationIndex ] ); + + settings->Get( KESMRUIFeatureLandmarksIntegration, + iFeatures[ EESMRUILandmarksIntegrationIndex ] ); + + settings->Get( KESMRUIFeaturePreviousLocationsList, + iFeatures[ EESMRUIPreviousLocationsListIndex ] ); - if ( err == KErrNone ) - { - settings->Get( KESMRUIFeatureMnFwIntegration, - iLocationFeatures[ EESMRUIMnFwIntegrationIndex ] ); - - settings->Get( KESMRUIFeatureContactsIntegration, - iLocationFeatures[ EESMRUIContactsIntegrationIndex ] ); - - settings->Get( KESMRUIFeatureLandmarksIntegration, - iLocationFeatures[ EESMRUILandmarksIntegrationIndex ] ); - - settings->Get( KESMRUIFeaturePreviousLocationsList, - iLocationFeatures[ EESMRUIPreviousLocationsListIndex ] ); - - delete settings; - } - } - // + settings->Get( KMRUIFeatureMeetingRequestViewerCmailOnly, + iFeatures[ EMRUIMeetingRequestViewerCmailIndex ] ); + + delete settings; + } } @@ -151,10 +142,11 @@ case EESMRUIContactsIntegration: case EESMRUILandmarksIntegration: case EESMRUIPreviousLocationsList: + case EMRUIMeetingRequestViewerCmailOnly: { TInt index = MapFeature( aFeatures ); if ( index > KErrNotFound - && iLocationFeatures[ index ] ) // codescanner::accessArrayElementWithoutCheck2 + && iFeatures[ index ] ) // codescanner::accessArrayElementWithoutCheck2 { featureSupported = ETrue; } @@ -164,9 +156,9 @@ // All flag case EESMRUILocationFeatures: { - for ( TInt i = 0; i < EESMRUINumLocationFeatures; ++i ) + for ( TInt i = 0; i < KNumLocationFeatures; ++i ) { - if ( iLocationFeatures[ i ] ) // codescanner::accessArrayElementWithoutCheck2 + if ( iFeatures[ i ] ) // codescanner::accessArrayElementWithoutCheck2 { featureSupported = ETrue; break; // for-loop @@ -179,18 +171,18 @@ default: { TUint mask = 0x1; - for ( TInt i = 0; i < EESMRUINumLocationFeatures; ++i ) + for ( TInt i = 0; i < EESMRUINumFeatures; ++i ) { TUint feature = aFeatures & mask; TInt index = MapFeature( feature ); if ( ( index > KErrNotFound ) - && ( feature < EESMRUILocationFeatures ) - && iLocationFeatures[ index ] ) // codescanner::accessArrayElementWithoutCheck2 + && ( feature < EMRUIAllFeatures ) + && iFeatures[ index ] ) // codescanner::accessArrayElementWithoutCheck2 { featureSupported = ETrue; break; } - else if ( feature > EESMRUILocationFeatures ) + else if ( feature > EMRUIAllFeatures ) { __ASSERT_DEBUG( EFalse, User::Panic( KPanicCategory, EUnknownFeature) ); } @@ -240,6 +232,11 @@ index = EESMRUIPreviousLocationsListIndex; break; } + case EMRUIMeetingRequestViewerCmailOnly: + { + index = EMRUIMeetingRequestViewerCmailIndex; + break; + } default: // Illegal flags { __ASSERT_DEBUG( EFalse, User::Panic( KPanicCategory, EUnknownFeature) );