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