MCameraAdvancedSettings4 Class Reference

class MCameraAdvancedSettings4

Mixin class for implementation by providers of 'advanced camera feature extensions' of the Advanced Settings Camera Extension API.

Member Functions Documentation

CreateContinuousZoomImplFactoryL(MImplementationFactory *&)

voidCreateContinuousZoomImplFactoryL(MImplementationFactory *&aImplFactoryPtr)const [pure virtual]

Retrieves the concrete factory handle for the continuous zoom implementation.

leave
May leave with any error code.

Parameters

MImplementationFactory *& aImplFactoryPtrThe concrete factory handle for the continuous zoom implementation.

EnumerateOperationPreferenceL(TUint, CCamera::CCameraAdvancedSettings::TPerformanceLevel &, CCamera::CCameraAdvancedSettings::TPerformanceLevel &, CCamera::CCameraAdvancedSettings::TPerformanceLevel &, CCamera::CCameraAdvancedSettings::TPerformanceLevel &)

voidEnumerateOperationPreferenceL(TUintaOperationPreferenceIndex,
CCamera::CCameraAdvancedSettings::TPerformanceLevel &aSpeedLevel,
CCamera::CCameraAdvancedSettings::TPerformanceLevel &aQualityLevel,
CCamera::CCameraAdvancedSettings::TPerformanceLevel &aLowMemoryConsumptionLevel,
CCamera::CCameraAdvancedSettings::TPerformanceLevel &aLowPowerConsumptionLevel
)const [pure virtual]

Enumerate the available operation preferences.

Note:

It is up to the implementation how the performance levels are achieved. For example, shutter opening, JPEQ quality and parallel buffering in case of streamed image output can be controlled in order to provide the desired performance.

leave
May leave with any error code.

Parameters

TUint aOperationPreferenceIndexA particular index which represents an operation preference. The level of different performance vectors may be known through other arguments. This varies from 0 to n-1, where n is given by GetNumOperationPreferenceL(n).
CCamera::CCameraAdvancedSettings::TPerformanceLevel & aSpeedLevelA TPerformanceLevel which specifies the speed level related to the index aOperationPreferenceIndex.
CCamera::CCameraAdvancedSettings::TPerformanceLevel & aQualityLevelA TPerformanceLevel which specifies the quality level related to the index aOperationPreferenceIndex.
CCamera::CCameraAdvancedSettings::TPerformanceLevel & aLowMemoryConsumptionLevelA TPerformanceLevel which specifies the low memory consumption level related to the index aOperationPreferenceIndex. The lower the memory consumption, the higher the level.
CCamera::CCameraAdvancedSettings::TPerformanceLevel & aLowPowerConsumptionLevelA TPerformanceLevel which specifies the low power consumption level related to the index aOperationPreferenceIndex. The lower the power consumption, the higher the level.

GetFocalLengthInfoL(TInt &, TInt &, TInt &)

voidGetFocalLengthInfoL(TInt &aMinFocalLength,
TInt &aCurrentFocalLength,
TInt &aMaxFocalLength
)const [pure virtual]

Retrieves the minimum, current and maximum focal length in millimeters. This information is useful to find out which zoom directions can be used on the fly.

leave
May leave with any error code.

Parameters

TInt & aMinFocalLengthMinimum focal length if positive. Error value if negative (for example, KErrNotFound if information not available).
TInt & aCurrentFocalLengthCurrent focal length if positive. Error value if negative (for example, KErrNotFound if information not available).
TInt & aMaxFocalLengthMaximum focal length if positive. Error value if negative (for example, KErrNotFound if information not available).

GetIndirectFeatureChangesL(TUid, RArray< TUid > &)

voidGetIndirectFeatureChangesL(TUidaRequestedSetting,
RArray< TUid > &aIndirectFeatureChanges
)const [pure virtual]

Retrieves the indirect feature changes which occur because of a particular requested feature change. Since the camera setting operation is asynchronous in nature, changing a particular camera feature, in certain cases, involves indirectly changing another feature. In order to notify the ECam client about this indirect feature change, event KUidECamEvent2IndirectFeatureChange is issued. After this notification, the client may use this method to retrieve the full list of indirect feature changes.

leave
May leave with any error code.

Parameters

TUid aRequestedSettingThe actual requested feature change. This uid is supposed to be ECAM component wide and not restricted to advanced camera settings.
RArray< TUid > & aIndirectFeatureChangesAn array of uids which retrieves the indirect feature changes. These uids are supposed to be ECAM component wide and not restricted to advanced camera settings.

GetNumOperationPreferenceL(TUint &)

voidGetNumOperationPreferenceL(TUint &aNumOperationPreferenceSupported)const [pure virtual]

Retrieves the total number of operation preferences supported by the implementation. Operation preferences are specified in terms of performance vectors, that is, speed, quality, low memory consumption and low power consumption.

leave
May leave with any error code.

Parameters

TUint & aNumOperationPreferenceSupportedRetrieves the number of operation preferences supported.

GetOperationPreferenceL(TInt &)

voidGetOperationPreferenceL(TInt &aOperationPreferenceIndex)const [pure virtual]

Get the current operation preference being used.

leave
May leave with any error code.

Parameters

TInt & aOperationPreferenceIndexCurrently used operation preference index.

GetSupportedContinuousZoomTypeL(TUint &)

voidGetSupportedContinuousZoomTypeL(TUint &aSupportedContinuousZoomType)const [pure virtual]

Retrieves the supported continuous zoom types.

leave
May leave with any error code.

Parameters

TUint & aSupportedContinuousZoomTypeRetrieves a bitfield of TUint which indicates the supported continuous zoom type as given by CCamera::CCameraAdvancedSettings::TContinuousZoomType

GetSupportedEventsL(RArray< TUid > &)

voidGetSupportedEventsL(RArray< TUid > &aSupportedEvents)const [pure virtual]

Retrieves the event uids which the underlying implementation supports. The client may use these events notifications as milestones in their application.

leave
May leave with any error code.
Note:

This method may retrieve unrecognized events which may be introduced later on.

Parameters

RArray< TUid > & aSupportedEventsRetrieves as array of TUid. Every member of the array represents a supported event uid. These events are ECAM component wide.

Release()

voidRelease()[pure virtual]

Releases the interface.

SetOperationPreference(TUint)

voidSetOperationPreference(TUintaOperationPreferenceIndex)[pure virtual]

Set a particular operation preference.

Note:

Event KUidECamEventCameraSettingOperationPreference is used to notify clients about setting an operation preference.

Parameters

TUint aOperationPreferenceIndexAn index which reveals a set of levels to be used for performance vectors, that is, speed, quality, low memory consumption and low power consumption.