--- a/camerauis/cameraapp/generic/camerauiconfigmanager/src/CameraUiConfigManagerImp.cpp Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,985 +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:
- case ECamDynamicSettingCustomCaptureButton:
- {
- 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;
- case ECamDynamicSettingCustomCaptureButton:
- crKey = KCamCrFeatureCustomCaptureButton;
- 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