--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,480 @@
+
+// Copyright (c) 2005-2009 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:
+//
+
+#ifndef _ECAMSETPLUGIN1_H_
+#define _ECAMSETPLUGIN1_H_
+
+#include <ecam/ecamplugin.h>
+#include <ecam/ecaminfoplugin.h>
+
+#include <ecam/ecamadvsettingsintf.h>
+#include "ECamUnitTestPlugin.h"
+#include "ECamUnitTestPluginUids.hrh"
+#include <ecam/implementationfactoryintf.h>
+
+#define KSupportedPresetsNumber 4
+#define KSupportedTransformationsNumber 3
+
+const TInt KDefaultIsoRate = 200;
+const TInt KMaxIsoRate = 1600;
+const TInt KIsoRate1 = 320;
+const TInt KIsoRate2 = 640;
+const TInt KIsoRate3 = 840;
+const TInt KIsoRate4 = 1200;
+const TInt KIsoRate5 = 1400;
+const TInt KMinIsoRate = 100;
+const TInt KNumSupportedIsoRate = 8;
+const TInt KSupportedContinuousZoomType = 0;
+
+const TUid KUidCameraManagementUid = {KUidCameraManagementUidValue};
+
+class CCamContinuousZoom;
+// Implementations of the MCameraAdvancedSettings class
+class CCamAdvSet : public CBase,
+ public MCameraAdvancedSettings,
+ public MCameraAdvancedSettings2,
+ public MCameraAdvancedSettings3,
+ public MCameraAdvancedSettings4
+ {
+public:
+ static CCamAdvSet* NewL(CCamUnitTestPlugin& aOwner);
+ ~CCamAdvSet();
+
+protected:
+
+ void Release();
+ //from MCameraAdvancedSettings
+ CCamera::CCameraAdvancedSettings::TCameraType CameraType() const;
+ CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const;
+ TBool IsCameraPresent() const;
+ TBool IsCameraPresent(TInt aCameraIndex) const;
+ TInt CameraIndex() const;
+ TInt SupportedStabilizationModes() const;
+ CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const;
+ void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode = CCamera::CCameraAdvancedSettings::EStabilizationModeOff);
+ TInt SupportedFocusModes() const;
+ CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
+ void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode = CCamera::CCameraAdvancedSettings::EFocusModeAuto);
+ TInt SupportedFocusRanges() const;
+ CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
+ void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange = CCamera::CCameraAdvancedSettings::EFocusRangeNormal);
+ TInt SupportedAutoFocusTypes() const;
+ CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
+ void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
+ TInt SupportedAutoFocusAreas() const;
+ CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const;
+ void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea);
+ TInt FocusDistance() const;
+ void SetFocusDistance(TInt aDistance);
+ TInt GetMinFocalLength() const;
+
+ void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const;
+ TInt IsoRate() const;
+ void SetIsoRate(TInt aRate);
+
+ void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const;
+ TInt Aperture() const;
+ void SetAperture(TInt aFStop);
+ void GetShutterSpeedsL(RArray<TInt>& aShutterSteps, TValueInfo& aInfo) const;
+ TInt ShutterSpeed() const;
+ void SetShutterSpeed(TInt aShutterSpeed);
+ TInt SupportedMeteringModes() const;
+ CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const;
+ void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode);
+ TInt SupportedDriveModes() const;
+ CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const;
+ void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode);
+ TInt SupportedBracketModes() const;
+ CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const;
+ void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode);
+ TInt SupportedBracketParameters() const;
+ CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const;
+ void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter);
+ TInt SupportedBracketSteps() const;
+ CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const;
+ void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep);
+ void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const;
+ void SetBracketMerge(TInt aStartIndex = 0, TInt aFrames = 2);
+ TInt SupportedFlashModes() const;
+ CCamera::TFlash FlashMode() const;
+ void SetFlashMode(CCamera::TFlash aMode = CCamera::EFlashNone);
+ TBool RedEyeReduceOn() const;
+ void SetRedEyeReduceOn(TBool aState);
+ void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const;
+ TInt FlashCompensationStep() const;
+ TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const;
+ void SetFlashCompensationStep(TInt aFlashCompensationStep);
+ void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
+
+ TInt FlashCompensation() const;
+ TInt GetFlashCompensation(TInt& aFlashCompensation) const;
+ void SetFlashCompensation(TInt aFlashCompensation);
+ TBool IsExternalFlashPresent() const;
+ void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const;
+ TInt ManualFlashPowerLevel() const;
+ void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel);
+ TInt SupportedExposureModes() const;
+ CCamera::TExposure ExposureMode() const;
+ void SetExposureMode(CCamera::TExposure aExposureMode = CCamera::EExposureAuto);
+ void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const;
+ TInt ExposureCompensationStep() const;
+ TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const;
+ void SetExposureCompensationStep(TInt aExposureCompensationStep);
+ void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
+
+ TInt ExposureCompensation() const;
+ TInt GetExposureCompensation(TInt& aExposureCompensation) const;
+ void SetExposureCompensation(TInt aExposureCompensation);
+ TInt SupportedWhiteBalanceModes() const;
+ CCamera::TWhiteBalance WhiteBalanceMode() const;
+ void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode);
+ TBool ApertureExposureLockOn() const;
+ void SetApertureExposureLockOn(TBool aAELock);
+ TBool ShootClickOn() const;
+ void SetShootClickOn(TBool aShootClickOn);
+ void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const;
+ TInt TimerInterval() const;
+ void SetTimerInterval(TInt aTimerInterval);
+ void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const;
+ void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const;
+ void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval);
+ CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const;
+ TInt SupportedPixelAspectRatios() const;
+ CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const;
+ void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation);
+ void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio);
+ TInt SupportedYuvRanges() const;
+ CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const;
+ void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange);
+ TInt BurstImages() const;
+ void SetBurstImages(TInt aImages);
+ void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo) const;
+ TInt OpticalZoom() const;
+ void SetOpticalZoom(TInt aOpticalZoom);
+ void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo) const;
+
+ TInt DigitalZoom() const;
+ void SetDigitalZoom(TInt aDigitalZoom);
+ TBool ExposureLockOn() const;
+ void SetExposureLockOn(TBool aState=EFalse);
+ TBool AutoFocusLockOn() const;
+ void SetAutoFocusLockOn(TBool aState=EFalse);
+ void GetSupportedSettingsL(RArray<TUid>& aSettings) const;
+ void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const;
+ void GetDisabledSettingsL(RArray<TUid>& aActiveSettings) const;
+ void SetAutomaticSizeSelectionChangeOn(TBool aSetOn = EFalse);
+ TBool AutomaticSizeSelectionChangeOn() const;
+
+ void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const;
+ TInt ContinuousAutoFocusTimeout() const;
+ void SetContinuousAutoFocusTimeout(TInt aMicrosecondTimeout);
+ void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect);
+ CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const;
+ TInt SupportedStabilizationEffects() const;
+ TInt SupportedStabilizationComplexityValues() const;
+ CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const;
+ void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity);
+ CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const;
+ void SetWBRgbValue(const TRgb& aValue);
+ void GetWBRgbValue(TRgb& aValue) const;
+ void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const;
+ void SetWBColorTemperature(TInt aColorTemperature);
+ TInt WBColorTemperature() const;
+
+ //from MCameraAdvancedSettings2
+ TInt IsFlashReady(TBool& aReady) const;
+ void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const;
+
+ //from MCameraAdvancedSettings3
+ void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const;
+ void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam);
+ void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const;
+ void SetReferenceScreen(CWsScreenDevice& aScreenDevice);
+ void GetDigitalZoomStepsForStillL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const;
+ void GetDigitalZoomStepsForVideoL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const;
+ void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const;
+ void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning);
+ void UnSubscribePreCaptureWarningL();
+ void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const;
+ void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const;
+ void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const;
+ void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight);
+
+ //from MCameraAdvancedSettings4
+ void GetSupportedContinuousZoomTypeL(TUint& aSupportedContinuousZoomType) const;
+ void GetFocalLengthInfoL(TInt& aMinFocalLength, TInt& aCurrentFocalLength, TInt& aMaxFocalLength) const;
+ void GetNumOperationPreferenceL(TUint& aNumOperationPreferenceSupported) const;
+
+ void EnumerateOperationPreferenceL(TUint aOperationPreferenceIndex, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aSpeedLevel,
+ CCamera::CCameraAdvancedSettings::TPerformanceLevel& aQualityLevel, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowMemoryConsumptionLevel,
+ CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowPowerConsumptionLevel) const;
+
+ void SetOperationPreference(TUint aOperationPreferenceIndex);
+ void GetOperationPreferenceL(TInt& aOperationPreferenceIndex) const;
+ void GetSupportedEventsL(RArray<TUid>& aSupportedEvents) const;
+ void GetIndirectFeatureChangesL(TUid aRequestedSetting, RArray<TUid>& aIndirectFeatureChanges) const;
+ void CreateContinuousZoomImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
+
+private:
+ CCamAdvSet(CCamUnitTestPlugin& aOwner);
+ void Init();
+ void RetrieveResult(TInt& aError);
+
+public:
+ TInt iRefCount;
+
+private:
+ TInt iCameraIndex;
+ TInt iCameraHandle;
+ TInt iPriority;
+ CCamUnitTestPlugin& iOwner;
+ TInt iShutterSpeed;
+ TInt iFocusDistance;
+ TInt iAperture;
+ TInt iSupportedISORateType;
+ CCamera::CCameraAdvancedSettings::TISORateType iISORateType;
+ TBool iIsCapableActualISOValue;
+ CCamera::CCameraAdvancedSettings::TAFAssistantLight iAFAssistantLight;
+ TInt iAutoISOIndex;
+ TInt iSupportedAFAssistantLight;
+ CCamera::CCameraAdvancedSettings::TFocusRange iFocusRange;
+ CCamera::TWhiteBalance iWhiteBalance;
+ TInt iPixelAspectRatio;
+ TInt iFlashMode;
+ TInt iSupportedDriveModes;
+ CCamera::CCameraAdvancedSettings::TDriveMode iDriveMode;
+ };
+
+class CCamPresets : public CBase,
+ public MCameraPresets,
+ public MCameraPresets2
+ {
+public:
+ static CCamPresets* NewL(CCamUnitTestPlugin& aOwner);
+ ~CCamPresets();
+
+protected:
+ //from MCameraPresets
+ void Release();
+ void GetSupportedPresetsL(RArray<TUid>& aPresets) const;
+ void SetPreset(TUid aPreset);
+ TUid Preset() const;
+ void GetAffectedSettingsL(RArray<TUid>& aSettings) const;
+ void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const;
+
+ //from MCameraPresets2
+ void GetRangeRestrictedSettingsL(RArray<TUid>& aRangeRestrictedSettings) const;
+ void GetFeatureRestrictedSettingsL(RArray<TUid>& aFeatureRestrictedSettings) const;
+ void IsPresetUnlockSupportedL(TBool& aUnlockSupported) const;
+ void LockPreset();
+ void UnlockPreset();
+
+private:
+ CCamPresets(CCamUnitTestPlugin& aOwner);
+
+public:
+ TInt iRefCount;
+
+private:
+ TInt iCameraIndex;
+ TInt iCameraHandle;
+ TInt iPriority;
+ CCamUnitTestPlugin& iOwner;
+ TUid iSupportedPresets[KSupportedPresetsNumber];
+ TUid iAffectedSettings[KSupportedPresetsNumber-1];
+ TUid iCurrentPreset;
+ RArray<TUid> iRangeRestrictedSettings;
+ TBool iIsPresetUnLockSupported;
+ TBool iIsPresetLocked;
+ };
+
+
+class CCamImgProc : public CBase,
+ public MCameraImageProcessing,
+ public MCameraImageProcessing2,
+ public MCameraImageProcessing3
+ {
+public:
+ static CCamImgProc* NewL(CCamUnitTestPlugin& aOwner);
+ ~CCamImgProc();
+
+protected:
+ //from MCameraImageProcessing
+ void Release();
+ void GetSupportedTransformationsL(RArray<TUid>& aTransformations) const;
+ void GetActiveTransformationsL(RArray<TUid>& aTransformations) const;
+ void GetTransformationSupportedValuesL(TUid aTransformation, RArray<TInt>& aValues, TValueInfo& aInfo) const;
+ TInt TransformationValue(TUid aTransformation) const;
+ TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const;
+ void SetTransformationValue(TUid aTransformation, TInt aValue);
+ void GetActiveTransformSequenceL(RArray<TUid>& aTransformSequence) const;
+ void SetActiveTransformSequenceL(RArray<TUid>& aTransformSequence);
+ void SetSourceRect(const TRect& aRect);
+ void GetSourceRect(TRect& aRect) const;
+
+ //MCameraImageProcessing2
+ void GetConcurrentColorSwappingsSupportedL(TInt& aConcurrentColorSwappingSupported) const;
+ void GetColorSwapCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorSwapCapabilities) const;
+ void SetColorSwapEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters);
+ void RemoveColorSwapEntry(TInt aIndex);
+ void GetColorSwapEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
+ void StartColorSwapping();
+ void CancelColorSwappingL();
+ void GetConcurrentColorAccentSupportedL(TInt& aConcurrentColorAccentSupported) const;
+ void GetColorAccentCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorAccentCapabilities) const;
+ void SetColorAccentEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters);
+ void RemoveColorAccentEntry(TInt aIndex);
+ void GetColorAccentEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
+ void StartColorAccent();
+ void CancelColorAccentL();
+
+ //from MCameraImageProcessing3
+ void GetSupportedRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference,
+ TUint& aSupportedRelativeRotation, TUint& aSupportedRelativeMirroring, TUint& aSupportedRelativeFlipping) const;
+
+ void GetCurrentRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference& aOrientationReference,
+ CCamera::CCameraImageProcessing::TRelativeRotation& aRelativeRotation, CCamera::CCameraImageProcessing::
+ TRelativeMirror& aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping& aRelativeFlipping) const;
+
+ void SetRelativeOrientationOptions(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference,
+ CCamera::CCameraImageProcessing::TRelativeRotation aRelativeRotation, CCamera::CCameraImageProcessing::
+ TRelativeMirror aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping aRelativeFlipping) const;
+
+ void ConstructL();
+
+private:
+ CCamImgProc(CCamUnitTestPlugin& aOwner);
+
+ TBool CheckColorSwapEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
+ TBool CheckColorAccentEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
+
+public:
+ TInt iRefCount;
+
+private:
+ TInt iCameraIndex;
+ TInt iCameraHandle;
+ TInt iPriority;
+ CCamUnitTestPlugin& iOwner;
+ // transformations
+ RArray<TUid> iActiveSequence;
+ RArray<TUid> iSupportedTransformations;
+ TRect iSourceRect;
+ TInt iValue;
+ TUid iTransformation;
+ TInt iBrightnessRange[2];
+
+ CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorSwapCapabilities;
+ CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorAccentCapabilities;
+ CCamera::CCameraImageProcessing::TColorOperationEntry iColorSwapParameter;
+ CCamera::CCameraImageProcessing::TColorOperationEntry iColorAccentParameter;
+ };
+
+class CCamV2DirectViewFinder;
+class CCamClientViewFinder;
+class CCamOverlay;
+
+class CDataGlobal : public CBase
+ {
+public:
+ CCamAdvSet* iCamAdvSet;
+ CCamImgProc* iCamImgProc;
+ CCamPresets* iCamPresets;
+ CCamOverlay* iCamOverlay;
+ CCamV2DirectViewFinder* iCamV2DirectViewFinder;
+ CCamClientViewFinder* iCamClientViewFinder;
+ TInt iReferenceCount;
+ };
+
+//class for external management
+class MCamManagement
+ {
+public:
+ virtual void Release()=0;
+ virtual TBool PlugCameraIn(TInt aIndex)=0;
+ virtual TBool PlugCameraOut(TInt aIndex)=0;
+ };
+
+class CCamManagement : public CBase, public MCamManagement
+ {
+public:
+ static CCamManagement* NewL(CCamUnitTestPlugin& aOwner);
+ ~CCamManagement();
+
+ TBool PlugCameraIn(TInt aIndex);
+ TBool PlugCameraOut(TInt aIndex);
+ void Release();
+
+protected:
+ // void ConstructL();
+
+private:
+ CCamManagement(CCamUnitTestPlugin& aOwner);
+
+private:
+ CCamUnitTestPlugin& iOwner;
+ };
+
+
+//
+// continuous zoom factory.
+class CContinuousZoomFactory : public CBase, public MImplementationFactory
+ {
+public:
+ static CContinuousZoomFactory* NewL();
+ ~CContinuousZoomFactory();
+
+ TInt GetImpl(TAny*& aIfPtr, TUid aIfaceUid) const;
+ TInt GetImpl1(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1) const;
+ TInt GetImpl2(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1, TECamImplFactoryParam aParam2) const;
+ void Release();
+
+private:
+ CContinuousZoomFactory();
+ void ConstructL();
+
+private:
+ mutable CCamContinuousZoom* iCamContinuousZoomImp;
+ };
+
+
+class CCamContinuousZoom : public CBase, public MCameraContinuousZoom
+ {
+public:
+ static CCamContinuousZoom* NewL(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
+ ~CCamContinuousZoom();
+
+ //from MCameraContinuousZoom
+ void SetContinuousZoomObserverAndHandle(MContinuousZoomObserver& aObserver, CCamera::CCameraContinuousZoom* aContinuousZoomHandle);
+ void StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParameters);
+ void StopContinuousZoom();
+ void GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo& aContinuousZoomInfo) const;
+ void GetContinuousZoomId(TInt& aZoomId) const;
+ void Release();
+
+private:
+ CCamContinuousZoom(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
+
+private:
+ MContinuousZoomObserver* iObserver;
+ CCamera::CCameraContinuousZoom* iContinuousZoomHandle;
+
+ CCamera::CCameraAdvancedSettings::TContinuousZoomParameters iParameters;
+ CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo iInfo;
+ CCamera::CCameraAdvancedSettings::TContinuousZoomType iZoomType;
+ };
+
+#endif // _ECAMSETPlUGIN1_H_