--- a/camerauis/cameraapp/generic/src/cameracontroller/camconstantsettingprovider.cpp Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,523 +0,0 @@
-/*
-* Copyright (c) 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: CCamCameraControllerActive class implementation.
-*
-*
-*/
-
-#include "camcameracontrollerflags.hrh"
-
-#include <ecam.h>
-#ifdef CAMERAAPP_CAPI_V2
- #include <ecamadvsettings.h> // KECamFineResolutionFactor
-#endif
-
-#include "camlogging.h"
-#include "camcameracontroller.pan"
-#include "camcameracontrollertypes.h"
-#include "camconstantsettingprovider.h"
-#include "camsettingconversion.h"
-#include "CamAppController.h"
-#include "campointerutility.inl"
-
-using namespace NCamCameraController;
-
-// ===========================================================================
-// Local data
-
-static const CCamera::TFormat KImageFormat = CCamera::EFormatExif;
-static const TSize KImageSize = TSize(1600,1200); // 2MPix, supported in most products
-static const TInt KImageFactor = 100;
-
-static const CCamera::TFormat KImageFormatSecondary = CCamera::EFormatFbsBitmapColor16M;
-static const TSize KImageSizeSecondary = TSize( 320,240 );
-static const TInt KImageFactorSecondary = 100;
-
-static const TSize KViewfinderSize = TSize(320, 240);
-static const TCamViewfinderMode KViewFinderMode = ECamViewfinderBitmap;
-
-static const TSize KViewfinderSizeSecondary = TSize( 240, 180 );
-
-static const CCamera::TFormat KSnapshotFormat = CCamera::EFormatFbsBitmapColor16M;
-static const TSize KSnapshotSize = TSize(320, 240);
-static const TBool KSnapshotMaintainAspect = EFalse;
-
-static const CCamera::TFlash KFlashSetting = CCamera::EFlashAuto;
-
-static const CCamera::TExposure KEvModeSetting = CCamera::EExposureAuto;
-#ifdef CAMERAAPP_CAPI_V2
- static const TInt KEvValueSetting = 2;
-#endif
-
-static const TInt KISOValue = 100;
-static const CCamera::TWhiteBalance KWbModeSetting = CCamera::EWBAuto;
-static const CCamera::TBrightness KBrightnessValue = CCamera::EBrightnessAuto;
-static const CCamera::TContrast KContrastValue = CCamera::EContrastAuto;
-static const TInt KDigitalZoomValue = 1;
-static const TInt KOpticalZoomValue = 1;
-
-#ifdef CAMERAAPP_CAPI_V2
- static const CCamera::CCameraAdvancedSettings::TFocusRange KFocusRange =
- CCamera::CCameraAdvancedSettings::EFocusRangeAuto;
-#endif // CAMERAAPP_CAPI_V2
-
-// -------------------------------------
-// Video by CAE settings:
-// - MMS video setting, as it's the same in all products in use.
-#ifdef CAMERAAPP_CAE_FOR_VIDEO
-
-static const TSize KVideoFrameSize = TSize(176, 144);
-static const TReal KVideoFrameRate = 15.0f;
-static const TInt KVideoVideoBitRate = 64000;
-static const TInt KVideoAudioBitRate = 12200;
-static const TBool KVideoAudioOn = ETrue;
-
-_LIT8( KVideoMimeType, "video/3gpp" );
-_LIT ( KVideoSupplier, "Nokia" );
-_LIT8( KVideoVideoType, "video/H263-2000" );
-_LIT8( KVideoAudioType, " AMR" );
-
-#endif // CAMERAAPP_CAE_FOR_VIDEO
-// -------------------------------------
-
-
-// ===========================================================================
-// Local methods
-
-
-// ===========================================================================
-// Methods
-
-// static
-CCamConstantSettingProvider*
-CCamConstantSettingProvider::NewL( CCamAppController& aController )
- {
- CCamConstantSettingProvider* self =
- CCamConstantSettingProvider::NewLC( aController );
- CleanupStack::Pop( self );
- return self;
- }
-
-// static
-CCamConstantSettingProvider*
-CCamConstantSettingProvider::NewLC( CCamAppController& aController )
- {
- CCamConstantSettingProvider* self =
- new (ELeave) CCamConstantSettingProvider( aController );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// virtual
-CCamConstantSettingProvider::~CCamConstantSettingProvider()
- {
- iPendingSettingChanges.Close();
- }
-
-// ===========================================================================
-// From MCamSettingProvider
-
-// ---------------------------------------------------------------------------
-// virtual
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::ProvideCameraParamL(
- const NCamCameraController::TCamCameraParamId& aParamId,
- TAny* aParamData )
- {
- __ASSERT_DEBUG( aParamData, Panic( ECamNullPointer ) );
- switch( aParamId )
- {
- // -----------------------------------------------------------------------
- case ECameraParamImage:
- {
- TPckgBuf<TCamParamsImage>* ptr =
- static_cast<TPckgBuf<TCamParamsImage>*>( aParamData );
- CheckNonNullL( ptr, KErrNotFound );
- TCamParamsImage& params( (*ptr)() );
-
- if( ECamActiveCameraPrimary == iController.ActiveCamera() )
- {
- // Primary camera parameters
- params.iFormat = KImageFormat;
- params.iSize = KImageSize;
- params.iQualityFactor = KImageFactor;
- }
- else
- {
- // Secondary camera parameters
- params.iFormat = KImageFormatSecondary;
- params.iSize = KImageSizeSecondary;
- params.iQualityFactor = KImageFactorSecondary;
- }
-
- break;
- }
- // -----------------------------------------------------------------------
-#ifdef CAMERAAPP_CAE_FOR_VIDEO
- case ECameraParamVideoCae:
- {
- TPckgBuf<TCamParamsVideoCae>* ptr =
- static_cast<TPckgBuf<TCamParamsVideoCae>*>( aParamData );
- CheckNonNullL( ptr, KErrNotFound );
-
- TCamParamsVideoCae& params( (*ptr)() );
-
- params.iFrameSize = KVideoFrameSize;
- params.iFrameRate = KVideoFrameRate;
- params.iVideoBitRate = KVideoVideoBitRate;
- params.iAudioBitRate = KVideoAudioBitRate;
- params.iAudioOn = KVideoAudioOn;
- params.iMimeType.Set ( KVideoMimeType );
- params.iSupplier.Set ( KVideoSupplier );
- params.iVideoType.Set( KVideoVideoType );
- params.iAudioType.Set( KVideoAudioType );
-
- break;
- }
-#endif // CAMERAAPP_CAE_FOR_VIDEO
- // -----------------------------------------------------------------------
- case ECameraParamVfMode:
- {
- TPckgBuf<TCamViewfinderMode>* ptr =
- static_cast<TPckgBuf<TCamViewfinderMode>*>( aParamData );
- CheckNonNullL( ptr, KErrNotFound );
- TCamViewfinderMode& params( (*ptr)() );
- params = KViewFinderMode;
- break;
- }
- // -----------------------------------------------------------------------
- case ECameraParamSnapshot:
- {
- TPckgBuf<TCamParamsSnapshot>* ptr =
- static_cast<TPckgBuf<TCamParamsSnapshot>*>( aParamData );
- CheckNonNullL( ptr, KErrNotFound );
- TCamParamsSnapshot& params( (*ptr)() );
-
- params.iSize = KSnapshotSize;
- params.iFormat = KSnapshotFormat;
- params.iMaintainAspect = KSnapshotMaintainAspect;
- break;
- }
- // -----------------------------------------------------------------------
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- // -----------------------------------------------------------------------
- }
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::ProvideCameraSettingL(
- const NCamCameraController::TCamCameraSettingId& aSettingId,
- TAny* aSettingData )
- {
- switch( aSettingId )
- {
- case ECameraSettingQualityFactor:
- {
- TInt* ptr = static_cast<TInt*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KImageFactor;
- break;
- }
- case ECameraSettingFlash:
- {
- CCamera::TFlash* ptr =
- static_cast<CCamera::TFlash*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KFlashSetting;
- break;
- }
- case ECameraSettingExposure:
- {
- TPckgBuf<TCamSettingDataExposure>* ptr =
- static_cast<TPckgBuf<TCamSettingDataExposure>*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
-
- TCamSettingDataExposure& evData( (*ptr)() );
- evData.iExposureMode = KEvModeSetting;
-#ifdef CAMERAAPP_CAPI_V2
- evData.iExposureStep = KEvValueSetting * KECamFineResolutionFactor;
-#else
- evData.iExposureStep = 0;
-#endif
- break;
- }
- case ECameraSettingLightSensitivity:
- {
- TInt* ptr = static_cast<TInt*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KISOValue;
- break;
- }
- case ECameraSettingWhiteBalance:
- {
- TPckgBuf<TCamSettingDataWhiteBalance>* ptr =
- static_cast<TPckgBuf<TCamSettingDataWhiteBalance>*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
-
- TCamSettingDataWhiteBalance& wbData( (*ptr)() );
- wbData.iWhiteBalanceMode = KWbModeSetting;
- break;
- }
- case ECameraSettingBrightness:
- {
- CCamera::TBrightness* ptr =
- static_cast<CCamera::TBrightness*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KBrightnessValue;
- break;
- }
- case ECameraSettingContrast:
- {
- CCamera::TContrast* ptr =
- static_cast<CCamera::TContrast*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KContrastValue;
- break;
- }
- case ECameraSettingDigitalZoom:
- {
- TInt* ptr = static_cast<TInt*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KDigitalZoomValue;
- break;
- }
- case ECameraSettingOpticalZoom:
- {
- TInt* ptr = static_cast<TInt*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KOpticalZoomValue;
- break;
- }
-
-#ifdef CAMERAAPP_CAPI_V2
- case ECameraSettingFocusRange:
- {
- CCamera::CCameraAdvancedSettings::TFocusRange* ptr =
- static_cast<CCamera::CCameraAdvancedSettings::TFocusRange*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = KFocusRange;
- break;
- }
-#endif // CAMERAAPP_CAPI_V2
- case ECameraSettingAudioMute:
- {
- TBool* ptr = static_cast<TBool*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = EFalse;
- break;
- }
- case ECameraSettingContAF:
- {
- TBool* ptr = static_cast<TBool*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = ETrue;
- break;
- }
- case ECameraSettingFileMaxSize:
- {
- TInt* ptr = static_cast<TInt*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = 0; // not limited
- break;
- }
- case ECameraSettingFileName:
- {
- TPtr* ptr = static_cast<TPtr*>( aSettingData );
- CheckNonNullL( ptr, KErrNotFound );
- *ptr = iController.CurrentFullFileName();
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::ProvidePendingSettingChangesL(
- RArray<NCamCameraController::TCamCameraSettingId>& aSettingIds )
- {
- PRINT( _L("Camera => CCamConstantSettingProvider::ProvidePendingSettingChangesL") );
- aSettingIds.Reset();
- aSettingIds.ReserveL( iPendingSettingChanges.Count() );
- for( TInt i = 0; i < iPendingSettingChanges.Count(); i++ )
- {
- aSettingIds.AppendL( iPendingSettingChanges[i] );
- }
- PRINT1( _L("Camera <> %d settings changed"), aSettingIds.Count() );
-
-
- // Update: Reset only when asked. Enables retries.
- // iPendingSettingChanges.Reset();
- PRINT( _L("Camera <= CCamConstantSettingProvider::ProvidePendingSettingChangesL") );
- }
-
-
-// ---------------------------------------------------------------------------
-// PendingSettingChangeCount
-// ---------------------------------------------------------------------------
-//
-TInt
-CCamConstantSettingProvider::PendingSettingChangeCount() const
- {
- return iPendingSettingChanges.Count();
- }
-
-
-// ===========================================================================
-// From MCamSettingsModelObserver
-/*
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::IntegerSettingChangedL(
- TCamSettingItemIds aSettingItem,
- TInt// aSettingValue
- )
- {
- TCamCameraIntSettingId cameraId =
- Map2CameraControllerSettingId( aSettingItem );
-
- if( ECameraSettingNone != cameraId
- && KErrNotFound == iPendingSettingChanges.Find( cameraId ) )
- {
- iPendingSettingChanges.AppendL( cameraId )
- }
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::TextSettingChangedL(
- TCamSettingItemIds aSettingItem,
- const TDesC&// aSettingValue
- )
- {
- TCamCameraIntSettingId cameraId =
- Map2CameraControllerSettingId( aSettingIds[i] );
-
- if( ECameraSettingNone != cameraId )
- {
- iPendingSettingChanges.Append( cameraId )
- }
- }
-*/
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::Reset()
- {
- iPendingSettingChanges.Reset();
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider
-::AddPendingSettingChangesL( const RArray<TCamSettingItemIds>& aUiSettingIds )
- {
- iPendingSettingChanges.ReserveL( aUiSettingIds.Count()
- + iPendingSettingChanges.Count() );
-
- for( TInt i = 0; i < aUiSettingIds.Count(); i++ )
- {
- AddPendingSettingChangeL( aUiSettingIds[i] );
- }
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider
-::AddPendingSettingChangeL( TCamSettingItemIds aUiSettingId )
- {
- TCamCameraSettingId cameraId =
- CCamSettingConversion::Map2CameraControllerSettingId( aUiSettingId );
-
- // Add each setting only once
- if( ECameraSettingNone != cameraId
- && KErrNotFound == iPendingSettingChanges.Find( cameraId ) )
- {
- iPendingSettingChanges.AppendL( cameraId );
- }
- }
-
-// ---------------------------------------------------------------------------
-// SetSupportedISORatesL
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::SetSupportedISORatesL( const RArray<TInt>& aSupportedIsoRates )
- {
- iSupportedISORates = aSupportedIsoRates;
- if ( iSupportedISORates.Count() != 0 )
- {
- iValidISORates = ETrue;
- }
- }
-
-// ===========================================================================
-// private
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void
-CCamConstantSettingProvider::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CCamConstantSettingProvider
-::CCamConstantSettingProvider( CCamAppController& aController )
- : iController( aController ),
- iPendingSettingChanges()
- {
- }
-