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()

voidCancelCaptureImage()[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 *)

voidCaptureImage(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 * aCameraImageCapturePointer 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 *&)

voidCreateHistogramImplFactoryL(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 *& aImplFactoryPtrThe concrete factory handle for the histogram implementation specific to the still image capture.

CreatePostImageCaptureControlImpl(TUid, TPostCaptureControlId)

TAny *CreatePostImageCaptureControlImpl(TUidaInterface,
TPostCaptureControlIdaPostCaptureControlId
)[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 aInterfaceThe uid representing the interface required.
TPostCaptureControlId aPostCaptureControlIdThe ID which maps the individual image with the CCameraPostImageCaptureControl object. This may be stored by the concrete implementation of CCameraPostImageCaptureControl.

GetCaptureImagePriorityL(TECamImagePriority &)

voidGetCaptureImagePriorityL(TECamImagePriority &aCaptureImagePriority)const [pure virtual]

Retrieves the priority of the Capture Image operation.

leave
May leave with any error code.

Parameters

TECamImagePriority & aCaptureImagePriorityRetrieves the current level of priority.

GetImageProcessingImplFactoryL(MImplementationFactory *&)

voidGetImageProcessingImplFactoryL(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 *& aImplFactoryPtrThe concrete factory handle for the image processing implementation specific to the still image capture.

GetNumImagesExposedL(TUint &)

voidGetNumImagesExposedL(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 & aNumImagesExposedRetrieves 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 &)

voidGetNumTotalImagesL(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 & aNumTotalImagesRetrieves 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)

voidGetPostCaptureControlHandleL(CCamera::CCameraPostImageCaptureControl *&aPostCaptureControlHandle,
TPostCaptureControlIdaPostCaptureControlId
)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 *& aPostCaptureControlHandleRetrieves pointer to the post capture control class object.
TPostCaptureControlId aPostCaptureControlIdThe ID used to retrieve the post capture control handle of the captured image.

GetPrepareImageParametersL(CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)

voidGetPrepareImageParametersL(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 & aPrepareImageParametersTPrepareImageParameters tied with this image capture class object.

GetSnapshotImplFactoryL(MImplementationFactory *&)

voidGetSnapshotImplFactoryL(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 *& aImplFactoryPtrThe concrete factory handle for the snapshot implementation specific to the still image capture.

PauseProcessing(TUint)

voidPauseProcessing(TUintaProcessingTypes)[pure virtual]

Pauses processing options associated with the concerned Capture Image operation.

Parameters

TUint aProcessingTypesThe processing options which need to be paused.

Release(CCamera::CCameraImageCapture *)

voidRelease(CCamera::CCameraImageCapture *aCameraImageCapture)[pure virtual]

Releases the interface.

Parameters

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

ResumeProcessingL(TUint)

voidResumeProcessingL(TUintaProcessingTypes)[pure virtual]

Resumes processing options associated with the concerned Capture Image operation.

leave
May leave with any error code.

Parameters

TUint aProcessingTypesThe processing options which need to be resumed.

SetCaptureImageObserver(MCaptureImageObserver &)

voidSetCaptureImageObserver(MCaptureImageObserver &aCaptureImageObserver)[pure virtual]

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

Parameters

MCaptureImageObserver & aCaptureImageObserverThe reference to the capture image observer.

SetCaptureImagePriorityL(TECamImagePriority)

voidSetCaptureImagePriorityL(TECamImagePriorityaCaptureImagePriority)[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 aCaptureImagePriorityThe desired level of priority.

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

voidSetPrepareImageParameters(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 & aPrepareImageParametersThe prepare image parameters used to capture images.