--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraxui/cxengine/src/dummyengine/cxedummycamera.h Tue Aug 31 15:03:46 2010 +0300
@@ -0,0 +1,478 @@
+/*
+* Copyright (c) 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 CXEDUMMYCAMERA_H
+#define CXEDUMMYCAMERA_H
+
+#if defined(CXE_USE_DUMMY_CAMERA) || defined(__WINSCW__)
+
+// Disable warnings about unused arguments
+#pragma warn_unusedarg off
+
+#include <fbs.h>
+#include <ecam/ecamplugin.h>
+#include <ecam/ecamadvsettingsintf.h>
+#include <ecam/mcamerasnapshot.h>
+#include <ecam/mcameradirectviewfinder.h>
+
+#include "cxutils.h"
+
+
+class CxeDummyCamera;
+class CxeDummyAdvancedSettings;
+class CxeDummySnapshot;
+
+class CxeDummyBuffer : public CBase,
+ public MCameraBuffer
+{
+public:
+ CxeDummyBuffer() : iData(_L8("ABC"))
+ {
+ CX_DEBUG_IN_FUNCTION();
+ }
+
+ ~CxeDummyBuffer()
+ {
+ CX_DEBUG_ENTER_FUNCTION();
+ delete iBitmap;
+ CX_DEBUG_EXIT_FUNCTION();
+ }
+
+ void CreateBitmapL( const TSize& aSize );
+
+public:
+ TInt NumFrames() { return 1; }
+ TDesC8* DataL(TInt aFrameIndex) { return &iData; }
+ CFbsBitmap& BitmapL(TInt aFrameIndex) { User::LeaveIfNull( iBitmap ); return *iBitmap; }
+ RChunk& ChunkL() { return iChunk; }
+ TInt ChunkOffsetL(TInt aFrameIndex) { return 0; }
+ TInt FrameSize(TInt aFrameIndex) { return 0; }
+ void Release() {}
+
+public:
+ TBuf8<128> iData;
+ CFbsBitmap* iBitmap;
+ RChunk iChunk;
+
+};
+
+class CxeDummySnapshot : public CBase,
+ public MCameraSnapshot
+{
+public:
+ CxeDummySnapshot()
+ {
+ CX_DEBUG(("snap this = 0x%08x", this));
+ CX_DEBUG_IN_FUNCTION();
+ }
+ ~CxeDummySnapshot()
+ {
+ CX_DEBUG_ENTER_FUNCTION();
+ delete iBuffer;
+ CX_DEBUG_EXIT_FUNCTION();
+ }
+
+ TUint32 SupportedFormats() { return 0; }
+ void PrepareSnapshotL(CCamera::TFormat aFormat, const TPoint& aPosition, const TSize& aSize, const TRgb& aBgColor, TBool aMaintainAspectRatio);
+ void PrepareSnapshotL(CCamera::TFormat aFormat, const TSize& aSize, TBool aMaintainAspectRatio);
+ void SetBgColorL(const TRgb& aBgColor) {}
+ void SetPositionL(const TPoint& aPosition) {}
+ TBool IsSnapshotActive() const { return iActive; }
+ void StartSnapshot() { iActive = ETrue; }
+ void StopSnapshot() { iActive = EFalse; }
+ MCameraBuffer& SnapshotDataL(RArray<TInt>& aFrameIndexOrder) { return *iBuffer; }
+ void Release() {}
+
+private:
+ CxeDummyBuffer* iBuffer;
+ TBool iActive;
+};
+
+
+
+class CxeDummyDirectViewfinder : public CBase,
+ public MCameraDirectViewFinder
+{
+public:
+ CxeDummyDirectViewfinder();
+ ~CxeDummyDirectViewfinder();
+
+ void Release();
+ void PauseViewFinderDirectL();
+ void ResumeViewFinderDirectL();
+ CCamera::CCameraDirectViewFinder::TViewFinderState ViewFinderState() const;
+
+private:
+ CCamera::CCameraDirectViewFinder::TViewFinderState iState;
+};
+
+
+
+class CxeDummyAdvancedSettings : public CBase,
+ public MCameraAdvancedSettings,
+ public MCameraAdvancedSettings3
+{
+private:
+ class TCxeDummyNotification
+ {
+ public:
+ TCxeDummyNotification(TUid aEventUid, TInt aStatus) : iEventUid(aEventUid), iStatus(aStatus) {}
+ TUid iEventUid;
+ TInt iStatus;
+ };
+
+public:
+ CxeDummyAdvancedSettings(CCamera* aCamera);
+ ~CxeDummyAdvancedSettings();
+
+ void Release() {}
+ CCamera::CCameraAdvancedSettings::TCameraType CameraType() const { return CCamera::CCameraAdvancedSettings::ECameraOnBoard; }
+ CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const { return CCamera::CCameraAdvancedSettings::ECameraOnBoard; }
+ TBool IsCameraPresent() const { return ETrue; }
+ TBool IsCameraPresent(TInt aCameraIndex) const { return ETrue; }
+ TInt CameraIndex() const { return 1; }
+ TInt SupportedStabilizationModes() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const { return CCamera::CCameraAdvancedSettings::EStabilizationModeOff; }
+ void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode) {}
+
+ TInt SupportedFocusModes() const;
+ CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
+ void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode);
+
+ TInt SupportedFocusRanges() const;
+ CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
+ void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange);
+
+ TInt SupportedAutoFocusTypes() const;
+ CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
+ void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
+
+ TInt SupportedAutoFocusAreas() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const { return CCamera::CCameraAdvancedSettings::EAutoFocusTypeAuto; }
+ void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea) {}
+ TInt FocusDistance() const { return 0; }
+ void SetFocusDistance(TInt aDistance) {}
+ TInt GetMinFocalLength() const { return 0; }
+ void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const {}
+ TInt IsoRate() const { return 0; }
+ void SetIsoRate(TInt aRate) {}
+ void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const {}
+ TInt Aperture() const { return 0; }
+ void SetAperture(TInt aFStop) {}
+ void GetShutterSpeedsL(RArray<TInt>& aShutterSpeeds, TValueInfo& aInfo) const {}
+ TInt ShutterSpeed() const { return 0; }
+ void SetShutterSpeed(TInt aShutterSpeed) {}
+ TInt SupportedMeteringModes() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const { return CCamera::CCameraAdvancedSettings::EMeteringModeAuto; }
+ void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode) {}
+ TInt SupportedDriveModes() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const { return CCamera::CCameraAdvancedSettings::EDriveModeAuto; }
+ void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode) {}
+ TInt SupportedBracketModes() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const { return CCamera::CCameraAdvancedSettings::EBracketModeOff; }
+ void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode) {}
+ TInt SupportedBracketParameters() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const { return CCamera::CCameraAdvancedSettings::EBracketParameterNone; }
+ void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter) {}
+ TInt SupportedBracketSteps() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const { return CCamera::CCameraAdvancedSettings::EBracketStepNonConfig; }
+ void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep) {}
+ void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const {}
+ void SetBracketMerge(TInt aStartIndex, TInt aFrames) {}
+ TInt SupportedFlashModes() const { return 0; }
+ CCamera::TFlash FlashMode() const { return CCamera::EFlashAuto; }
+ void SetFlashMode(CCamera::TFlash aMode) {}
+ TBool RedEyeReduceOn() const { return EFalse; }
+ void SetRedEyeReduceOn(TBool aState) {}
+ void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const{}
+ TInt FlashCompensationStep() const { return 0; }
+ TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const { return 0; }
+ void SetFlashCompensationStep(TInt aFlashCompensationStep) {}
+ void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const {}
+ TInt FlashCompensation() const { return 0; }
+ TInt GetFlashCompensation(TInt& aFlashCompensation) const { return 0; }
+ void SetFlashCompensation(TInt aFlashCompensationSteps) {}
+ TBool IsExternalFlashPresent() const { return EFalse; }
+ void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const {}
+ TInt ManualFlashPowerLevel() const { return 0; }
+ void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel) {}
+ TInt SupportedExposureModes() const { return 0; }
+ CCamera::TExposure ExposureMode() const { return CCamera::EExposureAuto; }
+ void SetExposureMode(CCamera::TExposure aExposureMode) {}
+ void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const {}
+ TInt ExposureCompensationStep() const { return 0; }
+ TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const { return 0; }
+ void SetExposureCompensationStep(TInt aExposureCompensationStep) {}
+ void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const {}
+ TInt ExposureCompensation() const { return 0; }
+ TInt GetExposureCompensation(TInt& aExposureCompensation) const { return 0; }
+ void SetExposureCompensation(TInt aExposureCompensationSteps) {}
+ TInt SupportedWhiteBalanceModes() const { return 0;}
+ CCamera::TWhiteBalance WhiteBalanceMode() const { return CCamera::EWBAuto; }
+ void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode) {}
+ TBool ApertureExposureLockOn() const { return EFalse; }
+ void SetApertureExposureLockOn(TBool aAELock) {}
+ TBool ShootClickOn() const { return EFalse; }
+ void SetShootClickOn(TBool aShootClickOn) {}
+ void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const {}
+ TInt TimerInterval() const { return 0; }
+ 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 { return CCamera::CCameraAdvancedSettings::EPictureOrientationUnknown; }
+ void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation) {}
+ TInt SupportedPixelAspectRatios() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const { return CCamera::CCameraAdvancedSettings::EPixelAspectUnknown; };
+ void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio) {}
+ TInt SupportedYuvRanges() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const { return CCamera::CCameraAdvancedSettings::EYuvRangeUnknown; }
+ void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange) {}
+ TInt BurstImages() const { return 0; }
+ void SetBurstImages( TInt aImages ) {}
+
+ void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo) const {}
+ TInt OpticalZoom() const { return 0; }
+ void SetOpticalZoom(TInt aOpticalZoom) {}
+ void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo) const;
+ TInt DigitalZoom() const { return iZoomValue; }
+ void SetDigitalZoom(TInt aDigitalZoom) { iZoomValue = aDigitalZoom; }
+
+ TBool ExposureLockOn() const { return EFalse; }
+ void SetExposureLockOn(TBool aState) {}
+ TBool AutoFocusLockOn() const {return EFalse; }
+ void SetAutoFocusLockOn(TBool aState) {}
+ void GetSupportedSettingsL(RArray<TUid>& aSettings) const {}
+ void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const {}
+ void GetDisabledSettingsL(RArray<TUid>& aDisabledSettings) const {}
+ TBool AutomaticSizeSelectionChangeOn() const { return EFalse; }
+ void SetAutomaticSizeSelectionChangeOn(TBool aSetOn) {}
+ void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const {}
+ TInt ContinuousAutoFocusTimeout() const { return 0; }
+ void SetContinuousAutoFocusTimeout(TInt aTimeout) {}
+ TInt SupportedStabilizationEffects() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const { return CCamera::CCameraAdvancedSettings::EStabilizationOff; }
+ void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect) {}
+ TInt SupportedStabilizationComplexityValues() const { return 0; }
+ CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const { return CCamera::CCameraAdvancedSettings::EStabilizationComplexityAuto; }
+ void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity) {}
+ CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const { return CCamera::CCameraAdvancedSettings::EWBUnknown; }
+ void GetWBRgbValue(TRgb& aValue) const {}
+ void SetWBRgbValue(const TRgb& aValue) {}
+ void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const {}
+ TInt WBColorTemperature() const { return 0; }
+ void SetWBColorTemperature(TInt aWBColorTemperature) {}
+
+
+ // 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){}
+
+
+private:
+ void queueClientNotification(TUid aUid, TInt aStatus);
+ void doClientNotification();
+ static TInt clientNotificationCallback(TAny* aParam);
+
+private:
+
+ CCamera* iCamera; // Not own
+ CPeriodic* iNotificationTimer;
+ RArray<TCxeDummyNotification> iClientNofications;
+
+ CCamera::CCameraAdvancedSettings::TFocusMode iFocusMode;
+ CCamera::CCameraAdvancedSettings::TFocusRange iFocusRange;
+ CCamera::CCameraAdvancedSettings::TAutoFocusType iFocusType;
+
+ TInt iZoomValue;
+};
+
+
+class CxeDummyImageProcessing : public CBase, public MCameraImageProcessing
+{
+public:
+
+
+ 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{return KErrNotFound;};
+ TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const{return KErrNotFound;};
+ 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{};
+
+};
+
+
+enum TCxeDummyCommand
+ {
+ EReserve,
+ EPowerOn,
+ EProvideSnapshot,
+ EProvideStillImage
+ };
+
+enum TCxeState
+ {
+ EStReleased,
+ EStReserving,
+ EStReserved,
+ EStPoweringOn,
+ EStPowerOn,
+ EStImagePrepared,
+ EStVideoPrepared
+ };
+
+class CxeDummyCamera : public CCameraPlugin
+{
+ friend class CxeDummyAdvancedSettings;
+
+public:
+ static TInt CamerasAvailable() { return 2; }
+
+ static CxeDummyCamera* NewL(MCameraObserver& aObserver,TInt aCameraIndex, TInt aCameraVersion) { return NULL; }
+ static CxeDummyCamera* NewDuplicateL(MCameraObserver& aObserver,TInt aCameraHandle, TInt aCameraVersion) { return NULL; }
+ static CxeDummyCamera* NewL(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority, TInt aCameraVersion);
+ static CxeDummyCamera* NewDuplicateL(MCameraObserver2& aObserver,TInt aCameraHandle, TInt aCameraVersion) { return NULL; }
+
+ void Construct2L( MCameraObserver2 &, TInt, TInt ) {}
+ void Construct2L( MCameraObserver2 &, TInt ) {}
+ void Construct2L( MCameraObserver &, TInt ) {}
+ void Construct2DupL( MCameraObserver2 &, TInt ) {}
+ void Construct2DupL( MCameraObserver &, TInt ) {}
+
+ ~CxeDummyCamera();
+
+ void CameraInfo(TCameraInfo& aInfo) const { aInfo = iInfo; }
+ void Reserve();
+ void Release();
+ void PowerOn();
+ void PowerOff();
+ TInt Handle() { return 0; }
+
+ void SetZoomFactorL(TInt aZoomFactor) {}
+ TInt ZoomFactor() const { return 0; }
+ void SetDigitalZoomFactorL(TInt aDigitalZoomFactor) { iZoom = aDigitalZoomFactor; }
+ TInt DigitalZoomFactor() const { return iZoom; }
+ void SetContrastL(TInt aContrast) { iContrast = aContrast; }
+ TInt Contrast() const { return iContrast; }
+ void SetBrightnessL(TInt aBrightness) { iBrightness = aBrightness; }
+ TInt Brightness() const { return iBrightness; }
+ void SetFlashL(TFlash aFlash ) { iFlash = aFlash; }
+ TFlash Flash() const { return iFlash; }
+ void SetExposureL(TExposure aExposure ) { iExposure = aExposure; }
+ TExposure Exposure() const { return iExposure; }
+ void SetWhiteBalanceL(TWhiteBalance aWhiteBalance ) { iWb = aWhiteBalance; }
+ TWhiteBalance WhiteBalance() const { return iWb; }
+
+ void StartViewFinderDirectL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,TRect& aScreenRect) {}
+ void StartViewFinderDirectL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,TRect& aScreenRect,TRect& aClipRect) {}
+ void StartViewFinderBitmapsL(TSize& aSize) {}
+ void StartViewFinderBitmapsL(TSize& aSize,TRect& aClipRect) {}
+ void StartViewFinderL(TFormat aImageFormat,TSize& aSize) {}
+ void StartViewFinderL(TFormat aImageFormat,TSize& aSize,TRect& aClipRect) {}
+ void StopViewFinder() {}
+ TBool ViewFinderActive() const { return EFalse; }
+ void SetViewFinderMirrorL(TBool aMirror) {}
+ TBool ViewFinderMirror() const { return EFalse; }
+ void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex)
+ {
+ CX_DEBUG_IN_FUNCTION();
+ }
+ void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex,const TRect& aClipRect)
+ {
+ CX_DEBUG_IN_FUNCTION();
+ }
+ void CaptureImage();
+ void CancelCaptureImage() {}
+ void EnumerateCaptureSizes(TSize& aSize,TInt aSizeIndex,TFormat aFormat) const;
+ void PrepareVideoCaptureL(TFormat aFormat,TInt aSizeIndex,TInt aRateIndex,TInt aBuffersToUse,TInt aFramesPerBuffer) {}
+ void PrepareVideoCaptureL(TFormat aFormat,TInt aSizeIndex,TInt aRateIndex,TInt aBuffersToUse,TInt aFramesPerBuffer,const TRect& aClipRect) {}
+ void StartVideoCapture() {}
+ void StopVideoCapture() {}
+ TBool VideoCaptureActive() const { return EFalse; }
+ void EnumerateVideoFrameSizes(TSize& aSize,TInt aSizeIndex,TFormat aFormat) const {}
+ void EnumerateVideoFrameRates(TReal32& aRate,TInt aRateIndex,TFormat aFormat,TInt aSizeIndex,TExposure aExposure = EExposureAuto) const {}
+ void GetFrameSize(TSize& aSize) const {}
+ TReal32 FrameRate() const { return 0.0; }
+ TInt BuffersInUse() const { return 0; }
+ TInt FramesPerBuffer() const { return 0; }
+ void SetJpegQuality(TInt aQuality) {}
+ TInt JpegQuality() const { return 0; }
+ TAny* CustomInterface(TUid aInterface);
+ TInt CameraVersion() { return 1; }
+
+private:
+ CxeDummyCamera(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority, TInt aCameraVersion);
+ void doCommand( TCxeDummyCommand aCmd );
+ static TInt callBack( TAny* aParam );
+ TInt doHandleCallback();
+
+private:
+ CPeriodic* iCommandTimer;
+ RArray<TCxeDummyCommand> iCommandBuf;
+ MCameraObserver2& iObserver;
+ TCameraInfo iInfo;
+ TWhiteBalance iWb;
+ TExposure iExposure;
+ TFlash iFlash;
+ TInt iBrightness;
+ TInt iContrast;
+ TInt iZoom;
+ TCxeState iState;
+ CxeDummyAdvancedSettings* iAdvancedSettings;
+ CxeDummyDirectViewfinder* iDirectViewfinder;
+ CxeDummySnapshot* iSnapshot;
+ CxeDummyBuffer* iStillImage;
+ CxeDummyImageProcessing* iImageProcessing;
+ };
+
+// Restore warnings about unused arguments
+#pragma warn_unusedarg reset
+
+#endif // defined(CXE_USE_DUMMY_CAMERA) || defined(__WINSCW__)
+
+#endif // CXEDUMMYCAMERA_H