MDirectViewFinderObserver Class Reference

class MDirectViewFinderObserver

A mixin class to be implemented by the client in order to use the V2 direct view finder API CCameraV2DirectViewFinder. The derived class methods are called by the implementation when the direct view finder operations are ready to be notified accordingly. Implementation shall keep track of CCameraV2DirectViewFinder object deletion. It has to ensure that a callback is not send should the client destroy the particular CCameraV2DirectViewFinder class object when the callback is queued to be send across. Ownership of CCameraV2DirectViewFinder is retained by the client.

CCamera::CCameraV2DirectViewFinder

Member Functions Documentation

ClientHistogramReady(CCamera::CCameraV2DirectViewFinder &, MHistogramV2Buffer *, TInt)

voidClientHistogramReady(CCamera::CCameraV2DirectViewFinder &aDirectViewFinderHandle,
MHistogramV2Buffer *aClientHistogramBuffer,
TIntaErrorCode
)[pure virtual]

Implementation sends this callback in order to notify the client about availability of the histogram data. If a call to CCameraV2Histogram::StartHistogram() is made without a previous successful call to CCameraV2Histogram:: PrepareClientHistogramL() then the callback returns KErrBadHandle.

Note:

Client shall use the currently available histogram for the direct viewfinder frames until a new histogram is available.

Parameters

CCamera::CCameraV2DirectViewFinder & aDirectViewFinderHandleReference to CCameraV2DirectViewFinder class object which refers a particular direct viewfinder for which the client histogram data have been generated.
MHistogramV2Buffer * aClientHistogramBufferPointer to MHistogramV2Buffer which retrieves a single histogram alongwith relevant information about it. The ownership will be retained by the implementation. Client needs to call Release in order to indicate the implementation that the buffer can be re-used. Client shall never try to delete the pointer. NULL, if error.
TInt aErrorCodeAppropriate error code.

CustomInterface(TUid, TAny *&)

TInt CustomInterface(TUidaInterface,
TAny *&aPtrInterface
)[pure virtual]

Gets a custom interface for future callbacks. This method will be called by the implementation to get a new interface which would support future callbacks.

The error code.

Parameters

TUid aInterfaceThe Uid of the particular interface function required for callbacks.
TAny *& aPtrInterfaceThe implementation has to type-cast the retrieved custom interface pointer to the appropriate type.

DirectHistogramDisplayed(CCamera::CCameraV2DirectViewFinder &, CCamera::CCameraV2Histogram &, TInt)

voidDirectHistogramDisplayed(CCamera::CCameraV2DirectViewFinder &aDirectViewFinderHandle,
CCamera::CCameraV2Histogram &aDirectHistogramDisplayed,
TIntaErrorCode
)[pure virtual]

Implementation sends this callback in order to notify the client when the direct histogram data gets displayed on the screen for the first time after starting/resuming a particular direct viewfinder. If a call to CCameraV2Histogram:: StartHistogram() is made without a previous successful call to CCameraV2Histogram::PrepareDirectHistogramL() then the callback returns KErrBadHandle.

Parameters

CCamera::CCameraV2DirectViewFinder & aDirectViewFinderHandleReference to CCameraV2DirectViewFinder class object which refers a particular direct viewfinder for which the direct histogram data has been displayed.
CCamera::CCameraV2Histogram & aDirectHistogramDisplayedReference to CCameraV2Histogram class object which refers a particular type of histogram being displayed.
TInt aErrorCodeAppropriate error code.

DirectSnapshotForImageDisplayed(CCamera::CCameraV2DirectViewFinder &, CCamera::CCameraImageCapture &, TPostCaptureControlId, TInt)

voidDirectSnapshotForImageDisplayed(CCamera::CCameraV2DirectViewFinder &aDirectViewFinderHandle,
CCamera::CCameraImageCapture &aCaptureImageHandle,
TPostCaptureControlIdaPostCaptureControlId,
TIntaErrorCode
)[pure virtual]

Implementation sends this callback as a notification of the display of direct snapshot for still images on the display screen.

Parameters

CCamera::CCameraV2DirectViewFinder & aDirectViewFinderHandleReference to CCameraV2DirectViewFinder class object which refers a particular direct viewfinder on which the direct snapshot data for still images have been displayed.
CCamera::CCameraImageCapture & aCaptureImageHandleReference to CCameraImageCapture class object which was used to issue the capture image operation.
TPostCaptureControlId aPostCaptureControlIdId used to identify a particular CCameraPostImageCaptureControl object associated with the given CCameraImageCapture class object. This is needed to identify the image which is represented by this snapshot.
TInt aErrorCodeAppropriate error code.

DirectViewFinderFailed(CCamera::CCameraV2DirectViewFinder &, TInt)

voidDirectViewFinderFailed(CCamera::CCameraV2DirectViewFinder &aDirectViewFinderHandle,
TIntaErrorCode
)[pure virtual]

Implementation sends this callback in order to notify the client about failure with the direct viewfinder.

Parameters

CCamera::CCameraV2DirectViewFinder & aDirectViewFinderHandleReference to CCameraV2DirectViewFinder class object which refers a particular direct viewfinder.
TInt aErrorCodeThe reason of failure of the direct viewfinder.

DirectViewFinderFirstFrameDisplayed(CCamera::CCameraV2DirectViewFinder &, TInt)

voidDirectViewFinderFirstFrameDisplayed(CCamera::CCameraV2DirectViewFinder &aDirectViewFinderHandle,
TIntaErrorCode
)[pure virtual]

Implementation sends this callback in order to notify the client when the first direct viewfinder frame gets displayed after starting/resuming a particular direct viewfinder.

Parameters

CCamera::CCameraV2DirectViewFinder & aDirectViewFinderHandleReference to CCameraV2DirectViewFinder class object which refers a particular direct viewfinder.
TInt aErrorCodeAppropriate error code.