MCameraImageCapture Class Reference

class MCameraImageCapture

Mixin class for implementation by providers of the ImageCapture Camera Extension API. CameraImageCapture class exposes an API for capturing the image and controlling the overall capture.

This class also provides concrete implementation of API exposed by CCameraPostImageCaptureControl. CameraPostImageCaptureControl class exposes an API for retrieving the image data from individual images (in case continuous drive mode is used for capturing the images) and also to apply control on the captured images individually.

Member Functions Documentation

CancelCaptureImage()

void CancelCaptureImage ( ) [pure virtual]

Cancels the outstanding Capture Image operation. This will also cancel any outstanding processing options associated with the concerned Capture Image operation. This method is synchronous. Hence, no callback shall be issued for the concerned capture image operation.

CaptureImage(CCamera::CCameraImageCapture *)

void CaptureImage ( CCamera::CCameraImageCapture * aCameraImageCapture ) [pure virtual]

Performant image capture. This postpones the processing options involved with current image captured in order to capture/prepare for next images.

Previously created CCameraPostImageCaptureControl objects for this CCameraImageCapture object will become unavailable after this call.

Note:

Further images (either still or video) can be captured only after receiving the notification KUidECamEventReadyForNextCapture. Current image may be outstanding in order to undergo any processing options.

Callback MCaptureImageObserver::ImageCaptureComplete() informs the client that the image capture operation has been completed. The CCameraImageCapture& can be further used for next image captures. In case of continuous drive modes, this callback will be received by the client only once in order to provide the result of the whole image capture operation.

Callback MCaptureImageObserver::ImageBufferReady() provides client the link to CCameraPostImageCaptureControl& which helps retrieving the image buffer. In case of continuous drive modes, this callback will be received by the client for every individual image. In case of single shots, this will be received by the client only once in order to retrieve the image buffer.

Parameters

CCamera::CCameraImageCapture * aCameraImageCapture Pointer to aCameraImageCapture. This will be used by the implementation in order to pass in callbacks and to create CCameraPostImageCaptureControl object for every image and pass it to the client. Implementation is not supposed to not destroy this object.

CreateHistogramImplFactoryL(MImplementationFactory *&)

void CreateHistogramImplFactoryL ( MImplementationFactory *& aImplFactoryPtr ) const [pure virtual]

Retrieves the concrete factory handle for the histogram implementation in order to use it specifically for a specific still image capture.

leave
May leave with any error code.

Parameters

MImplementationFactory *& aImplFactoryPtr The concrete factory handle for the histogram implementation specific to the still image capture.

CreatePostImageCaptureControlImpl(TUid, TPostCaptureControlId)

TAny * CreatePostImageCaptureControlImpl ( TUid aInterface,
TPostCaptureControlId aPostCaptureControlId
) [pure virtual]

Provides the interface pointers for the concrete implementation of CCameraPostImageCaptureControl. Every time this method is called, a newly created interface is provided since it represents the individual image. The ID maps the individual image with the CCameraPostImageCaptureControl instance and may also be stored by the concrete implementation of CCameraPostImageCaptureControl.

Note:

It is this implementation which creates/owns CCameraPostImageCaptureControl class object after receiving image capture requests by the client. Implementation may store all such mappings between aPostCaptureControlId and CCameraPostImageCaptureControl* for a particular instance of CCameraImageCapture.

Parameters

TUid aInterface The uid representing the interface required.
TPostCaptureControlId aPostCaptureControlId The ID which maps the individual image with the CCameraPostImageCaptureControl object. This may be stored by the concrete implementation of CCameraPostImageCaptureControl.

GetCaptureImagePriorityL(TECamImagePriority &)

void GetCaptureImagePriorityL ( TECamImagePriority & aCaptureImagePriority ) const [pure virtual]

Retrieves the priority of the Capture Image operation.

leave
May leave with any error code.

Parameters

TECamImagePriority & aCaptureImagePriority Retrieves the current level of priority.

GetImageProcessingImplFactoryL(MImplementationFactory *&)

void GetImageProcessingImplFactoryL ( MImplementationFactory *& aImplFactoryPtr ) const [pure virtual]

Retrieves the concrete factory handle for the image processing implementation in order to use it specifically for a specific still image capture.

leave
May leave with any error code.

Parameters

MImplementationFactory *& aImplFactoryPtr The concrete factory handle for the image processing implementation specific to the still image capture.

GetNumImagesExposedL(TUint &)

void GetNumImagesExposedL ( TUint & aNumImagesExposed ) const [pure virtual]

Retrieves the number of images exposed to sensor with respect to a specific image capture command. Any Processing options associated with these images may be pending.

Note:

May leave with any error code.

Parameters

TUint & aNumImagesExposed Retrieves the number of images exposed to sensor till now. For single shot type of drive modes, this value will be one after the image gets exposed to sensor. For multiple shot type of drive modes, this value will be the number of images exposed till now.

GetNumTotalImagesL(TUint &)

void GetNumTotalImagesL ( TUint & aNumTotalImages ) const [pure virtual]

Retrieves the total number of images which is supposed to be captured with respect to a specific image capture command.

Note:

May leave with any error code.

Parameters

TUint & aNumTotalImages Retrieves the total number of images supposed to be captured. For single shot type of drive modes, this value will be always be one. For multiple shot type of drive modes, this value will be greater than one.

GetPostCaptureControlHandleL(CCamera::CCameraPostImageCaptureControl *&, TPostCaptureControlId)

void GetPostCaptureControlHandleL ( CCamera::CCameraPostImageCaptureControl *& aPostCaptureControlHandle,
TPostCaptureControlId aPostCaptureControlId
) const [pure virtual]

Retrieves the post capture control handle based on the ID passed to it. Client may use this handle for post capture operations of the image identified by the ID. The ID is received by the clients through MCaptureImageObserver callbacks.

Note:

May leave with any error code.

It is this implementation which creates/owns CCameraPostImageCaptureControl class object after receiving image capture requests by the client. Implementation may store all such mappings between aPostCaptureControlId and CCameraPostImageCaptureControl* for a particular instance of CCameraImageCapture.

Parameters

CCamera::CCameraPostImageCaptureControl *& aPostCaptureControlHandle Retrieves pointer to the post capture control class object.
TPostCaptureControlId aPostCaptureControlId The ID used to retrieve the post capture control handle of the captured image.

GetPrepareImageParametersL(CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)

void GetPrepareImageParametersL ( CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters ) const [pure virtual]

Retrieves the prepare image parameters tied with this image capture class object.

leave
May leave with any error code

Parameters

CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters TPrepareImageParameters tied with this image capture class object.

GetSnapshotImplFactoryL(MImplementationFactory *&)

void GetSnapshotImplFactoryL ( MImplementationFactory *& aImplFactoryPtr ) const [pure virtual]

Retrieves the concrete factory handle for the snapshot implementation in order to use it specifically for a specific still image capture.

leave
May leave with any error code.

Parameters

MImplementationFactory *& aImplFactoryPtr The concrete factory handle for the snapshot implementation specific to the still image capture.

PauseProcessing(TUint)

void PauseProcessing ( TUint aProcessingTypes ) [pure virtual]

Pauses processing options associated with the concerned Capture Image operation.

Parameters

TUint aProcessingTypes The processing options which need to be paused.

Release(CCamera::CCameraImageCapture *)

void Release ( CCamera::CCameraImageCapture * aCameraImageCapture ) [pure virtual]

Releases the interface.

Parameters

CCamera::CCameraImageCapture * aCameraImageCapture The pointer to the image capture class object which would be destroyed by the client.

ResumeProcessingL(TUint)

void ResumeProcessingL ( TUint aProcessingTypes ) [pure virtual]

Resumes processing options associated with the concerned Capture Image operation.

leave
May leave with any error code.

Parameters

TUint aProcessingTypes The processing options which need to be resumed.

SetCaptureImageObserver(MCaptureImageObserver &)

void SetCaptureImageObserver ( MCaptureImageObserver & aCaptureImageObserver ) [pure virtual]

The observer for the image capture is passed to the implementation for passing callbacks on it.

Parameters

MCaptureImageObserver & aCaptureImageObserver The reference to the capture image observer.

SetCaptureImagePriorityL(TECamImagePriority)

void SetCaptureImagePriorityL ( TECamImagePriority aCaptureImagePriority ) [pure virtual]

Prioritises the Capture Image operation. This implies that the processing options associated with the concerned Capture Image operation will be prioritised over other pending processing options.

leave
May leave with any error code.

Parameters

TECamImagePriority aCaptureImagePriority The desired level of priority.

SetPrepareImageParameters(const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)

void SetPrepareImageParameters ( const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters ) [pure virtual]

The prepare image parameters needed to capture images using the particular capture image class object.

Parameters

const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters The prepare image parameters used to capture images.