Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: ecam.h

Class MCameraObserver2

class MCameraObserver2;

Description

Mixin base class V2 for camera clients.

An application must implement an MCameraObserver2 (or MCameraObserver) in order to use the camera API. This derived class is called when the camera is ready for use, an image has been captured or a buffer of video data is ready, including when errors occur.

Members

Defined in MCameraObserver2:
HandleEvent(), ImageBufferReady(), VideoBufferReady(), ViewFinderReady()


Member functions


HandleEvent()

virtual void HandleEvent(const TECAMEvent &aEvent)=0;

Description

A camera event has completed.

Note: Implementations of MCameraObserver2 should ignore events which are not recognised and should not leave.

Note: This may internally call TECAMEvent2::IsEventEncapsulationValid(aEvent) and also for any other derived version of TECAMEvent class to know whether correct version of TECAMEvent base class has been used.

Parameters

const TECAMEvent &aEvent

A reference to a TECAMEvent. This can be completion of a call to Reserve() or a call to PowerOn() or a notification that the client has lost control of the camera. The event contains a uid identifying the event and an accompanying error code (KErrNone for the successful completion of a request). The error will be KErrNotReady for a request that was made out of the correct sequence. The error will be KErrAccessDenied for a Reserve() request that failed because a higher priority client already controls the camera.


ViewFinderReady()

virtual void ViewFinderReady(MCameraBuffer &aCameraBuffer, TInt aError)=0;

Description

Notifies client of new view finder data. Called periodically in response to the use of CCamera::StartViewFinderL().

Parameters

MCameraBuffer &aCameraBuffer

A reference to an MCameraBuffer if successful, or NULL if not successful.

TInt aError

KErrNone if successful, or an error code if not successful.


ImageBufferReady()

virtual void ImageBufferReady(MCameraBuffer &aCameraBuffer, TInt aError)=0;

Description

Notifies the client of a new captured camera image. Called asynchronously when CCamera::CaptureImage() completes.

Parameters

MCameraBuffer &aCameraBuffer

A reference to an MCameraBuffer if successful, or NULL if not successful.

TInt aError

KErrNone if successful, or an error code if not successful.


VideoBufferReady()

virtual void VideoBufferReady(MCameraBuffer &aCameraBuffer, TInt aError)=0;

Description

Notifies the client of new captured video. Called asynchronously and periodically after CCamera::StartVideoCapture() is called. The buffer has been filled with the required number of video frames specified PrepareVideoCaptureL().

Parameters

MCameraBuffer &aCameraBuffer

A reference to an MCameraBuffer if successful, or NULL if not successful.

TInt aError

KErrNone if successful, or an error code if not successful.