sl@0: // Copyright (c) 2007-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 ECAMEXTENDEDFUNCTEST_H sl@0: #define ECAMEXTENDEDFUNCTEST_H sl@0: sl@0: #include sl@0: #include "ECamObserverTest.h" sl@0: #include "extended_functionality.h" sl@0: sl@0: class RECamClientViewFinderTest : public RTestStep sl@0: { sl@0: public: sl@0: static RECamClientViewFinderTest* NewL(const TDesC& aTestStep); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: sl@0: // new sl@0: TVerdict DoTestStep_50L(); sl@0: sl@0: TVerdict DoClientVFTestStepL(); sl@0: sl@0: private: sl@0: RECamClientViewFinderTest(const TDesC& aTestStep); sl@0: }; sl@0: sl@0: class RECamClientVFNotificationTest : public RECamObserverTest, public MClientViewFinderObserver sl@0: { sl@0: public: sl@0: static RECamClientVFNotificationTest* NewL(TBool aAllocTest); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: TVerdict DoTestStepL_51L(); sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: RECamClientVFNotificationTest(TBool aAllocTest); sl@0: sl@0: //MClientViewFinderObserver sl@0: void ViewFinderBufferReady(CCamera::CCameraClientViewFinder& aClientViewFinderHandle, TInt aErrorCode); sl@0: void DirectHistogramDisplayed(CCamera::CCameraClientViewFinder& aClientViewFinderHandle, CCamera::CCameraV2Histogram& aDirectHistogramDisplayed, TInt aErrorCode); sl@0: void ClientHistogramReady(CCamera::CCameraClientViewFinder& aClientViewFinderHandle, MHistogramV2Buffer* aClientHistogramBuffer, TInt aErrorCode); sl@0: void ImageProcessingFailed(CCamera::CCameraClientViewFinder& aClientViewFinderHandle, TInt aErrorCode); sl@0: TInt CustomInterface(TUid aInterface, TAny*& aPtrInterface); sl@0: sl@0: void CheckViewFinderNegNotification(TInt aVFHandle, TVerdict& aResult); sl@0: sl@0: private: sl@0: sl@0: TInt iVFHandle; sl@0: TInt iError; sl@0: TUid iInputEventUid; sl@0: }; sl@0: sl@0: class RECamV2DirectViewFinderTest : public RTestStep sl@0: { sl@0: public: sl@0: static RECamV2DirectViewFinderTest* NewL(const TDesC& aTestStep); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: sl@0: // new sl@0: TVerdict DoTestStep_52L(); sl@0: sl@0: TVerdict DoV2DirectVFTestStepL(); sl@0: sl@0: private: sl@0: RECamV2DirectViewFinderTest(const TDesC& aTestStep); sl@0: }; sl@0: sl@0: class RECamV2DirectVFNotificationTest : public RECamObserverTest, public MDirectViewFinderObserver sl@0: { sl@0: public: sl@0: static RECamV2DirectVFNotificationTest* NewL(TBool aAllocTest); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: TVerdict DoTestStep_53L(); sl@0: sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: RECamV2DirectVFNotificationTest(TBool aAllocTest); sl@0: sl@0: //MDirectViewFinderObserver sl@0: void DirectViewFinderFirstFrameDisplayed(CCamera::CCameraV2DirectViewFinder& aDirectViewFinderHandle, TInt aErrorCode); sl@0: void DirectHistogramDisplayed(CCamera::CCameraV2DirectViewFinder& aDirectViewFinderHandle, CCamera::CCameraV2Histogram& aDirectHistogramDisplayed, TInt aErrorCode); sl@0: void ClientHistogramReady(CCamera::CCameraV2DirectViewFinder& aDirectViewFinderHandle, MHistogramV2Buffer* aClientHistogramBuffer, TInt aErrorCode); sl@0: void DirectViewFinderFailed(CCamera::CCameraV2DirectViewFinder& aDirectViewFinderHandle, TInt aErrorCode); sl@0: void DirectSnapshotForImageDisplayed(CCamera::CCameraV2DirectViewFinder& aDirectViewFinderHandle, CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TInt aErrorCode); sl@0: TInt CustomInterface(TUid aInterface, TAny*& aPtrInterface); sl@0: sl@0: void CheckViewFinderNegNotification(TInt aVFHandle, TVerdict& aResult); sl@0: sl@0: private: sl@0: sl@0: TInt iVFHandle; sl@0: TInt iError; sl@0: TUid iInputEventUid; sl@0: }; sl@0: sl@0: class RECamPreImgCaptureNotificationTest : public RECamObserverTest, public MPreImageCaptureControlObserver sl@0: { sl@0: public: sl@0: static RECamPreImgCaptureNotificationTest* NewL(TBool aAllocTest); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: TVerdict DoPreImgCaptureTestStepL(); sl@0: sl@0: private: sl@0: RECamPreImgCaptureNotificationTest(TBool aAllocTest); sl@0: sl@0: //MPreImageCaptureControlObserver sl@0: void PrepareImageComplete(CCamera::CCameraImageCapture* aCaptureImageHandle, TInt aErrorCode); sl@0: TInt CustomInterface(TUid aInterface, TAny*& aPtrInterface); sl@0: sl@0: void CheckCaptureNotification(CCamera::CCameraImageCapture*& aImageCapture, TVerdict& aResult); sl@0: sl@0: private: sl@0: CCamera::CCameraImageCapture* iCaptureImageHandle; sl@0: TInt iError; sl@0: TUid iInputEventUid; sl@0: }; sl@0: sl@0: class RECamImgCaptureNotificationTest : public RECamObserverTest, public MPreImageCaptureControlObserver, MCaptureImageObserver sl@0: { sl@0: public: sl@0: static RECamImgCaptureNotificationTest* NewL(TBool aAllocTest); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: TVerdict DoImgCaptureAdvFuncConstruction(); sl@0: sl@0: private: sl@0: RECamImgCaptureNotificationTest(TBool aAllocTest); sl@0: sl@0: //MPreImageCaptureControlObserver sl@0: void PrepareImageComplete(CCamera::CCameraImageCapture* aCaptureImageHandle, TInt aErrorCode); sl@0: TInt CustomInterface(TUid aInterface, TAny*& aPtrInterface); sl@0: sl@0: void CheckPreCaptureNotification(CCamera::CCameraImageCapture*& aImageCapture, TVerdict& aResult); sl@0: sl@0: //MCaptureImageObserver sl@0: void IndividualImageControlHandle(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId); sl@0: void ImageBufferReady(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TInt aErrorCode); sl@0: void ClientSnapshotForImageReady(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, MCameraBuffer2* aSnapshotBuffer, TInt aErrorCode); sl@0: void DirectSnapshotForImageDisplayed(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TInt aErrorCode); sl@0: void CutDownImageDirectSavingCompleted(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TInt aErrorCode); sl@0: void ImageDirectSavingCompleted(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TInt aErrorCode); sl@0: void ImageCaptureComplete(CCamera::CCameraImageCapture& aCaptureImageHandle, TInt aErrorCode); sl@0: void ClientHistogramForImageReady(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, MHistogramV2Buffer* aClientHistogramBuffer, TInt aErrorCode); sl@0: void ClientHistogramForSnapshotReady(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, MHistogramV2Buffer* aClientHistogramBuffer, TInt aErrorCode); sl@0: void DirectHistogramForSnapshotDisplayed(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, CCamera::CCameraV2Histogram& aDirectHistogramDisplayed, TInt aErrorCode); sl@0: void ProcessingFailed(CCamera::CCameraImageCapture& aCaptureImageHandle, TPostCaptureControlId aPostCaptureControlId, TUint aProcessingTypes, TInt aErrorCode); sl@0: sl@0: void CheckCaptureNotification(CCamera::CCameraImageCapture*& aImageCapture, TPostCaptureControlId& aPostCaptureControlId, TVerdict& aResult); sl@0: void CheckCaptureCompletion(CCamera::CCameraImageCapture*& aImageCapture, TVerdict& aResult); sl@0: sl@0: private: sl@0: CCamera::CCameraImageCapture* iCaptureImageHandle; sl@0: TPostCaptureControlId iPostCaptureControlId; sl@0: TUint iProcessingTypes; sl@0: TInt iError; sl@0: TUid iInputEventUid; sl@0: }; sl@0: sl@0: class RECamVideoCaptureControlTest : public RTestStep sl@0: { sl@0: public: sl@0: static RECamVideoCaptureControlTest* NewL(const TDesC& aTestStep); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: sl@0: // new sl@0: TVerdict DoTestStep_56L(); sl@0: sl@0: TVerdict DoVideoCaptureTestStepL(); sl@0: sl@0: private: sl@0: RECamVideoCaptureControlTest(const TDesC& aTestStep); sl@0: }; sl@0: sl@0: class RECamVideoCaptureNotificationTest : public RECamObserverTest, public MCaptureVideoObserver sl@0: { sl@0: public: sl@0: static RECamVideoCaptureNotificationTest* NewL(TBool aAllocTest); sl@0: sl@0: protected: sl@0: // from RTestStep; sl@0: TVerdict DoTestStepL(); sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: RECamVideoCaptureNotificationTest(TBool aAllocTest); sl@0: sl@0: //MCaptureVideoObserver sl@0: void VideoBufferReady(MCameraBuffer2* aVideoBuffer, TInt aErrorCode); sl@0: void ClientSnapshotReady(MCameraBuffer2* aSnapshotBuffer, TInt aErrorCode); sl@0: void ClientHistogramReady(MHistogramV2Buffer* aClientHistogramBuffer, TInt aErrorCode); sl@0: void ImageProcessingFailed(TInt aErrorCode); sl@0: void DirectVideoCaptureFailed(TInt aErrorCode); sl@0: TInt CustomInterface(TUid aInterface, TAny*& aPtrInterface); sl@0: sl@0: void CheckVideoCaptureNegNotification(TInt aErrorCode, TVerdict& aResult); sl@0: sl@0: private: sl@0: sl@0: TInt iError; sl@0: TUid iInputEventUid; sl@0: }; sl@0: sl@0: #endif // ECAMEXTENDEDFUNCTEST_H sl@0: