os/mm/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 
     2 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 // All rights reserved.
     4 // This component and the accompanying materials are made available
     5 // under the terms of "Eclipse Public License v1.0"
     6 // which accompanies this distribution, and is available
     7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 //
     9 // Initial Contributors:
    10 // Nokia Corporation - initial contribution.
    11 //
    12 // Contributors:
    13 //
    14 // Description:
    15 //
    16 
    17 #ifndef _ECAMSETPLUGIN1_H_
    18 #define _ECAMSETPLUGIN1_H_
    19 
    20 #include <ecam/ecamplugin.h>
    21 #include <ecam/ecaminfoplugin.h>
    22 
    23 #include <ecam/ecamadvsettingsintf.h>
    24 #include "ECamUnitTestPlugin.h"
    25 #include "ECamUnitTestPluginUids.hrh"
    26 #include <ecam/implementationfactoryintf.h>
    27 
    28 #define KSupportedPresetsNumber 4
    29 #define KSupportedTransformationsNumber 3
    30 
    31 const TInt KDefaultIsoRate					= 200;
    32 const TInt KMaxIsoRate						= 1600;
    33 const TInt KIsoRate1						= 320;
    34 const TInt KIsoRate2						= 640;
    35 const TInt KIsoRate3						= 840;
    36 const TInt KIsoRate4						= 1200;
    37 const TInt KIsoRate5						= 1400;
    38 const TInt KMinIsoRate						= 100;
    39 const TInt KNumSupportedIsoRate				= 8;
    40 const TInt KSupportedContinuousZoomType		= 0;
    41 
    42 const TUid KUidCameraManagementUid = {KUidCameraManagementUidValue};
    43 
    44 class CCamContinuousZoom;
    45 // Implementations of the MCameraAdvancedSettings class
    46 class CCamAdvSet : 	public CBase, 
    47 					public MCameraAdvancedSettings,
    48 					public MCameraAdvancedSettings2,
    49 					public MCameraAdvancedSettings3,
    50 					public MCameraAdvancedSettings4
    51 	{
    52 public:
    53 	static CCamAdvSet* NewL(CCamUnitTestPlugin& aOwner);
    54 	~CCamAdvSet();
    55 	
    56 protected:
    57 
    58 	void Release();	
    59 	//from MCameraAdvancedSettings
    60 	CCamera::CCameraAdvancedSettings::TCameraType CameraType() const;	
    61 	CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const;	
    62 	TBool IsCameraPresent() const;
    63 	TBool IsCameraPresent(TInt aCameraIndex) const;
    64 	TInt CameraIndex() const;
    65 	TInt SupportedStabilizationModes() const;
    66 	CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const;
    67 	void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode = CCamera::CCameraAdvancedSettings::EStabilizationModeOff);
    68 	TInt SupportedFocusModes() const;
    69 	CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
    70 	void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode = CCamera::CCameraAdvancedSettings::EFocusModeAuto);
    71 	TInt SupportedFocusRanges() const;
    72 	CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
    73 	void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange = CCamera::CCameraAdvancedSettings::EFocusRangeNormal);
    74 	TInt SupportedAutoFocusTypes() const;
    75 	CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
    76 	void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
    77 	TInt SupportedAutoFocusAreas() const;
    78 	CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const;
    79 	void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea);
    80 	TInt FocusDistance() const;
    81 	void SetFocusDistance(TInt aDistance); 
    82 	TInt GetMinFocalLength() const;
    83 
    84     void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const;
    85     TInt IsoRate() const;
    86     void SetIsoRate(TInt aRate);
    87      	
    88 	void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const;
    89 	TInt Aperture() const;
    90 	void SetAperture(TInt aFStop); 
    91 	void GetShutterSpeedsL(RArray<TInt>& aShutterSteps, TValueInfo& aInfo) const; 
    92 	TInt ShutterSpeed() const; 
    93 	void SetShutterSpeed(TInt aShutterSpeed); 
    94 	TInt SupportedMeteringModes() const;
    95 	CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const;
    96 	void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode);
    97 	TInt SupportedDriveModes() const;
    98 	CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const;
    99 	void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode);
   100 	TInt SupportedBracketModes() const;
   101 	CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const;
   102 	void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode);
   103 	TInt SupportedBracketParameters() const;
   104 	CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const;
   105 	void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter);
   106 	TInt SupportedBracketSteps() const;
   107 	CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const;
   108 	void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep);
   109 	void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const;
   110 	void SetBracketMerge(TInt aStartIndex = 0, TInt aFrames = 2);
   111 	TInt SupportedFlashModes() const;
   112 	CCamera::TFlash FlashMode() const;
   113 	void SetFlashMode(CCamera::TFlash aMode = CCamera::EFlashNone);
   114 	TBool RedEyeReduceOn() const;
   115 	void SetRedEyeReduceOn(TBool aState);
   116 	void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const; 
   117 	TInt FlashCompensationStep() const;
   118 	TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const;
   119 	void SetFlashCompensationStep(TInt aFlashCompensationStep);
   120 	void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
   121 
   122 	TInt FlashCompensation() const;
   123 	TInt GetFlashCompensation(TInt& aFlashCompensation) const;
   124 	void SetFlashCompensation(TInt aFlashCompensation);
   125 	TBool IsExternalFlashPresent() const;
   126 	void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const;
   127 	TInt ManualFlashPowerLevel() const;
   128 	void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel);
   129 	TInt SupportedExposureModes() const;
   130 	CCamera::TExposure ExposureMode() const;
   131 	void SetExposureMode(CCamera::TExposure aExposureMode = CCamera::EExposureAuto);
   132 	void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const;
   133 	TInt ExposureCompensationStep() const; 
   134 	TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const;
   135 	void SetExposureCompensationStep(TInt aExposureCompensationStep);
   136 	void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
   137 
   138 	TInt ExposureCompensation() const;
   139 	TInt GetExposureCompensation(TInt& aExposureCompensation) const;
   140 	void SetExposureCompensation(TInt aExposureCompensation);
   141 	TInt SupportedWhiteBalanceModes() const;
   142 	CCamera::TWhiteBalance WhiteBalanceMode() const;
   143 	void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode);
   144 	TBool ApertureExposureLockOn() const;
   145 	void SetApertureExposureLockOn(TBool aAELock);
   146 	TBool ShootClickOn() const;
   147 	void SetShootClickOn(TBool aShootClickOn);
   148 	void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const;
   149 	TInt TimerInterval() const;  
   150 	void SetTimerInterval(TInt aTimerInterval); 
   151 	void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const;
   152 	void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const; 
   153 	void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval); 
   154 	CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const;
   155 	TInt SupportedPixelAspectRatios() const;
   156 	CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const;
   157 	void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation); 
   158 	void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio); 
   159 	TInt SupportedYuvRanges() const;
   160 	CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const;
   161 	void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange);
   162 	TInt BurstImages() const;
   163 	void SetBurstImages(TInt aImages);
   164 	void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo)  const;
   165 	TInt OpticalZoom() const;
   166 	void SetOpticalZoom(TInt aOpticalZoom);
   167 	void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo)  const;
   168 
   169 	TInt DigitalZoom() const;
   170 	void SetDigitalZoom(TInt aDigitalZoom);
   171 	TBool ExposureLockOn() const;
   172 	void SetExposureLockOn(TBool aState=EFalse);
   173 	TBool AutoFocusLockOn() const;
   174 	void SetAutoFocusLockOn(TBool aState=EFalse);
   175 	void GetSupportedSettingsL(RArray<TUid>& aSettings) const;   
   176 	void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const;
   177 	void GetDisabledSettingsL(RArray<TUid>& aActiveSettings) const;
   178 	void SetAutomaticSizeSelectionChangeOn(TBool aSetOn = EFalse);		
   179 	TBool AutomaticSizeSelectionChangeOn() const;
   180 
   181     void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const;
   182     TInt ContinuousAutoFocusTimeout() const;
   183     void SetContinuousAutoFocusTimeout(TInt aMicrosecondTimeout);
   184     void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect);
   185 	CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const;
   186 	TInt SupportedStabilizationEffects() const;
   187 	TInt SupportedStabilizationComplexityValues() const;
   188 	CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const;
   189 	void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity);
   190     CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const;
   191     void SetWBRgbValue(const TRgb& aValue);
   192 	void GetWBRgbValue(TRgb& aValue) const;
   193 	void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const;
   194 	void SetWBColorTemperature(TInt aColorTemperature);	
   195 	TInt WBColorTemperature() const;
   196 	
   197 	//from MCameraAdvancedSettings2
   198 	TInt IsFlashReady(TBool& aReady) const;
   199 	void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const;
   200 	
   201 	//from MCameraAdvancedSettings3
   202 	void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const;
   203 	void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam);
   204 	void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const;
   205 	void SetReferenceScreen(CWsScreenDevice& aScreenDevice);
   206 	void GetDigitalZoomStepsForStillL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const;
   207 	void GetDigitalZoomStepsForVideoL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const;
   208 	void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const;
   209 	void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning);
   210 	void UnSubscribePreCaptureWarningL();
   211 	void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const;
   212 	void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const;
   213 	void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const;
   214 	void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight);
   215 	
   216 	//from MCameraAdvancedSettings4
   217 	void GetSupportedContinuousZoomTypeL(TUint& aSupportedContinuousZoomType) const;
   218 	void GetFocalLengthInfoL(TInt& aMinFocalLength, TInt& aCurrentFocalLength, TInt& aMaxFocalLength) const;
   219 	void GetNumOperationPreferenceL(TUint& aNumOperationPreferenceSupported) const;
   220 
   221 	void EnumerateOperationPreferenceL(TUint aOperationPreferenceIndex, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aSpeedLevel, 
   222 			CCamera::CCameraAdvancedSettings::TPerformanceLevel& aQualityLevel, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowMemoryConsumptionLevel, 
   223 			CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowPowerConsumptionLevel) const;
   224 
   225 	void SetOperationPreference(TUint aOperationPreferenceIndex);
   226 	void GetOperationPreferenceL(TInt& aOperationPreferenceIndex) const;
   227 	void GetSupportedEventsL(RArray<TUid>& aSupportedEvents) const;
   228 	void GetIndirectFeatureChangesL(TUid aRequestedSetting, RArray<TUid>& aIndirectFeatureChanges) const;
   229 	void CreateContinuousZoomImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
   230 	
   231 private:
   232 	CCamAdvSet(CCamUnitTestPlugin& aOwner);
   233 	void Init();
   234 	void RetrieveResult(TInt& aError);
   235 	
   236 public:
   237 	TInt iRefCount;
   238 
   239 private:
   240 	TInt iCameraIndex;
   241 	TInt iCameraHandle;
   242 	TInt iPriority;
   243 	CCamUnitTestPlugin& iOwner;
   244 	TInt iShutterSpeed;
   245 	TInt iFocusDistance;
   246 	TInt iAperture;
   247 	TInt iSupportedISORateType;
   248 	CCamera::CCameraAdvancedSettings::TISORateType iISORateType;
   249 	TBool iIsCapableActualISOValue;
   250 	CCamera::CCameraAdvancedSettings::TAFAssistantLight iAFAssistantLight;
   251 	TInt iAutoISOIndex;
   252 	TInt iSupportedAFAssistantLight;
   253 	CCamera::CCameraAdvancedSettings::TFocusRange iFocusRange;
   254 	CCamera::TWhiteBalance iWhiteBalance;
   255 	TInt iPixelAspectRatio;
   256 	TInt iFlashMode;
   257 	TInt iSupportedDriveModes;
   258 	CCamera::CCameraAdvancedSettings::TDriveMode iDriveMode;
   259 	};
   260 
   261 class CCamPresets : public CBase, 
   262 					public MCameraPresets,
   263 					public MCameraPresets2
   264 	{
   265 public:
   266 	static CCamPresets* NewL(CCamUnitTestPlugin& aOwner);
   267 	~CCamPresets();
   268 	
   269 protected:
   270 	//from MCameraPresets
   271 	void Release();
   272 	void GetSupportedPresetsL(RArray<TUid>& aPresets) const;
   273 	void SetPreset(TUid aPreset);
   274 	TUid Preset() const;  
   275 	void GetAffectedSettingsL(RArray<TUid>& aSettings) const;
   276     void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const;
   277     
   278     //from MCameraPresets2
   279     void GetRangeRestrictedSettingsL(RArray<TUid>& aRangeRestrictedSettings) const;
   280     void GetFeatureRestrictedSettingsL(RArray<TUid>& aFeatureRestrictedSettings) const;
   281     void IsPresetUnlockSupportedL(TBool& aUnlockSupported) const;
   282 	void LockPreset();
   283 	void UnlockPreset();
   284 
   285 private:
   286 	CCamPresets(CCamUnitTestPlugin& aOwner);
   287 
   288 public:
   289 	TInt iRefCount;
   290 
   291 private:
   292 	TInt iCameraIndex;
   293 	TInt iCameraHandle;
   294 	TInt iPriority;
   295 	CCamUnitTestPlugin& iOwner;
   296 	TUid iSupportedPresets[KSupportedPresetsNumber];
   297 	TUid iAffectedSettings[KSupportedPresetsNumber-1];
   298 	TUid iCurrentPreset;
   299 	RArray<TUid> iRangeRestrictedSettings;
   300 	TBool iIsPresetUnLockSupported;
   301 	TBool iIsPresetLocked;
   302 	};
   303 
   304 
   305 class CCamImgProc : public CBase, 
   306 					public MCameraImageProcessing,
   307 					public MCameraImageProcessing2,
   308 					public MCameraImageProcessing3
   309 	{
   310 public:
   311 	static CCamImgProc* NewL(CCamUnitTestPlugin& aOwner);
   312 	~CCamImgProc();
   313 	
   314 protected:
   315 	//from MCameraImageProcessing
   316 	void Release();
   317 	void GetSupportedTransformationsL(RArray<TUid>& aTransformations) const;
   318 	void GetActiveTransformationsL(RArray<TUid>& aTransformations) const;
   319 	void GetTransformationSupportedValuesL(TUid aTransformation, RArray<TInt>& aValues, TValueInfo& aInfo) const;
   320 	TInt TransformationValue(TUid aTransformation) const;
   321 	TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const;
   322 	void SetTransformationValue(TUid aTransformation, TInt aValue);
   323 	void GetActiveTransformSequenceL(RArray<TUid>& aTransformSequence) const;
   324 	void SetActiveTransformSequenceL(RArray<TUid>& aTransformSequence);
   325 	void SetSourceRect(const TRect& aRect);
   326 	void GetSourceRect(TRect& aRect) const;
   327 	
   328 	//MCameraImageProcessing2
   329 	void GetConcurrentColorSwappingsSupportedL(TInt& aConcurrentColorSwappingSupported) const;
   330 	void GetColorSwapCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorSwapCapabilities) const;
   331 	void SetColorSwapEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters); 
   332 	void RemoveColorSwapEntry(TInt aIndex);
   333 	void GetColorSwapEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const; 
   334 	void StartColorSwapping();
   335 	void CancelColorSwappingL();
   336 	void GetConcurrentColorAccentSupportedL(TInt& aConcurrentColorAccentSupported) const;
   337 	void GetColorAccentCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorAccentCapabilities) const;
   338 	void SetColorAccentEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters); 
   339 	void RemoveColorAccentEntry(TInt aIndex);
   340 	void GetColorAccentEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const; 
   341 	void StartColorAccent();
   342 	void CancelColorAccentL();
   343 	
   344 	//from MCameraImageProcessing3
   345 	void GetSupportedRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference, 
   346 			TUint& aSupportedRelativeRotation, TUint& aSupportedRelativeMirroring, TUint& aSupportedRelativeFlipping) const;
   347 	
   348 	void GetCurrentRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference& aOrientationReference, 
   349 			CCamera::CCameraImageProcessing::TRelativeRotation& aRelativeRotation, CCamera::CCameraImageProcessing::
   350 			TRelativeMirror& aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping& aRelativeFlipping) const;	
   351 
   352   	void SetRelativeOrientationOptions(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference, 
   353 			CCamera::CCameraImageProcessing::TRelativeRotation aRelativeRotation, CCamera::CCameraImageProcessing::
   354 			TRelativeMirror aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping aRelativeFlipping) const;
   355     
   356     void ConstructL();
   357     
   358 private:
   359 	CCamImgProc(CCamUnitTestPlugin& aOwner);
   360 	
   361 	TBool CheckColorSwapEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
   362 	TBool CheckColorAccentEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
   363 
   364 public:
   365 	TInt iRefCount;
   366 	
   367 private:
   368 	TInt iCameraIndex;
   369 	TInt iCameraHandle;
   370 	TInt iPriority;
   371 	CCamUnitTestPlugin& iOwner;
   372 	// transformations 
   373 	RArray<TUid> iActiveSequence;
   374 	RArray<TUid> iSupportedTransformations;
   375 	TRect iSourceRect;
   376 	TInt iValue;
   377 	TUid iTransformation;
   378 	TInt iBrightnessRange[2];
   379 	
   380 	CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorSwapCapabilities;
   381 	CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorAccentCapabilities;
   382 	CCamera::CCameraImageProcessing::TColorOperationEntry iColorSwapParameter;
   383 	CCamera::CCameraImageProcessing::TColorOperationEntry iColorAccentParameter;
   384 	};
   385 
   386 class CCamV2DirectViewFinder;
   387 class CCamClientViewFinder;
   388 class CCamOverlay;
   389 
   390 class CDataGlobal : public CBase
   391 	{
   392 public:
   393 	CCamAdvSet* iCamAdvSet;
   394 	CCamImgProc* iCamImgProc;
   395 	CCamPresets* iCamPresets;
   396 	CCamOverlay* iCamOverlay;
   397 	CCamV2DirectViewFinder* iCamV2DirectViewFinder;
   398 	CCamClientViewFinder* iCamClientViewFinder;
   399 	TInt 		iReferenceCount;	
   400 	};
   401 	
   402 //class for external management
   403 class MCamManagement
   404 	{
   405 public: 	
   406 	virtual void Release()=0;
   407 	virtual TBool PlugCameraIn(TInt aIndex)=0;
   408 	virtual TBool PlugCameraOut(TInt aIndex)=0;
   409 	};	
   410 	
   411 class CCamManagement : public CBase, public MCamManagement
   412 	{
   413 public:
   414 	static CCamManagement* NewL(CCamUnitTestPlugin& aOwner);
   415 	~CCamManagement();
   416 	
   417 	TBool PlugCameraIn(TInt aIndex);
   418 	TBool PlugCameraOut(TInt aIndex);
   419 	void Release();
   420 	
   421 protected:
   422    // void ConstructL();
   423     
   424 private:
   425 	CCamManagement(CCamUnitTestPlugin& aOwner);
   426 
   427 private:
   428 	CCamUnitTestPlugin& iOwner;
   429 	};	
   430 
   431 
   432 //	
   433 // continuous zoom factory.
   434 class CContinuousZoomFactory : public CBase, public MImplementationFactory
   435 	{
   436 public:
   437 	static CContinuousZoomFactory* NewL();
   438 	~CContinuousZoomFactory();
   439 	
   440 	TInt GetImpl(TAny*& aIfPtr, TUid aIfaceUid) const;
   441 	TInt GetImpl1(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1) const;
   442 	TInt GetImpl2(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1, TECamImplFactoryParam aParam2) const;
   443 	void Release();
   444 	
   445 private:
   446 	CContinuousZoomFactory();
   447 	void ConstructL();
   448 
   449 private:
   450 	mutable CCamContinuousZoom* iCamContinuousZoomImp;
   451 	};
   452 
   453 
   454 class CCamContinuousZoom : public CBase, public MCameraContinuousZoom
   455 	{
   456 public:
   457 	static CCamContinuousZoom* NewL(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
   458 	~CCamContinuousZoom();
   459 
   460 	//from MCameraContinuousZoom
   461 	void SetContinuousZoomObserverAndHandle(MContinuousZoomObserver& aObserver, CCamera::CCameraContinuousZoom* aContinuousZoomHandle);
   462 	void StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParameters);
   463 	void StopContinuousZoom();
   464 	void GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo& aContinuousZoomInfo) const;
   465 	void GetContinuousZoomId(TInt& aZoomId) const;
   466 	void Release();
   467 
   468 private:
   469 	CCamContinuousZoom(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
   470 
   471 private:
   472 	MContinuousZoomObserver* iObserver;
   473 	CCamera::CCameraContinuousZoom*   iContinuousZoomHandle;
   474 	
   475 	CCamera::CCameraAdvancedSettings::TContinuousZoomParameters 	iParameters;
   476 	CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo 	iInfo;
   477 	CCamera::CCameraAdvancedSettings::TContinuousZoomType			iZoomType;
   478 	};
   479 
   480 #endif // _ECAMSETPlUGIN1_H_