camerauis/cameraapp/generic/camerauiconfigmanager/src/CameraUiConfigManagerImp.cpp
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/camerauiconfigmanager/src/CameraUiConfigManagerImp.cpp	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,981 +0,0 @@
-/*
-* Copyright (c) 2007-2009 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:  Helper class which handles reading and storing the cr keys 
- *                and its values.
- *
-*/
-
-
-
-// Includes
-#include <StringLoader.h>
-#include <barsread.h>
-#include <e32base.h>
-#include <e32const.h>
-#include <centralrepository.h>
-#include "CameraUiConfigManagerImp.h"
-#include "CameraConfigurationCrKeys.h"
-#include "camlogging.h"
-#include "CamSettings.hrh"
-
-
-// ===========================================================================
-// Constants
-
-const TInt KCamCRStringInitialLength = 1024;
-_LIT( KItemsSeparator, "," );
-
-
-// ===========================================================================
-
-inline TBool SettingIdMatches( const TInt*        aSettingId, 
-                               const TSupportedSettingsData& aSettingItem )
-  {
-  return ( *aSettingId == aSettingItem.iSettingId );
-  };
-
-// ===========================================================================
-
-
-// Class methods
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManagerImp::NewL
-// Symbian OS two-phased constructor 
-// ---------------------------------------------------------------------------
-//
-CCameraUiConfigManagerImp* CCameraUiConfigManagerImp::NewL()
-    {
-    CCameraUiConfigManagerImp* self = CCameraUiConfigManagerImp::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManagerImp::NewLC
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-//
-CCameraUiConfigManagerImp* CCameraUiConfigManagerImp::NewLC()
-    {
-    CCameraUiConfigManagerImp* self = new( ELeave ) CCameraUiConfigManagerImp();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManagerImp::~CCameraUiConfigManagerImp
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CCameraUiConfigManagerImp::~CCameraUiConfigManagerImp()
-  {
-  for( TInt index = 0;index <  iSupportedSettings.Count();index++ )
-        {
-        if ( iSupportedSettings[index] )
-            {
-            iSupportedSettings[index]->iSupportedSettingItems.Close();            
-            }
-        }
-  iSupportedSettings.ResetAndDestroy();
-  iSupportedSettings.Close();
-  
-  delete iRepository;
-  }
-  
-
-  
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManagerImp::ConstructL
-// Symbian OS 2nd phase constructor
-// ---------------------------------------------------------------------------
-//
-void CCameraUiConfigManagerImp::ConstructL()
-    {
-    iRepository = CRepository::NewL( KCameraDynamicConfigurationCrKeys );
-    LoadAllDynamicSettingsL();
-    }
-
-
-
-// ----------------------------------------------------------------------------------
-// CCameraUiConfigManagerImp::IsFeatureSupported
-// ----------------------------------------------------------------------------------
-//
-TInt CCameraUiConfigManagerImp::IsFeatureSupported(
-                                    const TCamDynamicSettings aSettingId ) const
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::IsFeatureSupportedL" ))
-    
-    TInt settingIndex ( KErrNotFound );
-    TInt value(0); // setting not supported
-    
-    if ( iSupportedSettings.Count() > 0 )
-        {
-        settingIndex = SearchInSettingsListFor( iSupportedSettings,
-                                                static_cast<TInt>( aSettingId ) );
-        }
-    else
-        {
-        // if there are no supported settings
-        }
-
-    if ( KErrNotFound != settingIndex )
-        {
-        if ( iSupportedSettings[settingIndex] )
-            {
-            value = iSupportedSettings[settingIndex]->iSupportedValue;
-            }
-        }
-    else
-        {
-        // setting item not found; hence not supported.
-        }
-    PRINT1( _L("Camera <= CCameraUiConfigManagerImp::IsFeatureSupportedL = %d" ), value );
-    return value;
-    }
-
-
-
-//
-//CCameraUiConfigManagerImp::SupportedSettingItemsL
-//
-void CCameraUiConfigManagerImp::SupportedSettingItemsL(
-                                    const TCamDynamicSettings aSettingId,
-                                    RArray<TInt>& aSupportedValues )
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::SupportedSettingItemsL" ))
-    TInt settingIndex ( KErrNotFound );
-    aSupportedValues.Reset();
-
-    if ( iSupportedSettings.Count() > 0 )
-        {
-        settingIndex = SearchInSettingsListFor( iSupportedSettings,
-                                                static_cast<TInt>( aSettingId ) );
-        }
-    else
-        {
-        // do nothing
-        }
-    if ( KErrNotFound != settingIndex )
-        {
-        // if the index is valid, copy all corresponding setting items to the array
-        for ( TInt i = 0; 
-              i < iSupportedSettings[settingIndex]->iSupportedSettingItems.Count();
-              i++ )
-            {
-            if ( iSupportedSettings[settingIndex] )
-                {
-                aSupportedValues.AppendL( 
-                        iSupportedSettings[settingIndex]->iSupportedSettingItems[i] );
-                }
-            }
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::SupportedSettingItemsL" ))
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManager::LoadAllDynamicSettingsL
-// Load all dynamic settings
-// ---------------------------------------------------------------------------
-//
-void CCameraUiConfigManagerImp::LoadAllDynamicSettingsL()
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::LoadAllDynamicSettingsL()" ))	
-    RArray<TDynamicSettingsData> settingItemDefaultData;
-    CleanupClosePushL( settingItemDefaultData );
-    
-    TInt supportedValue = 0;
-    TInt error = KErrNone;
-    
-    for( TInt settingId = ( static_cast<TInt>( ECamDynamicSettingsMin ) + 1 ); 
-              settingId <   static_cast<TInt>( ECamDynamicSettingsMax ); 
-              settingId++ )
-        {
-        if ( LoadCrForFeatureSupport( settingId ) )
-            {
-            error = iRepository->Get( MapSettingItemToCrFeatureKeyL( settingId ),
-                                      supportedValue );
-            }
-        else
-            {
-            supportedValue = 1;
-            }
-
-        if ( error ) break; // if any error reading CenRep; do proper clean-up
-
-        switch( settingId )
-            {
-            case ECamDynamicSettingCaptureToneDelaySupport:
-            case ECamDynamicSettingCaptureToneDelayValue:
-            case ECamDynamicSettingRequiredRamMemory:
-            case ECamDynamicSettingCriticalLevelRamMemory:
-            case ECamDynamicSettingRequiredRamMemoryFocusGained:
-            case ECamDynamicSettingCriticalLevelRamMemoryFocusGained:
-            case ECamDynamicSettingPhoto:
-            case ECamDynamicSettingPublishZoomState:
-            case ECamDynamicSettingAutofocusSetInHyperfocalAtStartup:
-            case ECamDynamicSettingLocation:
-            case ECamDynamicSettingKeyLockWatcher:
-            case ECamDynamicSettingSecondaryCamera:
-            case ECamDynamicSettingLensCover:
-            case ECamDynamicSettingXenonFlash:
-            case ECamDynamicSettingLightSensitivity:
-            case ECamDynamicSettingExtLightSensitivity:
-            case ECamDynamicSettingFaceTracking:
-            case ECamDynamicSettingOpticalJoyStick:
-            case ECamDynamicSettingOneClickUpload:
-            case ECamDynamicSettingVideoLight:
-            case ECamDynamicSettingAutoFocus:
-            case ECamDynamicSettingVideoStabilization:
-            case ECamDynamicSettingOrientationSensor:
-			case ECamDynamicSetting2ndCameraOrientation:
-            case ECamDynamicSettingUIOrientationOverride:
-            case ECamDynamicSettingThumbnailManagerAPI:
-            case ECamDynamicSettingBurstMode:
-			case ECamDynamicSettingContinuousAF: 
-            case ECamDynamicSettingBurstFileSizeEstimateFactor:
-                {
-                PRINT1( _L("Camera <> CCameraUiConfigManagerImp::LoadAllDynamicSettingsL() append %d" ), settingId )
-                AppendToSettingsArrayL( settingId,
-                                        supportedValue,
-                                        settingItemDefaultData );
-                break;
-                }
-            case ECamDynamicSettingVideoSceneModeNormal:
-            case ECamDynamicSettingVideoSceneModeNight:
-            case ECamDynamicSettingVideoSceneModeLowLight:
-            case ECamDynamicSettingDSAViewFinder:
-            case ECamDynamicSettingImageSceneModeAuto:
-            case ECamDynamicSettingImageSceneModeUser:
-            case ECamDynamicSettingImageSceneModeMacro:
-            case ECamDynamicSettingImageSceneModePotrait:
-            case ECamDynamicSettingImageSceneModeScenery:
-            case ECamDynamicSettingImageSceneModeSports:
-            case ECamDynamicSettingImageSceneModeNight:
-            case ECamDynamicSettingImageSceneModeNightPotrait:
-            case ECamDynamicSettingPCCaptureKeys:
-            case ECamDynamicSettingSCCaptureKeys:
-            case ECamDynamicSettingPCAutoFocusKeys:
-            case ECamDynamicSettingSCAutoFocusKeys:
-            case ECamDynamicSettingPCZoomIn:
-            case ECamDynamicSettingSCZoomIn:
-            case ECamDynamicSettingPCZoomOut:
-            case ECamDynamicSettingSCZoomOut:
-            case ECamDynamicSettingWhiteBalance:
-            case ECamDynamicSettingColorTone:
-            case ECamDynamicSettingContrast:
-            case ECamDynamicSettingBrightness:
-            case ECamDynamicSettingEV:
-            case ECamDynamicSettingSharpness:
-            case ECamDynamicSettingFlashMode:
-            case ECamDynamicSettingZoomLAF:
-            case ECamDynamicSettingMaxOpticalZoomLimits:
-            case ECamDynamicSettingMaxExtendedZoomLimits:
-            case ECamDynamicSettingMaxDigitalZoomLimits:
-            case ECamDynamicSettingZoomDelays:
-            case ECamDynamicSettingScreenModes:
-                {
-                PRINT1( _L("Camera <> CCameraUiConfigManagerImp::LoadAllDynamicSettingsL() %d" ), settingId )
-                LoadConfiguredSettingItemValuesFromCrL( settingId,
-                                                        supportedValue,
-                                                        settingItemDefaultData );
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            
-            }
-        }
-    CleanupStack::PopAndDestroy( &settingItemDefaultData );
-    User::LeaveIfError( error );
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::LoadAllDynamicSettingsL()" ))
-    }
-
-
-
-//
-//CCameraUiConfigManagerImp::LoadConfiguredSettingItemValuesFromCr
-//
-void CCameraUiConfigManagerImp::LoadConfiguredSettingItemValuesFromCrL(
-                                       const TInt aSettingId,
-                                       const TInt aSupportedValue,
-                                       RArray<TDynamicSettingsData>& aDefaultItems )
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::LoadConfiguredSettingItemValuesFromCrL" ))		
-    // Load supported setting items only when feature is supported
-    LoadDefaultSettingsDataL( aSettingId, aDefaultItems );
-    AppendToSettingsArrayL( aSettingId,
-                            aSupportedValue,
-                            aDefaultItems,
-                            MapSettingItemToCrItemsKeyL( aSettingId ),
-                            ETrue );
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::LoadConfiguredSettingItemValuesFromCrL" ))                        
-    }
-
-
-
-
-//
-// CCameraUiConfigManagerImp::AppendToSettingsArrayL
-//
-void CCameraUiConfigManagerImp::AppendToSettingsArrayL( const TInt aItemId,
-                                                const TInt aSupportedValue,
-                                                RArray<TDynamicSettingsData>& aAllItems,
-                                                TUint32 aCrItemsKey,
-                                                TBool aLoadSettingItems )
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::AppendToSettingsArrayL" ))  	
-    TSupportedSettingsData* newSetting = new( ELeave ) TSupportedSettingsData;
-    CleanupStack::PushL( newSetting );
-
-    newSetting->iSettingId = aItemId; // setting id
-    newSetting->iSupportedValue     = aSupportedValue; // feature support
-    if ( aLoadSettingItems && aSupportedValue )
-        {
-        // all configured setting items from cr only if the feature is supported
-        GetSupportedSettingIdsL( aAllItems,
-                                 newSetting->iSupportedSettingItems,
-                                 aCrItemsKey ); 
-        }
-
-    iSupportedSettings.AppendL( newSetting );
-    CleanupStack::Pop( newSetting );
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::AppendToSettingsArrayL" ))  	
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManager::LoadAllDynamicSettingL
-// Load all dynamic settings
-// ---------------------------------------------------------------------------
-//
-void CCameraUiConfigManagerImp::LoadDefaultSettingsDataL(
-                                         const TInt aSettingId, 
-                                         RArray<TDynamicSettingsData>& aDefaultItems )
-    {
-    PRINT1( _L("Camera => CCameraUiConfigManagerImp::LoadDefaultSettingsDataL setting id [%d]" ), aSettingId )
-    aDefaultItems.Reset();
-    TInt i = 0;
-    const TInt* settingsId = LoadSettingEnumerationArray( aSettingId );
-    const TUint16* const* stringArray = LoadSettingStringArray( aSettingId );
-    
-    if ( settingsId && stringArray ) 
-        {
-        while ( settingsId[i] != KCamLastSettingItem )
-            {
-            TDynamicSettingsData data;
-            data.iItemId = settingsId[i];
-            data.iText = stringArray[i];
-            aDefaultItems.AppendL( data );
-            i++;
-            }
-        }
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::LoadDefaultSettingsDataL()" ) )    
-    }
-
-
-
-//
-// CCameraUiConfigManagerImp::GetSupportedSettingIdsL
-//
-void CCameraUiConfigManagerImp::GetSupportedSettingIdsL(
-                                             RArray<TDynamicSettingsData>& aAllItems,
-                                             RArray<TInt>& aSupportedValues, 
-                                             const TUint32 aCrKey )
-    {
-    PRINT( _L("Camera => CameraUiConfigManagerImp::GetSupportedSettingIdsL" ))
-    aSupportedValues.Reset();
-    
-    HBufC* string; // not sure but does this need to be in cleanupstack since this can later leave?
-    string = GetStringDataL( aCrKey );
-    TBool clearstring = EFalse;
-    
-    TPtrC data = string->Des();
-    TPtrC currentItem( KNullDesC );
-    
-    while ( data.Length() >  0 )
-        {
-        // Find the next instance of item separator    
-        const TInt separatorIndex( data.Find( KItemsSeparator ) );
-            
-        if( KErrNotFound != separatorIndex )    
-            {
-            // There is more than one item in the string still
-            // Get the current item - everything before separator
-            currentItem.Set( data.Left( separatorIndex ) );
-            // The remaining data is now everything after the separator
-            data.Set( data.Right( data.Length() - separatorIndex - 1 ) );
-            }
-        else
-            {
-            // This is the last item in the string    
-            currentItem.Set( data );
-            data.Set( KNullDesC );
-            clearstring = ETrue;
-            }
-        
-        // Get the item id for the current item, and if found, append to list
-        TInt settingItem;
-        PRINT1( _L("Camera <> settingItem: %S"), string )
-        if ( currentItem[0]-48 >= 0 && currentItem[0]-48 <= 9 ||
-           ( currentItem[0] == '-' && // check for negative number too
-             currentItem[1]-48 >= 0 && currentItem[1]-48 <= 9 ) )
-            {
-            // read the numeric value equivalent to the numeric string
-            TLex lex;
-            if( currentItem.Length() > 2 ) 
-                {
-                // if it is hex value, then extract hex value
-                if( currentItem[1] == 'x' || currentItem[1] == 'X' )
-                    {
-                    lex = TLex( currentItem.Mid(2) );
-                    TRadix radix = EHex;
-                    TUint value;
-                    lex.Val(value, radix);
-                    settingItem = value;
-                    }
-                else  // extract integer
-                    {
-                    lex = TLex( currentItem );
-                    lex.Val( settingItem );
-                    }
-                }            
-             else // extract integer
-                {
-                lex = TLex( currentItem );
-                lex.Val( settingItem );
-                }
-            }
-        else
-            {
-            // not a numeric string, check for necessary enum equivalents.
-            settingItem = SettingItemId( aAllItems, currentItem );
-            }
-        
-        PRINT1( _L("Camera <> settingItem: %d"), settingItem )
-        
-        if( KErrNotFound != settingItem )
-            {
-            aSupportedValues.AppendL( settingItem ); // here
-            }
-        if( clearstring )
-            {
-            delete string;
-            }
-        }
-    PRINT( _L("Camera <= CameraUiConfigManagerImp::GetSupportedSettingIdsL" ))
-    }
-
-
-
-//
-// CCameraUiConfigManagerImp::SettingItemId
-//
-TInt CCameraUiConfigManagerImp::SettingItemId(
-                                RArray<TDynamicSettingsData>& aPossibleSettings,
-                                const TDesC& aItemString ) const
-    {
-    PRINT( _L("Camera => CameraUiConfigManagerImp::SettingItemId" ))
-    for( TInt i = aPossibleSettings.Count()-1; i >= 0; i-- )
-        {     
-        if( aItemString == aPossibleSettings[i].iText )
-            {
-            PRINT( _L("Camera <= CameraUiConfigManagerImp::SettingItemId" ))
-            return aPossibleSettings[i].iItemId;
-            }  
-        }    
-    
-    PRINT( _L("Camera <= CameraUiConfigManagerImp::SettingItemId" ))
-    // No id found for the argument string    
-    return KErrNotFound;
-    }
-
-
-//
-// CCameraUiConfigManagerImp::GetStringDataL
-//
-HBufC* CCameraUiConfigManagerImp::GetStringDataL( const TUint32 aCrKey )
-    {
-    PRINT( _L("Camera => CameraUiConfigManagerImp::GetStringDataL" ))
-    HBufC* string = HBufC::NewLC( KCamCRStringInitialLength );
-    
-    TPtr ptr    = string->Des();
-    TInt size   = 0;
-    TInt status = iRepository->Get( aCrKey, ptr, size );
-		    	
-    // Did not fit into the string, reserve more memory and try again
-    if( KErrOverflow == status ) 
-        {
-        CleanupStack::PopAndDestroy( string ); // String
-        string = HBufC::NewLC( size );
-        ptr    = string->Des();
-        status = iRepository->Get( aCrKey, ptr, size );
-        }
-
-    CleanupStack::Pop( string ); // string
-    User::LeaveIfError( status );   
-    
-    PRINT( _L("Camera <= CameraUiConfigManagerImp::GetStringDataL" ))
-    return string;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CCameraUiConfigManager::SearchInSettingsListFor
-// Searches in a settings list for a particular setting item.
-// ---------------------------------------------------------------------------
-//
-TInt CCameraUiConfigManagerImp::SearchInSettingsListFor( 
-    const RPointerArray<TSupportedSettingsData>& aSettingsList, 
-          TInt                        aSettingItem  ) const
-  {
-  return aSettingsList.Find( aSettingItem, SettingIdMatches );
-  }
-
-
-//
-//CCameraUiConfigManagerImp::MapSettingItemToCrFeatureKeyL
-//
-TUint32 CCameraUiConfigManagerImp::MapSettingItemToCrFeatureKeyL( 
-                                                const TInt aSettingItem ) const
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::MapSettingItemToCrFeatureKeyL" ))	     	
-    TUint32 crKey( 0 );
-    switch ( aSettingItem )
-        {
-        case ECamDynamicSettingRequiredRamMemory:
-                crKey = KCamCrFeatureRequiredRamMemory;
-                break;
-        case ECamDynamicSettingCaptureToneDelaySupport:
-                crKey = KCamCrFeatureCaptureToneDelaySupport;
-                break;
-        case ECamDynamicSettingCaptureToneDelayValue:
-                crKey = KCamCrFeatureCaptureToneDelayValue;
-                break;
-        case ECamDynamicSettingCriticalLevelRamMemory:
-                crKey = KCamCrFeatureCriticalLevelRamMemory;
-                break;
-        case ECamDynamicSettingRequiredRamMemoryFocusGained:
-                crKey = KCamCrFeatureRequiredRamMemoryFocusGained;
-                break;
-        case ECamDynamicSettingCriticalLevelRamMemoryFocusGained:
-                crKey = KCamCrFeatureCriticalLevelRamMemoryFocusGained;
-                break;
-        case ECamDynamicSettingPhoto:
-                crKey = KCamCrFeatureKeyPhotos;
-                break;
-        case ECamDynamicSettingPublishZoomState:
-                crKey = KCamCrFeatureKeyPublishZoomSate;
-                break;
-        case ECamDynamicSettingAutofocusSetInHyperfocalAtStartup:
-                crKey = KCamCrFeatureKeyAFSetInHyperfocalAtStartup;
-                break;
-        case ECamDynamicSettingExtDigitalZoom:
-                crKey = KCamCrFeatureExtDigitalZoom;
-                break;
-        case ECamDynamicSettingLocation:
-                crKey = KCamCrFeatureLocation;
-                break;
-        case ECamDynamicSettingKeyLockWatcher:
-                crKey = KCamCrFeatureKeyLockWatcher;
-                break;
-        case ECamDynamicSettingColorTone:
-                crKey = KCamCrFeatureColorTone;
-                break;
-        case ECamDynamicSettingSharpness:
-                crKey = KCamCrFeatureSharpness;
-                break;
-        case ECamDynamicSettingWhiteBalance:
-                crKey = KCamCrFeatureWhiteBalance;
-                break;
-        case ECamDynamicSettingSecondaryCamera:
-                crKey = KCamCrFeatureSecondaryCamera;
-                break;
-        case ECamDynamicSettingLensCover:
-                crKey = KCamCrFeatureLensCover;
-                break;
-        case ECamDynamicSettingXenonFlash:
-                crKey = KCamCrFeatureXenonFlash;
-                break;
-        case ECamDynamicSettingOneClickUpload:
-                crKey = KCamCrFeatureOneClickUpLoad;
-                break;
-        case ECamDynamicSettingVideoLight:
-                crKey = KCamCrFeatureVideoLight;
-                break;
-        case ECamDynamicSettingAutoFocus:
-                crKey = KCamCrFeatureAutoFocus;
-                break;
-        case ECamDynamicSettingExtLightSensitivity:
-                crKey = KCamCrFeatureExtLightSensitivity;
-                break;
-        case ECamDynamicSettingContrast:
-                crKey = KCamCrFeatureContrast;
-                break;
-        case ECamDynamicSettingBrightness:
-                crKey = KCamCrFeatureBrightness;
-                break;
-        case ECamDynamicSettingEV:
-                crKey = KCamCrFeatureEV;
-                break;
-        case ECamDynamicSettingFlashMode:
-                crKey = KCamCrFeatureFlashMode;
-                break;
-        case ECamDynamicSettingLightSensitivity: 
-                crKey = KCamCrFeatureLightSensitivity;
-                break;
-        case ECamDynamicSettingVideoStabilization: 
-                crKey = KCamCrFeatureVideoStabilization;
-                break;
-        case ECamDynamicSettingOrientationSensor: 
-                crKey = KCamCrFeatureOrientationSensor;
-                break;
-        case ECamDynamicSettingFaceTracking:
-                crKey = KCamCrFeatureFaceTracking;
-                break;
-        case ECamDynamicSettingOpticalJoyStick: 
-                crKey = KCamCrFeatureOpticalJoyStick;
-                break;
-		case ECamDynamicSetting2ndCameraOrientation: 
-                crKey = KCamCrFeature2ndCameraOrientation;  
-                break;		
-        case ECamDynamicSettingUIOrientationOverride: 
-                crKey = KCamCrFeatureUIOrientationOverride;
-                break;
-        case ECamDynamicSettingThumbnailManagerAPI:
-                crKey = KCamCrFeatureThumbnailManagerAPI;
-                break;
-        case ECamDynamicSettingBurstFileSizeEstimateFactor:
-                crKey = KCamCrFeatureBurstFileSizeEstimateFactor;
-                break;				
-        case ECamDynamicSettingBurstMode: 
-                crKey = KCamCrFeatureBurstMode;
-                break;  
-	    case ECamDynamicSettingContinuousAF:
-                crKey = KCamCrFeatureContinuousAF;   
-                break;			        
-        default:
-            PRINT( _L("Camera <> CCameraUiConfigManagerImp::MapSettingItemToCrFeatureKeyL, leave!!!" ) )	
-            User::Leave( KErrNotSupported );
-        }
-        PRINT( _L("Camera <= CCameraUiConfigManagerImp::MapSettingItemToCrFeatureKeyL" ) )
-    return crKey;
-    }
-
-
-
-//
-//CCameraUiConfigManagerImp::MapSettingItemToCrKeyL
-//
-TUint32
-CCameraUiConfigManagerImp::MapSettingItemToCrItemsKeyL( const TInt aSettingItem ) const
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::MapSettingItemToCrItemsKeyL" ))	
-    TUint32 crKey( 0 );
-    switch ( aSettingItem )
-        {
-        case ECamDynamicSettingVideoSceneModeNormal:
-                crKey = KCamCrFeatureVideoSceneNormal;
-                break;                
-        case ECamDynamicSettingVideoSceneModeNight:
-                crKey = KCamCrFeatureVideoSceneModeNight;
-                break;
-        case ECamDynamicSettingVideoSceneModeLowLight:
-                crKey = KCamCrFeatureVideoSceneModeLowLight;
-                break;
-        case ECamDynamicSettingDSAViewFinder:
-                crKey = KCamCrFeatureDSAViewFinder;
-                break;
-        case ECamDynamicSettingImageSceneModeAuto:
-                crKey = KCamCrFeatureImageSceneModeAuto;
-                break;
-        case ECamDynamicSettingImageSceneModeUser:
-                crKey = KCamCrFeatureImageSceneModeUser;
-                break;
-        case ECamDynamicSettingImageSceneModeMacro:
-                crKey = KCamCrFeatureImageSceneModeMacro;
-                break;
-        case ECamDynamicSettingImageSceneModePotrait:
-                crKey = KCamCrFeatureImageSceneModePotrait;
-                break;
-        case ECamDynamicSettingImageSceneModeScenery:
-                crKey = KCamCrFeatureImageSceneModeScenery;
-                break;
-        case ECamDynamicSettingImageSceneModeSports:
-                crKey = KCamCrFeatureImageSceneModeSports;
-                break;
-        case ECamDynamicSettingImageSceneModeNight:
-                crKey = KCamCrFeatureImageSceneModeNight;
-                break;
-        case ECamDynamicSettingImageSceneModeNightPotrait:
-                crKey = KCamCrFeatureImageSceneModeNightPotrait;
-                break;
-        case ECamDynamicSettingPCCaptureKeys:
-                crKey = KCamCrFeaturePCCaptureKeys;
-                break;
-        case ECamDynamicSettingSCCaptureKeys:
-                crKey = KCamCrFeatureSCCaptureKeys;
-                break;
-        case ECamDynamicSettingPCAutoFocusKeys:
-                crKey = KCamCrFeaturePCAutoFocusKeys;
-                break;
-        case ECamDynamicSettingSCAutoFocusKeys:
-                crKey = KCamCrFeatureSCAutoFocusKeys;
-                break;
-        case ECamDynamicSettingColorTone:
-                crKey = KCamCrFeatureColorToneItems;
-                break;
-        case ECamDynamicSettingWhiteBalance:
-                crKey = KCamCrFeatureWhiteBalanceItems;
-                break;
-        case ECamDynamicSettingPCZoomIn:
-                crKey = KCamCrFeaturePCZoomInItems;
-                break;
-        case ECamDynamicSettingPCZoomOut:
-                crKey = KCamCrFeaturePCZoomOutItems;
-                break;
-        case ECamDynamicSettingSCZoomIn:
-                crKey = KCamCrFeatureSCZoomInItems;
-                break;
-        case ECamDynamicSettingSCZoomOut:
-                crKey = KCamCrFeatureSCZoomOutItems;
-                break;
-        case ECamDynamicSettingEV:
-                crKey = KCamCrFeatureEVItems;
-                break;
-        case ECamDynamicSettingSharpness:
-                crKey = KCamCrFeatureSharpnessItems;
-                break;
-        case ECamDynamicSettingFlashMode:
-                crKey = KCamCrFeatureFlashModeItems;
-                break;
-        case ECamDynamicSettingMaxDigitalZoomLimits:
-                crKey = KCamCrFeatureMaxDigitalZoomLimits;
-                break;
-        case ECamDynamicSettingMaxExtendedZoomLimits:
-                crKey = KCamCrFeatureMaxExtendedZoomLimits;
-                break;
-        case ECamDynamicSettingMaxOpticalZoomLimits:
-                crKey = KCamCrFeatureMaxOpticalZoomLimits;
-                break;
-        case ECamDynamicSettingZoomLAF:
-                crKey = KCamCrFeatureZoomLAF;
-                break;
-        case ECamDynamicSettingContrast:
-                crKey = KCamCrFeatureContrastItems;
-                break;
-        case ECamDynamicSettingBrightness:
-                crKey = KCamCrFeatureBrightnessItems;
-                break;
-        case ECamDynamicSettingZoomDelays:
-                crKey = KCamCrFeatureZoomDelays;
-                break;
-        case ECamDynamicSettingScreenModes:
-                crKey = KCamCrFeatureScreenModes;
-                break;
-        default:
-            PRINT( _L("Camera <> CCameraUiConfigManagerImp::MapSettingItemToCrItemsKeyL, leave!!!" ) )
-            User::Leave( KErrNotSupported );
-        }
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::MapSettingItemToCrItemsKeyL" ) )
-    return crKey;
-    }
-
-
-//
-//CCameraUiConfigManagerImp::LoadCrForFeatureSupport
-//
-TBool CCameraUiConfigManagerImp::LoadCrForFeatureSupport( const TInt aSettingId ) const
-    {
-    TBool loadFromCr( ETrue );
-    
-    switch ( aSettingId )
-        {
-        case ECamDynamicSettingDSAViewFinder:
-        case ECamDynamicSettingPCCaptureKeys:
-        case ECamDynamicSettingSCCaptureKeys:
-        case ECamDynamicSettingPCAutoFocusKeys:
-        case ECamDynamicSettingSCAutoFocusKeys:
-        case ECamDynamicSettingPCZoomIn:
-        case ECamDynamicSettingPCZoomOut:
-        case ECamDynamicSettingSCZoomIn:
-        case ECamDynamicSettingSCZoomOut:
-        case ECamDynamicSettingMaxDigitalZoomLimits:
-        case ECamDynamicSettingMaxExtendedZoomLimits:
-        case ECamDynamicSettingMaxOpticalZoomLimits:
-        case ECamDynamicSettingZoomLAF:
-        case ECamDynamicSettingImageSceneModeAuto:
-        case ECamDynamicSettingImageSceneModeUser:
-        case ECamDynamicSettingImageSceneModeMacro:
-        case ECamDynamicSettingImageSceneModePotrait:
-        case ECamDynamicSettingImageSceneModeScenery:
-        case ECamDynamicSettingImageSceneModeSports:
-        case ECamDynamicSettingImageSceneModeNight:
-        case ECamDynamicSettingImageSceneModeNightPotrait:
-        case ECamDynamicSettingVideoSceneModeNormal:
-        case ECamDynamicSettingVideoSceneModeNight:
-        case ECamDynamicSettingVideoSceneModeLowLight:
-        case ECamDynamicSettingZoomDelays:
-        case ECamDynamicSettingScreenModes:
-             loadFromCr = EFalse;
-             break;
-        default:
-             break;
-        }
-    return loadFromCr;
-    }
-
-//
-//CCameraUiConfigManagerImp::LoadSettingEnumerationArray
-//
-const TInt* CCameraUiConfigManagerImp::LoadSettingEnumerationArray( const TInt aSettingItem )
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::LoadSettingEnumerationArray" ) )	
-    const TInt* enumArray = NULL;
-    
-    switch ( aSettingItem )
-        {
-        case ECamDynamicSettingWhiteBalance:
-             enumArray = KCamWhiteBalanceEnums;
-             break;
-        case ECamDynamicSettingColorTone:
-             enumArray = KCamColorToneEnums;
-             break;
-        case ECamDynamicSettingFlashMode:
-             enumArray = KCamFlashModeEnums;
-             break;
-        case ECamDynamicSettingImageSceneModeAuto:
-        case ECamDynamicSettingImageSceneModeUser:
-        case ECamDynamicSettingImageSceneModeMacro:
-        case ECamDynamicSettingImageSceneModePotrait:
-        case ECamDynamicSettingImageSceneModeScenery:
-        case ECamDynamicSettingImageSceneModeSports:
-        case ECamDynamicSettingImageSceneModeNight:
-        case ECamDynamicSettingImageSceneModeNightPotrait:
-        case ECamDynamicSettingVideoSceneModeNormal:
-        case ECamDynamicSettingVideoSceneModeNight:
-        case ECamDynamicSettingVideoSceneModeLowLight:
-            enumArray = KCamSceneModeEnums;
-            break;             
-        default:
-             PRINT( _L("Camera <> CCameraUiConfigManagerImp::LoadSettingEnumerationArray, default!!!" ) )
-             break;
-        }
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::LoadSettingEnumerationArray" ) )
-    return enumArray;
-    }
-    
-
-//
-//CCameraUiConfigManagerImp::LoadSettingStringArray
-//
-const TUint16* const* CCameraUiConfigManagerImp::LoadSettingStringArray( 
-                                                const TInt aSettingItem )
-    {
-    PRINT( _L("Camera => CCameraUiConfigManagerImp::LoadSettingStringArray()" ) )
-    const TUint16* const* stringArray = NULL;
-    
-    switch ( aSettingItem )
-        {
-        case ECamDynamicSettingWhiteBalance:
-             stringArray = KCamWhiteBalanceStrings;
-             break;
-        case ECamDynamicSettingColorTone:
-             stringArray = KCamColorToneStrings;
-             break;
-        case ECamDynamicSettingFlashMode:
-             stringArray = KCamFlashModeStrings;
-             break;
-        case ECamDynamicSettingImageSceneModeAuto:
-        case ECamDynamicSettingImageSceneModeUser:
-        case ECamDynamicSettingImageSceneModeMacro:
-        case ECamDynamicSettingImageSceneModePotrait:
-        case ECamDynamicSettingImageSceneModeScenery:
-        case ECamDynamicSettingImageSceneModeSports:
-        case ECamDynamicSettingImageSceneModeNight:
-        case ECamDynamicSettingImageSceneModeNightPotrait:
-        case ECamDynamicSettingVideoSceneModeNormal:
-        case ECamDynamicSettingVideoSceneModeNight:
-        case ECamDynamicSettingVideoSceneModeLowLight:
-             stringArray = KCamSceneModeStrings;
-             break;
-        default:
-             break;
-        }
-    PRINT( _L("Camera <= CCameraUiConfigManagerImp::LoadSettingStringArray()" ) )
-    return stringArray;
-    }
-
-
-/*
-* Organizing CenRep data to a definite structure for scene modes.
-*/
-void CCameraUiConfigManagerImp::OrganiseSceneSettings( 
-                                            RArray<TSceneSettings>& aTargetArray,
-                                            RArray<TInt>& aSceneSettingsArray,
-                                            const TBool aPhotoScene )
-    {
-    if ( aSceneSettingsArray.Count() > 0 )
-        {
-        TSceneSettings scene;
-        TInt index = 0;
-        // The following is the order how we read values from CenRep
-        // each time for each specific scene mode in Image & Video case.
-        scene.iSupported                  = aSceneSettingsArray[index++];
-        scene.iIdentifier                 = aSceneSettingsArray[index++];
-        scene.iExposureMode               = aSceneSettingsArray[index++];
-        scene.iWhiteBalance               = aSceneSettingsArray[index++];
-        scene.iFlash                      = aSceneSettingsArray[index++];
-        scene.iContrastMode               = aSceneSettingsArray[index++];
-        scene.iFocalDistance              = aSceneSettingsArray[index++];
-        
-        if ( aPhotoScene )
-            {
-            // The following is the order how we read values from CenRep
-            // each time for each specific scene mode in Image case.
-            // Note: In image scene, we ignore iFrameRate as this wont be configured
-            //       for any of the image scenes
-            scene.iSharpnessMode              = aSceneSettingsArray[index++];
-            scene.iLightSensitivityMode       = aSceneSettingsArray[index++];
-            scene.iExposureCompensationValue  = aSceneSettingsArray[index++];            
-            }
-        else
-            {
-            // The following is the order how we read values from CenRep
-            // each time for each specific scene mode in Video scene case.
-            // Note: In image scene, we ignore iFrameRate as this wont be configured
-            //       for any of the image scenes
-            scene.iFrameRate                  = aSceneSettingsArray[index++];
-            }
-        aTargetArray.Append( scene );
-        }
-    }
-// End of file