Update contrib.
1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #include "ECamStubPlugin.h"
18 #include <ecom/ecom.h>
19 #include <ecom/implementationproxy.h>
20 #include <ecamuids.hrh>
26 static void Panic(TInt aReason)
28 _LIT(KDllName, "ECam Stub Plugin");
29 User::Panic(KDllName, aReason);
36 CCameraStub::CCameraStub()
40 CCameraStub::~CCameraStub()
44 CCameraStub* CCameraStub::NewL()
46 return new (ELeave) CCameraStub;
50 // 2nd stage ConstructL calls called by framework
53 void CCameraStub::Construct2L(MCameraObserver& aObserver,TInt aCameraIndex)
55 iObserver = &aObserver;
56 iCameraIndex = aCameraIndex;
57 User::Leave(KErrNotSupported);
60 void CCameraStub::Construct2DupL(MCameraObserver& aObserver,TInt aCameraHandle)
62 iObserver = &aObserver;
63 iCameraHandle = aCameraHandle;
64 User::Leave(KErrNotSupported);
68 void CCameraStub::Construct2L(MCameraObserver2& aObserver,TInt aCameraIndex,TInt aPriority)
70 iObserver2 = &aObserver;
71 iCameraIndex = aCameraIndex;
72 iPriority = aPriority;
73 User::Leave(KErrNotSupported);
76 void CCameraStub::Construct2DupL(MCameraObserver2& aObserver,TInt aCameraHandle)
78 iObserver2 = &aObserver;
79 iCameraHandle = aCameraHandle;
80 User::Leave(KErrNotSupported);
86 // Dummy versions of virtual functions
89 void CCameraStub::CameraInfo(TCameraInfo& /*aInfo*/) const
91 Panic(EPanicUnimplemented);
94 void CCameraStub::Reserve()
96 Panic(EPanicUnimplemented);
100 void CCameraStub::Release()
102 Panic(EPanicUnimplemented);
105 void CCameraStub::PowerOn()
107 Panic(EPanicUnimplemented);
110 void CCameraStub::PowerOff()
112 Panic(EPanicUnimplemented);
115 TInt CCameraStub::Handle()
117 Panic(EPanicUnimplemented);
121 void CCameraStub::SetZoomFactorL(TInt /*aZoomFactor = 0*/)
123 Panic(EPanicUnimplemented);
126 TInt CCameraStub::ZoomFactor() const
128 Panic(EPanicUnimplemented);
132 void CCameraStub::SetDigitalZoomFactorL(TInt /*aDigitalZoomFactor = 0*/)
134 Panic(EPanicUnimplemented);
137 TInt CCameraStub::DigitalZoomFactor() const
139 Panic(EPanicUnimplemented);
143 void CCameraStub::SetContrastL(TInt /*aContrast*/)
145 Panic(EPanicUnimplemented);
148 TInt CCameraStub::Contrast() const
150 Panic(EPanicUnimplemented);
154 void CCameraStub::SetBrightnessL(TInt /*aBrightness*/)
156 Panic(EPanicUnimplemented);
159 TInt CCameraStub::Brightness() const
161 Panic(EPanicUnimplemented);
166 void CCameraStub::SetFlashL(TFlash /*aFlash = EFlashNone*/)
168 Panic(EPanicUnimplemented);
171 CCamera::TFlash CCameraStub::Flash() const
173 Panic(EPanicUnimplemented);
177 void CCameraStub::SetExposureL(TExposure /*aExposure = EExposureAuto*/)
179 Panic(EPanicUnimplemented);
182 CCamera::TExposure CCameraStub::Exposure() const
184 Panic(EPanicUnimplemented);
185 return EExposureAuto;
188 void CCameraStub::SetWhiteBalanceL(TWhiteBalance /*aWhiteBalance = EWBAuto*/)
190 Panic(EPanicUnimplemented);
194 CCamera::TWhiteBalance CCameraStub::WhiteBalance() const
196 Panic(EPanicUnimplemented);
200 void CCameraStub::StartViewFinderDirectL(RWsSession& /*aWs*/,CWsScreenDevice& /*aScreenDevice*/,RWindowBase& /*aWindow*/,TRect& /*aScreenRect*/)
202 Panic(EPanicUnimplemented);
205 void CCameraStub::StartViewFinderDirectL(RWsSession& /*aWs*/,CWsScreenDevice& /*aScreenDevice*/,RWindowBase& /*aWindow*/,TRect& /*aScreenRect*/,TRect& /*aClipRect*/)
207 Panic(EPanicUnimplemented);
210 void CCameraStub::StartViewFinderBitmapsL(TSize& /*aSize*/)
212 Panic(EPanicUnimplemented);
215 void CCameraStub::StartViewFinderBitmapsL(TSize& /*aSize*/,TRect& /*aClipRect*/)
217 Panic(EPanicUnimplemented);
221 void CCameraStub::StartViewFinderL(TFormat /*aImageFormat*/,TSize& /*aSize*/)
223 Panic(EPanicUnimplemented);
226 void CCameraStub::StartViewFinderL(TFormat /*aImageFormat*/,TSize& /*aSize*/,TRect& /*aClipRect*/)
228 Panic(EPanicUnimplemented);
232 void CCameraStub::StopViewFinder()
234 Panic(EPanicUnimplemented);
237 TBool CCameraStub::ViewFinderActive() const
239 Panic(EPanicUnimplemented);
243 void CCameraStub::SetViewFinderMirrorL(TBool /*aMirror*/)
245 Panic(EPanicUnimplemented);
248 TBool CCameraStub::ViewFinderMirror() const
250 Panic(EPanicUnimplemented);
254 void CCameraStub::PrepareImageCaptureL(TFormat /*aImageFormat*/,TInt /*aSizeIndex*/)
256 Panic(EPanicUnimplemented);
259 void CCameraStub::PrepareImageCaptureL(TFormat /*aImageFormat*/,TInt /*aSizeIndex*/,const TRect& /*aClipRect*/)
261 Panic(EPanicUnimplemented);
265 void CCameraStub::CaptureImage()
267 Panic(EPanicUnimplemented);
270 void CCameraStub::CancelCaptureImage()
272 Panic(EPanicUnimplemented);
275 void CCameraStub::EnumerateCaptureSizes(TSize& /*aSize*/,TInt /*aSizeIndex*/,TFormat /*aFormat*/) const
277 Panic(EPanicUnimplemented);
280 void CCameraStub::PrepareVideoCaptureL(TFormat /*aFormat*/,TInt /*aSizeIndex*/,TInt /*aRateIndex*/,TInt /*aBuffersToUse*/,TInt /*aFramesPerBuffer*/)
282 Panic(EPanicUnimplemented);
285 void CCameraStub::PrepareVideoCaptureL(TFormat /*aFormat*/,TInt /*aSizeIndex*/,TInt /*aRateIndex*/,TInt /*aBuffersToUse*/,TInt /*aFramesPerBuffer*/,const TRect& /*aClipRect*/)
287 Panic(EPanicUnimplemented);
290 void CCameraStub::StartVideoCapture()
292 Panic(EPanicUnimplemented);
295 void CCameraStub::StopVideoCapture()
297 Panic(EPanicUnimplemented);
300 TBool CCameraStub::VideoCaptureActive() const
302 Panic(EPanicUnimplemented);
306 void CCameraStub::EnumerateVideoFrameSizes(TSize& /*aSize*/,TInt /*aSizeIndex*/,TFormat /*aFormat*/) const
308 Panic(EPanicUnimplemented);
311 void CCameraStub::EnumerateVideoFrameRates(TReal32& /*aRate*/,TInt /*aRateIndex*/,TFormat /*aFormat*/,TInt /*aSizeIndex*/,TExposure /*aExposure = EExposureAuto*/) const
313 Panic(EPanicUnimplemented);
316 void CCameraStub::GetFrameSize(TSize& /*aSize*/) const
318 Panic(EPanicUnimplemented);
321 TReal32 CCameraStub::FrameRate() const
323 Panic(EPanicUnimplemented);
327 TInt CCameraStub::BuffersInUse() const
329 Panic(EPanicUnimplemented);
333 TInt CCameraStub::FramesPerBuffer() const
335 Panic(EPanicUnimplemented);
339 void CCameraStub::SetJpegQuality(TInt /*aQuality*/)
341 Panic(EPanicUnimplemented);
344 TInt CCameraStub::JpegQuality() const
346 Panic(EPanicUnimplemented);
350 TAny* CCameraStub::CustomInterface(TUid /*aInterface*/)
352 Panic(EPanicUnimplemented);
361 CCameraStubInfo::CCameraStubInfo()
365 CCameraStubInfo::~CCameraStubInfo()
369 CCameraStubInfo* CCameraStubInfo::NewL()
371 return new (ELeave) CCameraStubInfo;
374 TInt CCameraStubInfo::CamerasAvailable()
380 // __________________________________________________________________________
381 // Exported proxy for instantiation method resolution
382 // Define the interface UIDs
383 const TImplementationProxy ImplementationTable[] =
385 IMPLEMENTATION_PROXY_ENTRY(KUidOnboardCameraStubPlugin, CCameraStub::NewL),
386 IMPLEMENTATION_PROXY_ENTRY(KUidOnboardCameraStubInfo, CCameraStubInfo::NewL)
389 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
391 aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
393 return ImplementationTable;