imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/ECamUnitTestPlugin.h
changeset 0 40261b775718
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/ECamUnitTestPlugin.h	Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,175 @@
+
+// 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 ECAMUNITTESTPlUGIN_H
+#define ECAMUNITTESTPlUGIN_H
+
+#include <ecam/ecamplugin.h>
+#include <ecam/ecaminfoplugin.h>
+#include <ecamadvsettings.h>
+#include <f32file.h> 
+
+_LIT(KECamUnitTestPluginName, "C:\\102070CF.txt");
+_LIT(KTestCameraPluginName, "C:\102070cc.txt");
+
+#ifdef SYMBIAN_MULTIMEDIA_THREEPLANEARCH
+_LIT(KMMCameraPluginName, "C:\\mmcameraclientplugin.txt");
+#endif //SYMBIAN_MULTIMEDIA_THREEPLANEARCH
+
+const TInt KECamSetAvailableCameras = 3; 
+
+// Implementations of the ECam plugin classes
+class CCamUnitTestPlugin : 	public CCameraPlugin
+	{
+	friend class CCamPresets;
+	friend class CCamAdvSet;
+	friend class CCamImgProc;
+	friend class CCamManagement;
+	
+public:
+	static CCamUnitTestPlugin* NewL();
+	~CCamUnitTestPlugin();
+	
+protected:
+	// from CCameraPlugin
+	void Construct2L(MCameraObserver& aObserver,TInt aCameraIndex);
+	void Construct2DupL(MCameraObserver& aObserver,TInt aCameraHandle);
+	
+	void Construct2L(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority);
+	void Construct2DupL(MCameraObserver2& aObserver,TInt aCameraHandle);
+
+	// from CCamera itself
+	void CameraInfo(TCameraInfo& aInfo) const;
+	void Reserve();
+	void Release();
+	void PowerOn();
+	void PowerOff();
+	TInt Handle();
+	void SetZoomFactorL(TInt aZoomFactor = 0);
+	TInt ZoomFactor() const;
+	void SetDigitalZoomFactorL(TInt aDigitalZoomFactor = 0);
+	TInt DigitalZoomFactor() const;
+	void SetContrastL(TInt aContrast);
+	TInt Contrast() const;
+	void SetBrightnessL(TInt aBrightness);
+	TInt Brightness() const;
+	void SetFlashL(TFlash aFlash = EFlashNone);
+	TFlash Flash() const;
+	void SetExposureL(TExposure aExposure = EExposureAuto);
+	TExposure Exposure() const;
+	void SetWhiteBalanceL(TWhiteBalance aWhiteBalance = EWBAuto);
+	TWhiteBalance WhiteBalance() const;
+	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;
+	void SetViewFinderMirrorL(TBool aMirror);
+	TBool ViewFinderMirror() const;
+	void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex);
+	void PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex,const TRect& aClipRect);
+	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;
+	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;
+	TInt BuffersInUse() const;
+	TInt FramesPerBuffer() const;
+	void SetJpegQuality(TInt aQuality);
+	TInt JpegQuality() const;
+	TAny* CustomInterface(TUid aInterface);
+		
+public:
+    void Notify(TUid aMessageId, TInt aError);
+    void Notify2(TUid aMessageId, TInt aError, TInt aParam);
+    
+    void GenerateVFHandle(TInt& aVFHandle);
+    // set presets
+    //void InitPresetsL(RArray<TUid>& aPresets);
+private:
+	CCamUnitTestPlugin();
+	
+private:
+	MCameraObserver* iObserver; // not owned
+	MCameraObserver2* iObserver2; // not owned
+
+	TInt iCameraIndex;
+	TInt iCameraHandle;
+	TInt iPriority;
+	
+	RArray<TInt> iSupportedISORates;
+	TInt iIsoRate;
+	TInt iVFHandleGenerater;
+	
+public:	
+	// additional info
+	RArray<TUid> iPresets;
+	TBool iCameras[KECamSetAvailableCameras];
+	CCamera::CCameraAdvancedSettings::TCameraType iCameraTypes[KECamSetAvailableCameras];
+	};
+	
+class CCamUnitTestPluginInfo : public CCameraInfoPlugin
+	{
+public:
+	static CCamUnitTestPluginInfo* NewL();
+	
+	~CCamUnitTestPluginInfo();
+	
+	// from CCameraInfoPlugin
+	TInt CamerasAvailable();
+private:
+	CCamUnitTestPluginInfo();	
+	};
+	
+class CCamUnitTestPluginSecureId : public MSecureIdPlugin
+	{
+public:
+	static CCamUnitTestPluginSecureId* NewL();
+	
+	~CCamUnitTestPluginSecureId();
+	
+	// from CCameraInfoPlugin
+	void Release();
+	void GetSecureIdL(TInt& aSecureId) const;
+	
+private:
+	CCamUnitTestPluginSecureId();	
+	};
+	
+enum TSetPanicReasons
+	{
+	EPanicUnimplemented=1
+	};
+	
+class FileDependencyUtil
+	{
+public:
+	static void CheckFileDependencyL();
+	};	
+
+#endif // ECAMUNITTESTPlUGIN_H