camerauis/cameraapp/generic/src/cameracontroller/camconstantsettingprovider.cpp
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/src/cameracontroller/camconstantsettingprovider.cpp	Tue Feb 02 00:01:39 2010 +0200
+++ /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()
-  {
-  }
-