os/mm/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/mm/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,480 @@
     1.4 +
     1.5 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.6 +// All rights reserved.
     1.7 +// This component and the accompanying materials are made available
     1.8 +// under the terms of "Eclipse Public License v1.0"
     1.9 +// which accompanies this distribution, and is available
    1.10 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.11 +//
    1.12 +// Initial Contributors:
    1.13 +// Nokia Corporation - initial contribution.
    1.14 +//
    1.15 +// Contributors:
    1.16 +//
    1.17 +// Description:
    1.18 +//
    1.19 +
    1.20 +#ifndef _ECAMSETPLUGIN1_H_
    1.21 +#define _ECAMSETPLUGIN1_H_
    1.22 +
    1.23 +#include <ecam/ecamplugin.h>
    1.24 +#include <ecam/ecaminfoplugin.h>
    1.25 +
    1.26 +#include <ecam/ecamadvsettingsintf.h>
    1.27 +#include "ECamUnitTestPlugin.h"
    1.28 +#include "ECamUnitTestPluginUids.hrh"
    1.29 +#include <ecam/implementationfactoryintf.h>
    1.30 +
    1.31 +#define KSupportedPresetsNumber 4
    1.32 +#define KSupportedTransformationsNumber 3
    1.33 +
    1.34 +const TInt KDefaultIsoRate					= 200;
    1.35 +const TInt KMaxIsoRate						= 1600;
    1.36 +const TInt KIsoRate1						= 320;
    1.37 +const TInt KIsoRate2						= 640;
    1.38 +const TInt KIsoRate3						= 840;
    1.39 +const TInt KIsoRate4						= 1200;
    1.40 +const TInt KIsoRate5						= 1400;
    1.41 +const TInt KMinIsoRate						= 100;
    1.42 +const TInt KNumSupportedIsoRate				= 8;
    1.43 +const TInt KSupportedContinuousZoomType		= 0;
    1.44 +
    1.45 +const TUid KUidCameraManagementUid = {KUidCameraManagementUidValue};
    1.46 +
    1.47 +class CCamContinuousZoom;
    1.48 +// Implementations of the MCameraAdvancedSettings class
    1.49 +class CCamAdvSet : 	public CBase, 
    1.50 +					public MCameraAdvancedSettings,
    1.51 +					public MCameraAdvancedSettings2,
    1.52 +					public MCameraAdvancedSettings3,
    1.53 +					public MCameraAdvancedSettings4
    1.54 +	{
    1.55 +public:
    1.56 +	static CCamAdvSet* NewL(CCamUnitTestPlugin& aOwner);
    1.57 +	~CCamAdvSet();
    1.58 +	
    1.59 +protected:
    1.60 +
    1.61 +	void Release();	
    1.62 +	//from MCameraAdvancedSettings
    1.63 +	CCamera::CCameraAdvancedSettings::TCameraType CameraType() const;	
    1.64 +	CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const;	
    1.65 +	TBool IsCameraPresent() const;
    1.66 +	TBool IsCameraPresent(TInt aCameraIndex) const;
    1.67 +	TInt CameraIndex() const;
    1.68 +	TInt SupportedStabilizationModes() const;
    1.69 +	CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const;
    1.70 +	void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode = CCamera::CCameraAdvancedSettings::EStabilizationModeOff);
    1.71 +	TInt SupportedFocusModes() const;
    1.72 +	CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
    1.73 +	void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode = CCamera::CCameraAdvancedSettings::EFocusModeAuto);
    1.74 +	TInt SupportedFocusRanges() const;
    1.75 +	CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
    1.76 +	void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange = CCamera::CCameraAdvancedSettings::EFocusRangeNormal);
    1.77 +	TInt SupportedAutoFocusTypes() const;
    1.78 +	CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
    1.79 +	void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
    1.80 +	TInt SupportedAutoFocusAreas() const;
    1.81 +	CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const;
    1.82 +	void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea);
    1.83 +	TInt FocusDistance() const;
    1.84 +	void SetFocusDistance(TInt aDistance); 
    1.85 +	TInt GetMinFocalLength() const;
    1.86 +
    1.87 +    void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const;
    1.88 +    TInt IsoRate() const;
    1.89 +    void SetIsoRate(TInt aRate);
    1.90 +     	
    1.91 +	void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const;
    1.92 +	TInt Aperture() const;
    1.93 +	void SetAperture(TInt aFStop); 
    1.94 +	void GetShutterSpeedsL(RArray<TInt>& aShutterSteps, TValueInfo& aInfo) const; 
    1.95 +	TInt ShutterSpeed() const; 
    1.96 +	void SetShutterSpeed(TInt aShutterSpeed); 
    1.97 +	TInt SupportedMeteringModes() const;
    1.98 +	CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const;
    1.99 +	void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode);
   1.100 +	TInt SupportedDriveModes() const;
   1.101 +	CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const;
   1.102 +	void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode);
   1.103 +	TInt SupportedBracketModes() const;
   1.104 +	CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const;
   1.105 +	void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode);
   1.106 +	TInt SupportedBracketParameters() const;
   1.107 +	CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const;
   1.108 +	void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter);
   1.109 +	TInt SupportedBracketSteps() const;
   1.110 +	CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const;
   1.111 +	void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep);
   1.112 +	void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const;
   1.113 +	void SetBracketMerge(TInt aStartIndex = 0, TInt aFrames = 2);
   1.114 +	TInt SupportedFlashModes() const;
   1.115 +	CCamera::TFlash FlashMode() const;
   1.116 +	void SetFlashMode(CCamera::TFlash aMode = CCamera::EFlashNone);
   1.117 +	TBool RedEyeReduceOn() const;
   1.118 +	void SetRedEyeReduceOn(TBool aState);
   1.119 +	void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const; 
   1.120 +	TInt FlashCompensationStep() const;
   1.121 +	TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const;
   1.122 +	void SetFlashCompensationStep(TInt aFlashCompensationStep);
   1.123 +	void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
   1.124 +
   1.125 +	TInt FlashCompensation() const;
   1.126 +	TInt GetFlashCompensation(TInt& aFlashCompensation) const;
   1.127 +	void SetFlashCompensation(TInt aFlashCompensation);
   1.128 +	TBool IsExternalFlashPresent() const;
   1.129 +	void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const;
   1.130 +	TInt ManualFlashPowerLevel() const;
   1.131 +	void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel);
   1.132 +	TInt SupportedExposureModes() const;
   1.133 +	CCamera::TExposure ExposureMode() const;
   1.134 +	void SetExposureMode(CCamera::TExposure aExposureMode = CCamera::EExposureAuto);
   1.135 +	void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const;
   1.136 +	TInt ExposureCompensationStep() const; 
   1.137 +	TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const;
   1.138 +	void SetExposureCompensationStep(TInt aExposureCompensationStep);
   1.139 +	void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
   1.140 +
   1.141 +	TInt ExposureCompensation() const;
   1.142 +	TInt GetExposureCompensation(TInt& aExposureCompensation) const;
   1.143 +	void SetExposureCompensation(TInt aExposureCompensation);
   1.144 +	TInt SupportedWhiteBalanceModes() const;
   1.145 +	CCamera::TWhiteBalance WhiteBalanceMode() const;
   1.146 +	void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode);
   1.147 +	TBool ApertureExposureLockOn() const;
   1.148 +	void SetApertureExposureLockOn(TBool aAELock);
   1.149 +	TBool ShootClickOn() const;
   1.150 +	void SetShootClickOn(TBool aShootClickOn);
   1.151 +	void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const;
   1.152 +	TInt TimerInterval() const;  
   1.153 +	void SetTimerInterval(TInt aTimerInterval); 
   1.154 +	void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const;
   1.155 +	void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const; 
   1.156 +	void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval); 
   1.157 +	CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const;
   1.158 +	TInt SupportedPixelAspectRatios() const;
   1.159 +	CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const;
   1.160 +	void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation); 
   1.161 +	void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio); 
   1.162 +	TInt SupportedYuvRanges() const;
   1.163 +	CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const;
   1.164 +	void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange);
   1.165 +	TInt BurstImages() const;
   1.166 +	void SetBurstImages(TInt aImages);
   1.167 +	void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo)  const;
   1.168 +	TInt OpticalZoom() const;
   1.169 +	void SetOpticalZoom(TInt aOpticalZoom);
   1.170 +	void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo)  const;
   1.171 +
   1.172 +	TInt DigitalZoom() const;
   1.173 +	void SetDigitalZoom(TInt aDigitalZoom);
   1.174 +	TBool ExposureLockOn() const;
   1.175 +	void SetExposureLockOn(TBool aState=EFalse);
   1.176 +	TBool AutoFocusLockOn() const;
   1.177 +	void SetAutoFocusLockOn(TBool aState=EFalse);
   1.178 +	void GetSupportedSettingsL(RArray<TUid>& aSettings) const;   
   1.179 +	void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const;
   1.180 +	void GetDisabledSettingsL(RArray<TUid>& aActiveSettings) const;
   1.181 +	void SetAutomaticSizeSelectionChangeOn(TBool aSetOn = EFalse);		
   1.182 +	TBool AutomaticSizeSelectionChangeOn() const;
   1.183 +
   1.184 +    void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const;
   1.185 +    TInt ContinuousAutoFocusTimeout() const;
   1.186 +    void SetContinuousAutoFocusTimeout(TInt aMicrosecondTimeout);
   1.187 +    void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect);
   1.188 +	CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const;
   1.189 +	TInt SupportedStabilizationEffects() const;
   1.190 +	TInt SupportedStabilizationComplexityValues() const;
   1.191 +	CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const;
   1.192 +	void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity);
   1.193 +    CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const;
   1.194 +    void SetWBRgbValue(const TRgb& aValue);
   1.195 +	void GetWBRgbValue(TRgb& aValue) const;
   1.196 +	void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const;
   1.197 +	void SetWBColorTemperature(TInt aColorTemperature);	
   1.198 +	TInt WBColorTemperature() const;
   1.199 +	
   1.200 +	//from MCameraAdvancedSettings2
   1.201 +	TInt IsFlashReady(TBool& aReady) const;
   1.202 +	void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const;
   1.203 +	
   1.204 +	//from MCameraAdvancedSettings3
   1.205 +	void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const;
   1.206 +	void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam);
   1.207 +	void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const;
   1.208 +	void SetReferenceScreen(CWsScreenDevice& aScreenDevice);
   1.209 +	void GetDigitalZoomStepsForStillL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const;
   1.210 +	void GetDigitalZoomStepsForVideoL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const;
   1.211 +	void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const;
   1.212 +	void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning);
   1.213 +	void UnSubscribePreCaptureWarningL();
   1.214 +	void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const;
   1.215 +	void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const;
   1.216 +	void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const;
   1.217 +	void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight);
   1.218 +	
   1.219 +	//from MCameraAdvancedSettings4
   1.220 +	void GetSupportedContinuousZoomTypeL(TUint& aSupportedContinuousZoomType) const;
   1.221 +	void GetFocalLengthInfoL(TInt& aMinFocalLength, TInt& aCurrentFocalLength, TInt& aMaxFocalLength) const;
   1.222 +	void GetNumOperationPreferenceL(TUint& aNumOperationPreferenceSupported) const;
   1.223 +
   1.224 +	void EnumerateOperationPreferenceL(TUint aOperationPreferenceIndex, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aSpeedLevel, 
   1.225 +			CCamera::CCameraAdvancedSettings::TPerformanceLevel& aQualityLevel, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowMemoryConsumptionLevel, 
   1.226 +			CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowPowerConsumptionLevel) const;
   1.227 +
   1.228 +	void SetOperationPreference(TUint aOperationPreferenceIndex);
   1.229 +	void GetOperationPreferenceL(TInt& aOperationPreferenceIndex) const;
   1.230 +	void GetSupportedEventsL(RArray<TUid>& aSupportedEvents) const;
   1.231 +	void GetIndirectFeatureChangesL(TUid aRequestedSetting, RArray<TUid>& aIndirectFeatureChanges) const;
   1.232 +	void CreateContinuousZoomImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
   1.233 +	
   1.234 +private:
   1.235 +	CCamAdvSet(CCamUnitTestPlugin& aOwner);
   1.236 +	void Init();
   1.237 +	void RetrieveResult(TInt& aError);
   1.238 +	
   1.239 +public:
   1.240 +	TInt iRefCount;
   1.241 +
   1.242 +private:
   1.243 +	TInt iCameraIndex;
   1.244 +	TInt iCameraHandle;
   1.245 +	TInt iPriority;
   1.246 +	CCamUnitTestPlugin& iOwner;
   1.247 +	TInt iShutterSpeed;
   1.248 +	TInt iFocusDistance;
   1.249 +	TInt iAperture;
   1.250 +	TInt iSupportedISORateType;
   1.251 +	CCamera::CCameraAdvancedSettings::TISORateType iISORateType;
   1.252 +	TBool iIsCapableActualISOValue;
   1.253 +	CCamera::CCameraAdvancedSettings::TAFAssistantLight iAFAssistantLight;
   1.254 +	TInt iAutoISOIndex;
   1.255 +	TInt iSupportedAFAssistantLight;
   1.256 +	CCamera::CCameraAdvancedSettings::TFocusRange iFocusRange;
   1.257 +	CCamera::TWhiteBalance iWhiteBalance;
   1.258 +	TInt iPixelAspectRatio;
   1.259 +	TInt iFlashMode;
   1.260 +	TInt iSupportedDriveModes;
   1.261 +	CCamera::CCameraAdvancedSettings::TDriveMode iDriveMode;
   1.262 +	};
   1.263 +
   1.264 +class CCamPresets : public CBase, 
   1.265 +					public MCameraPresets,
   1.266 +					public MCameraPresets2
   1.267 +	{
   1.268 +public:
   1.269 +	static CCamPresets* NewL(CCamUnitTestPlugin& aOwner);
   1.270 +	~CCamPresets();
   1.271 +	
   1.272 +protected:
   1.273 +	//from MCameraPresets
   1.274 +	void Release();
   1.275 +	void GetSupportedPresetsL(RArray<TUid>& aPresets) const;
   1.276 +	void SetPreset(TUid aPreset);
   1.277 +	TUid Preset() const;  
   1.278 +	void GetAffectedSettingsL(RArray<TUid>& aSettings) const;
   1.279 +    void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const;
   1.280 +    
   1.281 +    //from MCameraPresets2
   1.282 +    void GetRangeRestrictedSettingsL(RArray<TUid>& aRangeRestrictedSettings) const;
   1.283 +    void GetFeatureRestrictedSettingsL(RArray<TUid>& aFeatureRestrictedSettings) const;
   1.284 +    void IsPresetUnlockSupportedL(TBool& aUnlockSupported) const;
   1.285 +	void LockPreset();
   1.286 +	void UnlockPreset();
   1.287 +
   1.288 +private:
   1.289 +	CCamPresets(CCamUnitTestPlugin& aOwner);
   1.290 +
   1.291 +public:
   1.292 +	TInt iRefCount;
   1.293 +
   1.294 +private:
   1.295 +	TInt iCameraIndex;
   1.296 +	TInt iCameraHandle;
   1.297 +	TInt iPriority;
   1.298 +	CCamUnitTestPlugin& iOwner;
   1.299 +	TUid iSupportedPresets[KSupportedPresetsNumber];
   1.300 +	TUid iAffectedSettings[KSupportedPresetsNumber-1];
   1.301 +	TUid iCurrentPreset;
   1.302 +	RArray<TUid> iRangeRestrictedSettings;
   1.303 +	TBool iIsPresetUnLockSupported;
   1.304 +	TBool iIsPresetLocked;
   1.305 +	};
   1.306 +
   1.307 +
   1.308 +class CCamImgProc : public CBase, 
   1.309 +					public MCameraImageProcessing,
   1.310 +					public MCameraImageProcessing2,
   1.311 +					public MCameraImageProcessing3
   1.312 +	{
   1.313 +public:
   1.314 +	static CCamImgProc* NewL(CCamUnitTestPlugin& aOwner);
   1.315 +	~CCamImgProc();
   1.316 +	
   1.317 +protected:
   1.318 +	//from MCameraImageProcessing
   1.319 +	void Release();
   1.320 +	void GetSupportedTransformationsL(RArray<TUid>& aTransformations) const;
   1.321 +	void GetActiveTransformationsL(RArray<TUid>& aTransformations) const;
   1.322 +	void GetTransformationSupportedValuesL(TUid aTransformation, RArray<TInt>& aValues, TValueInfo& aInfo) const;
   1.323 +	TInt TransformationValue(TUid aTransformation) const;
   1.324 +	TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const;
   1.325 +	void SetTransformationValue(TUid aTransformation, TInt aValue);
   1.326 +	void GetActiveTransformSequenceL(RArray<TUid>& aTransformSequence) const;
   1.327 +	void SetActiveTransformSequenceL(RArray<TUid>& aTransformSequence);
   1.328 +	void SetSourceRect(const TRect& aRect);
   1.329 +	void GetSourceRect(TRect& aRect) const;
   1.330 +	
   1.331 +	//MCameraImageProcessing2
   1.332 +	void GetConcurrentColorSwappingsSupportedL(TInt& aConcurrentColorSwappingSupported) const;
   1.333 +	void GetColorSwapCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorSwapCapabilities) const;
   1.334 +	void SetColorSwapEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters); 
   1.335 +	void RemoveColorSwapEntry(TInt aIndex);
   1.336 +	void GetColorSwapEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const; 
   1.337 +	void StartColorSwapping();
   1.338 +	void CancelColorSwappingL();
   1.339 +	void GetConcurrentColorAccentSupportedL(TInt& aConcurrentColorAccentSupported) const;
   1.340 +	void GetColorAccentCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorAccentCapabilities) const;
   1.341 +	void SetColorAccentEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters); 
   1.342 +	void RemoveColorAccentEntry(TInt aIndex);
   1.343 +	void GetColorAccentEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const; 
   1.344 +	void StartColorAccent();
   1.345 +	void CancelColorAccentL();
   1.346 +	
   1.347 +	//from MCameraImageProcessing3
   1.348 +	void GetSupportedRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference, 
   1.349 +			TUint& aSupportedRelativeRotation, TUint& aSupportedRelativeMirroring, TUint& aSupportedRelativeFlipping) const;
   1.350 +	
   1.351 +	void GetCurrentRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference& aOrientationReference, 
   1.352 +			CCamera::CCameraImageProcessing::TRelativeRotation& aRelativeRotation, CCamera::CCameraImageProcessing::
   1.353 +			TRelativeMirror& aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping& aRelativeFlipping) const;	
   1.354 +
   1.355 +  	void SetRelativeOrientationOptions(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference, 
   1.356 +			CCamera::CCameraImageProcessing::TRelativeRotation aRelativeRotation, CCamera::CCameraImageProcessing::
   1.357 +			TRelativeMirror aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping aRelativeFlipping) const;
   1.358 +    
   1.359 +    void ConstructL();
   1.360 +    
   1.361 +private:
   1.362 +	CCamImgProc(CCamUnitTestPlugin& aOwner);
   1.363 +	
   1.364 +	TBool CheckColorSwapEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
   1.365 +	TBool CheckColorAccentEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
   1.366 +
   1.367 +public:
   1.368 +	TInt iRefCount;
   1.369 +	
   1.370 +private:
   1.371 +	TInt iCameraIndex;
   1.372 +	TInt iCameraHandle;
   1.373 +	TInt iPriority;
   1.374 +	CCamUnitTestPlugin& iOwner;
   1.375 +	// transformations 
   1.376 +	RArray<TUid> iActiveSequence;
   1.377 +	RArray<TUid> iSupportedTransformations;
   1.378 +	TRect iSourceRect;
   1.379 +	TInt iValue;
   1.380 +	TUid iTransformation;
   1.381 +	TInt iBrightnessRange[2];
   1.382 +	
   1.383 +	CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorSwapCapabilities;
   1.384 +	CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorAccentCapabilities;
   1.385 +	CCamera::CCameraImageProcessing::TColorOperationEntry iColorSwapParameter;
   1.386 +	CCamera::CCameraImageProcessing::TColorOperationEntry iColorAccentParameter;
   1.387 +	};
   1.388 +
   1.389 +class CCamV2DirectViewFinder;
   1.390 +class CCamClientViewFinder;
   1.391 +class CCamOverlay;
   1.392 +
   1.393 +class CDataGlobal : public CBase
   1.394 +	{
   1.395 +public:
   1.396 +	CCamAdvSet* iCamAdvSet;
   1.397 +	CCamImgProc* iCamImgProc;
   1.398 +	CCamPresets* iCamPresets;
   1.399 +	CCamOverlay* iCamOverlay;
   1.400 +	CCamV2DirectViewFinder* iCamV2DirectViewFinder;
   1.401 +	CCamClientViewFinder* iCamClientViewFinder;
   1.402 +	TInt 		iReferenceCount;	
   1.403 +	};
   1.404 +	
   1.405 +//class for external management
   1.406 +class MCamManagement
   1.407 +	{
   1.408 +public: 	
   1.409 +	virtual void Release()=0;
   1.410 +	virtual TBool PlugCameraIn(TInt aIndex)=0;
   1.411 +	virtual TBool PlugCameraOut(TInt aIndex)=0;
   1.412 +	};	
   1.413 +	
   1.414 +class CCamManagement : public CBase, public MCamManagement
   1.415 +	{
   1.416 +public:
   1.417 +	static CCamManagement* NewL(CCamUnitTestPlugin& aOwner);
   1.418 +	~CCamManagement();
   1.419 +	
   1.420 +	TBool PlugCameraIn(TInt aIndex);
   1.421 +	TBool PlugCameraOut(TInt aIndex);
   1.422 +	void Release();
   1.423 +	
   1.424 +protected:
   1.425 +   // void ConstructL();
   1.426 +    
   1.427 +private:
   1.428 +	CCamManagement(CCamUnitTestPlugin& aOwner);
   1.429 +
   1.430 +private:
   1.431 +	CCamUnitTestPlugin& iOwner;
   1.432 +	};	
   1.433 +
   1.434 +
   1.435 +//	
   1.436 +// continuous zoom factory.
   1.437 +class CContinuousZoomFactory : public CBase, public MImplementationFactory
   1.438 +	{
   1.439 +public:
   1.440 +	static CContinuousZoomFactory* NewL();
   1.441 +	~CContinuousZoomFactory();
   1.442 +	
   1.443 +	TInt GetImpl(TAny*& aIfPtr, TUid aIfaceUid) const;
   1.444 +	TInt GetImpl1(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1) const;
   1.445 +	TInt GetImpl2(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1, TECamImplFactoryParam aParam2) const;
   1.446 +	void Release();
   1.447 +	
   1.448 +private:
   1.449 +	CContinuousZoomFactory();
   1.450 +	void ConstructL();
   1.451 +
   1.452 +private:
   1.453 +	mutable CCamContinuousZoom* iCamContinuousZoomImp;
   1.454 +	};
   1.455 +
   1.456 +
   1.457 +class CCamContinuousZoom : public CBase, public MCameraContinuousZoom
   1.458 +	{
   1.459 +public:
   1.460 +	static CCamContinuousZoom* NewL(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
   1.461 +	~CCamContinuousZoom();
   1.462 +
   1.463 +	//from MCameraContinuousZoom
   1.464 +	void SetContinuousZoomObserverAndHandle(MContinuousZoomObserver& aObserver, CCamera::CCameraContinuousZoom* aContinuousZoomHandle);
   1.465 +	void StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParameters);
   1.466 +	void StopContinuousZoom();
   1.467 +	void GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo& aContinuousZoomInfo) const;
   1.468 +	void GetContinuousZoomId(TInt& aZoomId) const;
   1.469 +	void Release();
   1.470 +
   1.471 +private:
   1.472 +	CCamContinuousZoom(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
   1.473 +
   1.474 +private:
   1.475 +	MContinuousZoomObserver* iObserver;
   1.476 +	CCamera::CCameraContinuousZoom*   iContinuousZoomHandle;
   1.477 +	
   1.478 +	CCamera::CCameraAdvancedSettings::TContinuousZoomParameters 	iParameters;
   1.479 +	CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo 	iInfo;
   1.480 +	CCamera::CCameraAdvancedSettings::TContinuousZoomType			iZoomType;
   1.481 +	};
   1.482 +
   1.483 +#endif // _ECAMSETPlUGIN1_H_