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