CCamera::CCameraPostImageCaptureControl Class Reference

class CCamera::CCameraPostImageCaptureControl : public CBase

CCameraPostImageCaptureControl 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.

CCameraPostImageCaptureControl instances will be owned by CCameraImageCapture and would be available until new capture command is issued using the owning CCameraImageCapture instance. If client wishes to initiate new capture but preserve the CCameraPostImageCaptureControl instances from previous capture, it would have to create a new CCameraImageCapture instance and use that for the new capture.

Note:

This class is not intended for sub-classing and used to standardise existing varieties of implementations.

If the class methods leave, the output type parameter value is not guaranteed to be valid.

The use of this class implies that client will be able to issue image capture call even if previous captures are still outstanding.

Clients must implement an MCaptureImageObserver in order to use this CCameraPostImageCaptureControl API. MCameraObserver2::ImageBufferReady will not be used with this class.

Inherits from

  • CCamera::CCameraPostImageCaptureControl

Constructor & Destructor Documentation

CCameraPostImageCaptureControl(CCamera::CCameraImageCapture *, TPostCaptureControlId)

CCameraPostImageCaptureControl ( CCamera::CCameraImageCapture * aCameraImageCapture,
TPostCaptureControlId aPostCaptureControlId
) [private]

Parameters

CCamera::CCameraImageCapture * aCameraImageCapture
TPostCaptureControlId aPostCaptureControlId

~CCameraPostImageCaptureControl()

IMPORT_C ~CCameraPostImageCaptureControl ( )

Destructor

Member Functions Documentation

CancelImage()

IMPORT_C void CancelImage ( )

Cancels the outstanding individual image which the object of this class is referring to. This will also cancel any outstanding processing options associated with this individual image. This method is synchronous. Hence, no callback shall be received for this individual image.

ConstructL()

void ConstructL ( ) [private]

CCameraPostImageCaptureControl second phase constructor.

Function used to initialise internal state of the object. Uses CCameraImageCapture* to retrieve CCameraPostImageCaptureControl interface pointer. This interface pointer is provided by 'CCameraImageCapture interface'.

leave
KErrNoMemory Out of memory or any other system-wide error code

CreateL(CCameraImageCapture *, TPostCaptureControlId)

IMPORT_C CCameraPostImageCaptureControl * CreateL ( CCameraImageCapture * aCameraImageCapture,
TPostCaptureControlId aPostCaptureControlId
) [static]

Factory function for creating the CCameraPostImageCaptureControl object for every individual image to be captured. This method is supposed to be called only by concrete implementation of MCameraImageCapture . It will be the client's responsibility to destroy it whenever it does not need it any more. (Possible milestone for deletion: Individual image cancellation completed, individual image saved). Previously created CCameraPostImageCaptureControl objects for the CCameraImageCapture object will become unavailable if CaptureImage() is called while previous call on the same object is still outstanding.

leave
KErrNoMemory Out of memory Or any other system-wide error code.

Parameters

CCameraImageCapture * aCameraImageCapture A pointer to the CCameraImageCapture which was used to issue the Capture Image call.
TPostCaptureControlId aPostCaptureControlId The ID used for identification of the post capture control class object by the clients. The ID is passed by the implementation while creating this object.

GetBufferStateL(TBufferState &)

IMPORT_C void GetBufferStateL ( TBufferState & aBufferState ) const

Retrieves the state of the individual image buffer.

leave
May leave with any error code.

Parameters

TBufferState & aBufferState Retrieves the current state of the individual image buffer.

GetImageBufferL(MCameraImageBuffer &)

IMPORT_C void GetImageBufferL ( MCameraImageBuffer & aCameraImageBuffer ) const

Retrieves the image buffer which contains the individual image captured. This method should be called by the client as a result of receiving the callback MCaptureImageObserver::ImageBufferReady() , if the error information received is satisfactory.

leave
May leave with any error code.

Parameters

MCameraImageBuffer & aCameraImageBuffer A reference to an MCameraImageBuffer if successful, or NULL if not successful.

GetImagePriorityL(TECamImagePriority &)

IMPORT_C void GetImagePriorityL ( TECamImagePriority & aImagePriority ) const

Retrieves the priority of the individual image which the object of this class is referring to.

leave
May leave with any error code.

Parameters

TECamImagePriority & aImagePriority The current level of priority.

GetImageSequenceNumberL(TUint &)

IMPORT_C void GetImageSequenceNumberL ( TUint & aSequenceNumber ) const

Retrieves the sequence number of the image being represented by this post capture control object. The sequence number specifies the index of the individual image if, in case, the multiple shot type of drive mode is being used. The first individual image which is exposed to the sensor has a sequence number of zero. In case of single shot type of drive mode, the sequence number will be zero.

leave
May leave with any error code.

Parameters

TUint & aSequenceNumber Retrieves the sequence number of the image.

GetImageStateL(TImageState &)

IMPORT_C void GetImageStateL ( TImageState & aImageState ) const

Retrieves the state of the individual image which the object of this class is referring to.

leave
May leave with any error code.

Parameters

TImageState & aImageState Retrieves the current state of the individual image.

GetPostCaptureControlId(TPostCaptureControlId &)

IMPORT_C void GetPostCaptureControlId ( TPostCaptureControlId & aPostCaptureControlId ) const

Retrieves the ID which this class object represents. The ID is unique for this class object and is used for identification purpose.

Parameters

TPostCaptureControlId & aPostCaptureControlId Reference to the post capture control ID.

ImageCaptureHandle()

IMPORT_C CCamera::CCameraImageCapture * ImageCaptureHandle ( ) const

Retrieves the CCameraImageCapture* associated with the object of this class. This implies that the individual image, which the object of this class is referring to, belongs to the CaptureImage operation issued by CCameraImageCapture* object.

PauseProcessing(TUint)

IMPORT_C void PauseProcessing ( TUint aProcessingTypes )

Pauses processing options associated with the individual image which the object of this class is referring to.

Parameters

TUint aProcessingTypes The processing options which need to be paused.

ResumeProcessingL(TUint)

IMPORT_C void ResumeProcessingL ( TUint aProcessingTypes )

Resumes processing options associated with the individual image which the object of this class is referring to.

leave
May leave with any error code.

Parameters

TUint aProcessingTypes The processing options which need to be resumed.

SetImagePriorityL(TECamImagePriority)

IMPORT_C void SetImagePriorityL ( TECamImagePriority aImagePriority )

Prioritises the individual image which the object of this class is referring to. This implies that any processing options associated with this individual image will be prioritised over other pending processing options.

leave
May leave with any error code.

Parameters

TECamImagePriority aImagePriority The desired level of priority.

Member Enumerations Documentation

Enum TBufferState

Specifies the various states in which the individual image buffers could be. The enumeration list may be extended in future.

Enumerators

EBufferNotPresent

If Direct Saving option used, then user accessible buffers are not present. Hence buffer state will always be EBufferNotPresent. If Direct Saving option not used, this buffer state implies that processing options have not been completed.

EBufferReady

This buffer state implies that processing options have been completed. Client may retrieve the image buffers once this state is reached.

EBufferReleased

This buffer state implies that client has released the image buffers after retrieving the data.

Enum TImageState

Specifies the various states in which the individual images could be. The enumeration list may be extended in future.

Enumerators

EProcessingPending

The image has been exposed to the sensor but still pending for any processing options.

EProcessingOngoing

The image is undergoing processing for the required processing options.

EProcessingCancelled

The processing options associated with the image has been cancelled.

EProcessingCompleted

The processing options associated with the image has been completed. This implies that either the image buffers are ready or the image is directly saved to the file.

Member Data Documentation

CCamera::CCameraImageCapture * iCameraImageCapture

CCamera::CCameraImageCapture * iCameraImageCapture [private]

MCameraPostImageCaptureControl * iImpl

MCameraPostImageCaptureControl * iImpl [private]

TPostCaptureControlId iPostCaptureControlId

TPostCaptureControlId iPostCaptureControlId [private]