sl@0: // Copyright (c) 2004-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: #include "ECamStubPlugin.h" sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: // sl@0: // Main stuff sl@0: // sl@0: sl@0: static void Panic(TInt aReason) sl@0: { sl@0: _LIT(KDllName, "ECam Stub Plugin"); sl@0: User::Panic(KDllName, aReason); sl@0: } sl@0: sl@0: // sl@0: // CCameraStub sl@0: // sl@0: sl@0: CCameraStub::CCameraStub() sl@0: { sl@0: } sl@0: sl@0: CCameraStub::~CCameraStub() sl@0: { sl@0: } sl@0: sl@0: CCameraStub* CCameraStub::NewL() sl@0: { sl@0: return new (ELeave) CCameraStub; sl@0: } sl@0: sl@0: // sl@0: // 2nd stage ConstructL calls called by framework sl@0: // sl@0: sl@0: void CCameraStub::Construct2L(MCameraObserver& aObserver,TInt aCameraIndex) sl@0: { sl@0: iObserver = &aObserver; sl@0: iCameraIndex = aCameraIndex; sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: void CCameraStub::Construct2DupL(MCameraObserver& aObserver,TInt aCameraHandle) sl@0: { sl@0: iObserver = &aObserver; sl@0: iCameraHandle = aCameraHandle; sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: sl@0: void CCameraStub::Construct2L(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority) sl@0: { sl@0: iObserver2 = &aObserver; sl@0: iCameraIndex = aCameraIndex; sl@0: iPriority = aPriority; sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: void CCameraStub::Construct2DupL(MCameraObserver2& aObserver,TInt aCameraHandle) sl@0: { sl@0: iObserver2 = &aObserver; sl@0: iCameraHandle = aCameraHandle; sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: sl@0: sl@0: // sl@0: // Dummy versions of virtual functions sl@0: // sl@0: sl@0: void CCameraStub::CameraInfo(TCameraInfo& /*aInfo*/) const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::Reserve() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: sl@0: void CCameraStub::Release() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::PowerOn() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::PowerOff() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::Handle() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: void CCameraStub::SetZoomFactorL(TInt /*aZoomFactor = 0*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::ZoomFactor() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: void CCameraStub::SetDigitalZoomFactorL(TInt /*aDigitalZoomFactor = 0*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::DigitalZoomFactor() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: void CCameraStub::SetContrastL(TInt /*aContrast*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::Contrast() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: void CCameraStub::SetBrightnessL(TInt /*aBrightness*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::Brightness() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: sl@0: void CCameraStub::SetFlashL(TFlash /*aFlash = EFlashNone*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: CCamera::TFlash CCameraStub::Flash() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EFlashNone; sl@0: } sl@0: sl@0: void CCameraStub::SetExposureL(TExposure /*aExposure = EExposureAuto*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: CCamera::TExposure CCameraStub::Exposure() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EExposureAuto; sl@0: } sl@0: sl@0: void CCameraStub::SetWhiteBalanceL(TWhiteBalance /*aWhiteBalance = EWBAuto*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: sl@0: CCamera::TWhiteBalance CCameraStub::WhiteBalance() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EWBAuto; sl@0: } sl@0: sl@0: void CCameraStub::StartViewFinderDirectL(RWsSession& /*aWs*/,CWsScreenDevice& /*aScreenDevice*/,RWindowBase& /*aWindow*/,TRect& /*aScreenRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StartViewFinderDirectL(RWsSession& /*aWs*/,CWsScreenDevice& /*aScreenDevice*/,RWindowBase& /*aWindow*/,TRect& /*aScreenRect*/,TRect& /*aClipRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StartViewFinderBitmapsL(TSize& /*aSize*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StartViewFinderBitmapsL(TSize& /*aSize*/,TRect& /*aClipRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: sl@0: void CCameraStub::StartViewFinderL(TFormat /*aImageFormat*/,TSize& /*aSize*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StartViewFinderL(TFormat /*aImageFormat*/,TSize& /*aSize*/,TRect& /*aClipRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: sl@0: void CCameraStub::StopViewFinder() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TBool CCameraStub::ViewFinderActive() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EFalse; sl@0: } sl@0: sl@0: void CCameraStub::SetViewFinderMirrorL(TBool /*aMirror*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TBool CCameraStub::ViewFinderMirror() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EFalse; sl@0: } sl@0: sl@0: void CCameraStub::PrepareImageCaptureL(TFormat /*aImageFormat*/,TInt /*aSizeIndex*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::PrepareImageCaptureL(TFormat /*aImageFormat*/,TInt /*aSizeIndex*/,const TRect& /*aClipRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: sl@0: void CCameraStub::CaptureImage() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::CancelCaptureImage() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::EnumerateCaptureSizes(TSize& /*aSize*/,TInt /*aSizeIndex*/,TFormat /*aFormat*/) const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::PrepareVideoCaptureL(TFormat /*aFormat*/,TInt /*aSizeIndex*/,TInt /*aRateIndex*/,TInt /*aBuffersToUse*/,TInt /*aFramesPerBuffer*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::PrepareVideoCaptureL(TFormat /*aFormat*/,TInt /*aSizeIndex*/,TInt /*aRateIndex*/,TInt /*aBuffersToUse*/,TInt /*aFramesPerBuffer*/,const TRect& /*aClipRect*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StartVideoCapture() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::StopVideoCapture() sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TBool CCameraStub::VideoCaptureActive() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return EFalse; sl@0: } sl@0: sl@0: void CCameraStub::EnumerateVideoFrameSizes(TSize& /*aSize*/,TInt /*aSizeIndex*/,TFormat /*aFormat*/) const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::EnumerateVideoFrameRates(TReal32& /*aRate*/,TInt /*aRateIndex*/,TFormat /*aFormat*/,TInt /*aSizeIndex*/,TExposure /*aExposure = EExposureAuto*/) const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: void CCameraStub::GetFrameSize(TSize& /*aSize*/) const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TReal32 CCameraStub::FrameRate() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0.0; sl@0: } sl@0: sl@0: TInt CCameraStub::BuffersInUse() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: TInt CCameraStub::FramesPerBuffer() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: void CCameraStub::SetJpegQuality(TInt /*aQuality*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: } sl@0: sl@0: TInt CCameraStub::JpegQuality() const sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return 0; sl@0: } sl@0: sl@0: TAny* CCameraStub::CustomInterface(TUid /*aInterface*/) sl@0: { sl@0: Panic(EPanicUnimplemented); sl@0: return NULL; sl@0: } sl@0: sl@0: sl@0: // sl@0: // CCameraStubInfo sl@0: // sl@0: sl@0: CCameraStubInfo::CCameraStubInfo() sl@0: { sl@0: } sl@0: sl@0: CCameraStubInfo::~CCameraStubInfo() sl@0: { sl@0: } sl@0: sl@0: CCameraStubInfo* CCameraStubInfo::NewL() sl@0: { sl@0: return new (ELeave) CCameraStubInfo; sl@0: } sl@0: sl@0: TInt CCameraStubInfo::CamerasAvailable() sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: sl@0: // __________________________________________________________________________ sl@0: // Exported proxy for instantiation method resolution sl@0: // Define the interface UIDs sl@0: const TImplementationProxy ImplementationTable[] = sl@0: { sl@0: IMPLEMENTATION_PROXY_ENTRY(KUidOnboardCameraStubPlugin, CCameraStub::NewL), sl@0: IMPLEMENTATION_PROXY_ENTRY(KUidOnboardCameraStubInfo, CCameraStubInfo::NewL) sl@0: }; sl@0: sl@0: EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) sl@0: { sl@0: aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); sl@0: sl@0: return ImplementationTable; sl@0: } sl@0: