CCamera::CCameraAdvancedSettings Class Reference

class CCamera::CCameraAdvancedSettings : public CBase

CCamera advanced settings class exposes an API for controlling individually digital camera advanced settings. These settings directly relate to the image acquisition phase both for still images and video.

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.

Inherits from

  • CCamera::CCameraAdvancedSettings
Public Member Functions
~CCameraAdvancedSettings()
IMPORT_C TIntAperture()
IMPORT_C TBoolApertureExposureLockOn()
IMPORT_C TAutoFocusAreaAutoFocusArea()
IMPORT_C TBoolAutoFocusLockOn()
IMPORT_C TAutoFocusTypeAutoFocusType()
IMPORT_C TBoolAutomaticSizeSelectionChangeOn()
IMPORT_C TBracketModeBracketMode()
IMPORT_C TBracketParameterBracketParameter()
IMPORT_C TBracketStepBracketStep()
IMPORT_C TIntBurstImages()
IMPORT_C TIntCameraIndex()
IMPORT_C TCameraTypeCameraType()
IMPORT_C TCameraTypeCameraType(TInt)
IMPORT_C TIntContinuousAutoFocusTimeout()
IMPORT_C voidCreateContinuousZoomL(MContinuousZoomObserver &, TContinuousZoomType, CCameraContinuousZoom *&)
IMPORT_C TIntDigitalZoom()
IMPORT_C TDriveModeDriveMode()
IMPORT_C voidEnumerateOperationPreferenceL(TUint, TPerformanceLevel &, TPerformanceLevel &, TPerformanceLevel &, TPerformanceLevel &)
IMPORT_C TIntExposureCompensation()
IMPORT_C TIntExposureCompensationStep()
IMPORT_C TBoolExposureLockOn()
IMPORT_C CCamera::TExposureExposureMode()
IMPORT_C TIntFlashCompensation()
IMPORT_C TIntFlashCompensationStep()
IMPORT_C CCamera::TFlashFlashMode()
IMPORT_C TIntFocusDistance()
IMPORT_C TFocusModeFocusMode()
IMPORT_C TFocusRangeFocusRange()
IMPORT_C voidGetAFAssistantLightL(TAFAssistantLight &)
IMPORT_C voidGetActiveSettingsL(RArray< TUid > &)
IMPORT_C voidGetAperturesL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetBracketMerge(TInt &, TInt &)
IMPORT_C voidGetCurrentFocusModeStepsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetDigitalZoomStepsForStillL(RArray< TInt > &, TValueInfo &, TInt, CCamera::TFormat, TBool &)
IMPORT_C voidGetDigitalZoomStepsForVideoL(RArray< TInt > &, TValueInfo &, TInt, TInt, CCamera::TFormat, TBool &, CCamera::TExposure)
IMPORT_C voidGetDigitalZoomStepsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetDisabledSettingsL(RArray< TUid > &)
IMPORT_C TIntGetExposureCompensation(TInt &)
IMPORT_C voidGetExposureCompensationRangeInSteps(TInt &, TInt &)
IMPORT_C TIntGetExposureCompensationStep(TInt &)
IMPORT_C voidGetExposureCompensationStepsL(RArray< TInt > &, TValueInfo &)
IMPORT_C TIntGetFlashCompensation(TInt &)
IMPORT_C voidGetFlashCompensationRangeInSteps(TInt &, TInt &)
IMPORT_C TIntGetFlashCompensationStep(TInt &)
IMPORT_C voidGetFlashCompensationStepsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetFocalLengthInfoL(TInt &, TInt &, TInt &)
IMPORT_C voidGetISORateL(TISORateType &, TInt &, TInt &)
IMPORT_C voidGetIndirectFeatureChangesL(TUid, RArray< TUid > &)
IMPORT_C voidGetManualFlashPowerLevelsL(RArray< TInt > &, TValueInfo &)
IMPORT_C TIntGetMinFocalLength()
IMPORT_C voidGetNumOperationPreferenceL(TUint &)
IMPORT_C voidGetOperationPreferenceL(TInt &)
IMPORT_C voidGetOpticalZoomStepsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetPreCaptureWarningL(TInt &)
IMPORT_C voidGetPreCaptureWarningSupportedL(TCameraMode, TInt &)
IMPORT_C voidGetShutterSpeedsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetSupportedAFAssistantLightL(TInt &)
IMPORT_C voidGetSupportedContinuousAutoFocusTimeoutsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetSupportedContinuousZoomTypeL(TUint &)
IMPORT_C voidGetSupportedEventsL(RArray< TUid > &)
IMPORT_C voidGetSupportedISORateTypeL(TInt &)
IMPORT_C voidGetSupportedIsoRatesL(RArray< TInt > &)
IMPORT_C voidGetSupportedSettingsL(RArray< TUid > &)
IMPORT_C voidGetTimeLapse(TTime &, TTime &, TTime &)
IMPORT_C voidGetTimeLapsePeriodRange(TTime &, TTime &)
IMPORT_C voidGetTimerIntervalsL(RArray< TInt > &, TValueInfo &)
IMPORT_C voidGetWBRgbValue(TRgb &)
IMPORT_C voidGetWBSupportedColorTemperaturesL(RArray< TInt > &, TValueInfo &)
IMPORT_C TBoolIsCameraPresent()
IMPORT_C TBoolIsCameraPresent(TInt)
IMPORT_C TBoolIsExternalFlashPresent()
IMPORT_C TIntIsFlashReady(TBool &)
IMPORT_C TIntIsoRate()
IMPORT_C TIntManualFlashPowerLevel()
IMPORT_C TMeteringModeMeteringMode()
IMPORT_C CCameraAdvancedSettings *NewL(CCamera &)
IMPORT_C TIntOpticalZoom()
IMPORT_C TPictureOrientationPictureOrientation()
IMPORT_C TPixelAspectRatioPixelAspectRatio()
IMPORT_C TBoolRedEyeReduceOn()
IMPORT_C voidSetAFAssistantLightL(TAFAssistantLight)
IMPORT_C voidSetAperture(TInt)
IMPORT_C voidSetApertureExposureLockOn(TBool)
IMPORT_C voidSetAutoFocusArea(TAutoFocusArea)
IMPORT_C voidSetAutoFocusLockOn(TBool)
IMPORT_C voidSetAutoFocusType(TAutoFocusType)
IMPORT_C voidSetAutomaticSizeSelectionChangeOn(TBool)
IMPORT_C voidSetBracketMerge(TInt, TInt)
IMPORT_C voidSetBracketMode(TBracketMode)
IMPORT_C voidSetBracketParameter(TBracketParameter)
IMPORT_C voidSetBracketStep(TBracketStep)
IMPORT_C voidSetBurstImages(TInt)
IMPORT_C voidSetContinuousAutoFocusTimeout(TInt)
IMPORT_C voidSetDigitalZoom(TInt)
IMPORT_C voidSetDriveMode(TDriveMode)
IMPORT_C voidSetExposureCompensation(TInt)
IMPORT_C voidSetExposureCompensationStep(TInt)
IMPORT_C voidSetExposureLockOn(TBool)
IMPORT_C voidSetExposureMode(CCamera::TExposure)
IMPORT_C voidSetFlashCompensation(TInt)
IMPORT_C voidSetFlashCompensationStep(TInt)
IMPORT_C voidSetFlashMode(CCamera::TFlash)
IMPORT_C voidSetFocusDistance(TInt)
IMPORT_C voidSetFocusMode(TFocusMode)
IMPORT_C voidSetFocusRange(TFocusRange)
IMPORT_C voidSetISORateL(TISORateType, TInt)
IMPORT_C voidSetIsoRate(TInt)
IMPORT_C voidSetManualFlashPowerLevel(TInt)
IMPORT_C voidSetMeteringMode(TMeteringMode)
IMPORT_C voidSetOperationPreferenceL(TUint)
IMPORT_C voidSetOpticalZoom(TInt)
IMPORT_C voidSetPictureOrientation(TPictureOrientation)
IMPORT_C voidSetPixelAspectRatio(TPixelAspectRatio)
IMPORT_C voidSetRedEyeReduceOn(TBool)
IMPORT_C voidSetReferenceScreenL(CWsScreenDevice &)
IMPORT_C voidSetShootClickOn(TBool)
IMPORT_C voidSetShutterSpeed(TInt)
IMPORT_C voidSetStabilizationComplexity(TStabilizationAlgorithmComplexity)
IMPORT_C voidSetStabilizationEffect(TStabilizationEffect)
IMPORT_C voidSetStabilizationMode(TStabilizationMode)
IMPORT_C voidSetTimeLapse(const TTime &, const TTime &, const TTime &)
IMPORT_C voidSetTimerInterval(TInt)
IMPORT_C voidSetWBColorTemperature(TInt)
IMPORT_C voidSetWBRgbValue(const TRgb &)
IMPORT_C voidSetWhiteBalanceMode(CCamera::TWhiteBalance)
IMPORT_C voidSetYuvRange(TYuvRange)
IMPORT_C TBoolShootClickOn()
IMPORT_C TIntShutterSpeed()
IMPORT_C TStabilizationAlgorithmComplexityStabilizationComplexity()
IMPORT_C TStabilizationEffectStabilizationEffect()
IMPORT_C TStabilizationModeStabilizationMode()
IMPORT_C voidSubscribeToPreCaptureWarningL(TInt)
IMPORT_C TIntSupportedAutoFocusAreas()
IMPORT_C TIntSupportedAutoFocusTypes()
IMPORT_C TIntSupportedBracketModes()
IMPORT_C TIntSupportedBracketParameters()
IMPORT_C TIntSupportedBracketSteps()
IMPORT_C TIntSupportedDriveModes()
IMPORT_C TIntSupportedExposureModes()
IMPORT_C TIntSupportedFlashModes()
IMPORT_C TIntSupportedFocusModes()
IMPORT_C TIntSupportedFocusRanges()
IMPORT_C TIntSupportedMeteringModes()
IMPORT_C TIntSupportedPixelAspectRatios()
IMPORT_C TIntSupportedStabilizationComplexityValues()
IMPORT_C TIntSupportedStabilizationEffects()
IMPORT_C TIntSupportedStabilizationModes()
IMPORT_C TWBUnitsSupportedWBUnits()
IMPORT_C TIntSupportedWhiteBalanceModes()
IMPORT_C TIntSupportedYuvRanges()
IMPORT_C TIntTimerInterval()
IMPORT_C voidUnSubscribePreCaptureWarningL()
IMPORT_C TIntWBColorTemperature()
IMPORT_C CCamera::TWhiteBalanceWhiteBalanceMode()
IMPORT_C TYuvRangeYuvRange()
Private Member Functions
CCameraAdvancedSettings(CCamera &)
IMPORT_C voidConstructL()
voidDisableCameraStateSavingL(RWriteStream &)
voidDisableStateSavingL()
voidEnableStateSavingL(RWriteStream &)
voidGetFlickerRemovalValueL(TFlickerRemoval &)
voidGetLEDEffectL(TLEDEvent, TLEDEffect &)
voidGetManualGainL(TInt &, TColorChannel)
voidGetNDFilterL(TNDFilter &)
voidGetRegisterEventsL(TECAMEventFilterScheme, RArray< TUid > &, TValueInfo &)
voidGetSupportedFlickerRemovalValueL(TUint &)
voidGetSupportedManualGainL(RArray< TInt > &, TColorChannel)
voidGetSupportedNDFilterL(TUint &)
voidGetWhiteBalanceLockStateL(TBool &)
voidRegisterEventsL(TECAMEventFilterScheme, const RArray< TUid > &)
voidReserveL(const TTimeIntervalMicroSeconds32 &, TBool)
voidRestoreCameraStateL(RReadStream &)
voidRestoreClientPriorityL()
voidRestoreLatestStateL(RReadStream &)
voidSaveCameraStateL(RWriteStream &)
voidSetClientPriorityL(TInt)
voidSetFlickerRemovalValueL(TFlickerRemoval)
voidSetLEDCustomEffectL(TLEDEvent, const RArray< TECamLEDSpecialEffectStep > &)
voidSetLEDEffectL(TLEDEvent, TLEDEffect)
voidSetManualGainL(TInt, TColorChannel)
voidSetNDFilterL(TNDFilter)
voidSetWhiteBalanceLockL(TBool)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTAFAssistantLight { EAFAssistantLightOff = 0x00, EAFAssistantLightManualOn = 0x01, EAFAssistantLightAuto = 0x02 }
enumTAutoFocusArea { EAutoFocusTypeAuto = 0x00, EAutoFocusTypeSingleArea = 0x01, EAutoFocusTypeMultiAreaCentered = 0x02 }
enumTAutoFocusType { EAutoFocusTypeOff = 0x00, EAutoFocusTypeSingle = 0x01, EAutoFocusTypeContinuous = 0x02 }
enumTBracketMode { EBracketModeOff = 0x0000, EBracketMode3Image = 0x0001, EBracketMode5Image = 0x0002 }
enumTBracketParameter {
EBracketParameterNone = 0x0000, EBracketParameterExposure = 0x0001, EBracketParameterFlashPower = 0x0002, EBracketParameterColourBalance = 0x0004, BracketParameterAperture = 0x0008, BracketParameterAutoFocus = 0x0010
}
enumTBracketStep { EBracketStepNonConfig = 0x00, EBracketStepSmall = 0x01, EBracketStepMedium = 0x02, EBracketStepLarge = 0x04 }
enumTCameraMode { EModeIdle = 0x00, EModeDSAViewFinder = 0x01, EModeClientViewFinder = 0x02 }
enumTCameraType { ECameraUnknown = 0x00, ECameraOnBoard = 0x01, ECameraPluggable = 0x02 }
enumTColorChannel {
EColorChannelRed, EColorChannelGreen, EColorChannelBlue, EChannelLumaY, EChannelChromaU, EChannelChromaV
}
enumTContinuousZoomType { EContinuousZoomNotSupported = 0x00, EContinuousZoomOpticalOnly = 0x01, EContinuousZoomMixed = 0x02, EContinuousZoomDigitalOnly = 0x04 }
enumTDriveMode {
EDriveModeAuto = 0x0000, EDriveModeSingleShot = 0x0001, EDriveModeContinuous = 0x0002, EDriveModeBracket = 0x0004, EDriveModeBracketMerge = 0x0008, EDriveModeTimed = 0x0010, EDriveModeTimeLapse = 0x0020, EDriveModeBurst = 0x0040, EDriveModeTimeNudgeCapture = 0x0080
}
enumTFlickerRemoval { EFlickerRemovalNone = 0x00, EFlickerRemoval50Hz = 0x01, EFlickerRemoval60Hz = 0x02, EFlickerRemovalAuto = 0x04, EFlickerRemovalSwitchOff = 0x08 }
enumTFocusMode { EFocusModeUnknown = 0x00, EFocusModeAuto = 0x01, EFocusModeFixed = 0x02, EFocusModeManual = 0x04 }
enumTFocusRange {
EFocusRangeAuto = 0x00, EFocusRangeMacro = 0x01, EFocusRangeNormal = 0x02, EFocusRangeTele = 0x04, EFocusRangePortrait = 0x08, EFocusRangeSuperMacro = 0x10, EFocusRangeHyperfocal = 0x20, EFocusRangeInfinite = 0x40
}
enumTISORateType {
EISONone = 0x00, EISOManual = 0x01, EISOAutoUnPrioritised = 0x02, EISOAutoISOPrioritised = 0x04, EISOAutoShutterSpeedPrioritised = 0x08, EISOAutoAperturePrioritised = 0x10
}
enumTLEDEffect {
ELEDEffectNone = 0x00, ELEDEffectHardwired = 0x01, ELEDEffectAuto = 0x02, ELEDEffectManualSwitchOn = 0x04, ELEDEffectSwitchOff = 0x08, ELEDEffectCustom = 0x10
}
enumTLEDEvent {
ELEDEventNone = 0x00, ELEDEventSelfTimer = 0x01, ELEDEventViewfinderStart = 0x02, ELEDEventViewfinderStop = 0x04, ELEDEventStillImageCapture = 0x08, ELEDEventVideoRecording = 0x10
}
enumTMeteringMode { EMeteringModeAuto = 0x0000, EMeteringModeCenterWeighted = 0x0001, EMeteringModeSpot = 0x0002, EMeteringModeEvaluative = 0x0004 }
enumTNDFilter {
ENDFilterNone = 0x00, ENDFilterAuto = 0x01, ENDFilterSwitchedOff = 0x02, ENDFilterHigh = 0x04, ENDFilterMedium = 0x08, ENDFilterLow = 0x10, ENDFilterGeneral = 0x20
}
enumTPerformanceLevel { ELevelHigh = 1, ELevelMedium = 2, ELevelLow = 3, ELevelDontCare = 4 }
enumTPictureOrientation { EPictureOrientationUnknown = 0x00, EPictureOrientationPortrait = 0x01, EPictureOrientationLandscape = 0x02, EPictureOrientationSquare = 0x04 }
enumTPixelAspectRatio {
EPixelAspectUnknown = 0x00, EPixelAspect1To1 = 0x01, EPixelAspect12To11 = 0x02, EEPixelAspect11To10 = 0x04, EEPixelAspect59To54 = 0x08, EEPixelAspect16To11 = 0x10, EEPixelAspect10To11 = 0x20, EEPixelAspect40To33 = 0x40
}
enumTPreCaptureWarning {
EPCWNone = 0x0000, EPCWOverExposure = 0x0001, EPCWUnderExposure = 0x0002, EPCWLowLight = 0x0004, EPCWBadFocus = 0x0008, EPCWHandShakePossible = 0x0010, EPCWNotEnoughPowerForFlash = 0x0020, EPCWWrongWhiteBalanceValue = 0x0040, EPCWWrongFlashValue = 0x0080, EPCWWrongDigiZoomValue = 0x0100, EPCWDigiZoomBadQuality = 0x0200, EPCWFlashNotReady = 0x0400, EPCWGeneralWarning = 0x0800, EPCWFlashOverheated = 0x1000, EPCWFlashNotNeeded = 0x2000
}
enumTStabilizationAlgorithmComplexity { EStabilizationComplexityAuto = 0x00, EStabilizationComplexityLow = 0x01, EStabilizationComplexityMedium = 0x02, EStabilizationComplexityHigh = 0x04 }
enumTStabilizationEffect { EStabilizationOff = 0x00, EStabilizationAuto = 0x01, EStabilizationFine = 0x02, EStabilizationMedium = 0x04, EStabilizationStrong = 0x08 }
enumTStabilizationMode {
EStabilizationModeOff = 0x00, EStabilizationModeHorizontal = 0x01, EStabilizationModeVertical = 0x02, EStabilizationModeRotation = 0x04, EStabilizationModeAuto = 0x08, EStabilizationModeManual = 0x10
}
enumTWBUnits { EWBUnknown, EWBColorTemperature, EWBRgb }
enumTYuvRange { EYuvRangeUnknown = 0x00, EYuvRangeFull = 0x01, EYuvRangeVideoCropped = 0x02 }
enumTZoomDirection { EZoomDirectionNone = 0x00, EZoomDirectionWide = 0x01, EZoomDirectionTele = 0x02 }
Private Member Enumerations
enumTECAMEventFilterScheme { EECAMEventFilterSchemeBlackList, EECAMEventFilterSchemeWhiteList }
Private Attributes
MCameraAdvancedSettings *iImpl
MCameraAdvancedSettings2 *iImpl2
MCameraAdvancedSettings3 *iImpl3
MCameraAdvancedSettings4 *iImpl4
CCamera &iOwner

Constructor & Destructor Documentation

CCameraAdvancedSettings(CCamera &)

IMPORT_CCCameraAdvancedSettings(CCamera &aOwner)[private]

Parameters

CCamera & aOwnera reference to a CCamera object providing the settings.

~CCameraAdvancedSettings()

IMPORT_C~CCameraAdvancedSettings()

Destructor

Member Functions Documentation

Aperture()

IMPORT_C TIntAperture()const

Get current aperture value. The default aperture value is ECAM implementation specific and could be either auto aperture or any other supported value.

ApertureExposureLockOn()

IMPORT_C TBoolApertureExposureLockOn()const

Gets the current state for aperture and exposure lock.

AutoFocusArea()

IMPORT_C TAutoFocusAreaAutoFocusArea()const

Gets current chosen auto focus area on the camera.

AutoFocusLockOn()

IMPORT_C TBoolAutoFocusLockOn()const

Checks whether AutoFocus value is locked or not.

AutoFocusType()

IMPORT_C TAutoFocusTypeAutoFocusType()const

Gets current auto focus type on the camera. TAutoFocusType

AutomaticSizeSelectionChangeOn()

IMPORT_C TBoolAutomaticSizeSelectionChangeOn()const

Retrieves the state for automatic size selection option. Default value is EFalse.

BracketMode()

IMPORT_C TBracketModeBracketMode()const

Get current bracket mode.

BracketParameter()

IMPORT_C TBracketParameterBracketParameter()const

Get current bracket parameter.

BracketStep()

IMPORT_C TBracketStepBracketStep()const

Get current bracket step.

BurstImages()

IMPORT_C TIntBurstImages()const
Get the number of images captured normally under EDriveModeBurst condition.
Note:

: due to memory or image size limitations the actual number may be less.

CameraIndex()

IMPORT_C TIntCameraIndex()const

Gets current camera index. The index uniquely identifies the camera on the device.

CameraType()

IMPORT_C TCameraTypeCameraType()const

Gets the type of this camera. TCameraType

CameraType(TInt)

IMPORT_C TCameraTypeCameraType(TIntaCameraIndex)

Get the type of a specific camera denoted by its index. A pluggable camera may not necessarily be physically present. The type denotes whether the slot allocated to that index is for pluggable or onboard camera. TCameraType

Parameters

TInt aCameraIndexAn integer in the range of [0: CCamera::CamerasAvailable()-1].

ConstructL()

IMPORT_C voidConstructL()[private]

CCameraAdvancedSettings second phase constructor.

Function used to initialise internal state of the object. Uses reference to the camera to retrieve Camera advanced settings interface pointer.

leave
KErrNoMemory Out of memory.

ContinuousAutoFocusTimeout()

IMPORT_C TIntContinuousAutoFocusTimeout()const

Gets the current value for continuous autofocus timeout. Timeouts are in microseconds.

CreateContinuousZoomL(MContinuousZoomObserver &, TContinuousZoomType, CCameraContinuousZoom *&)

IMPORT_C voidCreateContinuousZoomL(MContinuousZoomObserver &aObserver,
TContinuousZoomTypeaContinuousZoomType,
CCameraContinuousZoom *&aContinuousZoom
)

Creates an instance of a CCameraContinuousZoom object and returns it to the client. Ownership of the object is passed to the client.

Note:

Client must not delete the continuous zoom object if CCameraContinuousZoom::StartContinuousZoomL() has been called as MContinuousZoomObserver callbacks are still expected by the implementation. Clients should therefore only delete the object once the MContinuousZoomObserver::ContinuousZoomCompleted() callback has been received or has explicitly stopped the continuous zoom via StopContinuousZoom().

Parameters

MContinuousZoomObserver & aObserverReference to a continuous zoom observer which will be used to issue callbacks to the client.
TContinuousZoomType aContinuousZoomTypeThe continuous zoom type with which the continuous zoom object will be initialised.
CCameraContinuousZoom *& aContinuousZoomRetrieves pointer to the continuous zoom object. Client assumes ownership of the object.

DigitalZoom()

IMPORT_C TIntDigitalZoom()const

Gets the currently set digital zoom value.

DisableCameraStateSavingL(RWriteStream &)

voidDisableCameraStateSavingL(RWriteStream &aCustomCameraState)[private]

Instructs the implementation to stop saving the custom state in the RWriteStream& as given by SaveCameraStateL(RWriteStream& aCustomCameraState).

leave
May leave with any error code.

Parameters

RWriteStream & aCustomCameraState

DisableStateSavingL()

voidDisableStateSavingL()[private]

Instructs the implementation to stop saving the current state in the RWriteStream& as given by EnableStateSavingL(RWriteStream& aLatestCameraState).

leave
May leave with any error code.

DriveMode()

IMPORT_C TDriveModeDriveMode()const

Gets currently active drive mode.

EnableStateSavingL(RWriteStream &)

voidEnableStateSavingL(RWriteStream &aLatestCameraState)[private]

Instructs the implementation to continuously save the current state before releasing the camera or being overtaken.

Note:

The RWriteStream gives the implementation the facility to seek and overwrite any incorrectly updated state (in the event of power failure, for example). Given stream sink shall support repositioning.

The ECam client should be careful not to use the saved state for a particular camera in order to restore a different camera later on. Though the implementation will be expected to take care of such things since the content of the files are only meaningful for the implementation.

The RWriteStream reference is not valid across the process.

leave
May leave with any error code.

Parameters

RWriteStream & aLatestCameraStateA RWriteStream reference which will be used by the implementation to continuously save the latest camera state.

EnumerateOperationPreferenceL(TUint, TPerformanceLevel &, TPerformanceLevel &, TPerformanceLevel &, TPerformanceLevel &)

IMPORT_C voidEnumerateOperationPreferenceL(TUintaOperationPreferenceIndex,
TPerformanceLevel &aSpeedLevel,
TPerformanceLevel &aQualityLevel,
TPerformanceLevel &aLowMemoryConsumptionLevel,
TPerformanceLevel &aLowPowerConsumptionLevel
)const

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).
TPerformanceLevel & aSpeedLevelA TPerformanceLevel which specifies the speed level related to the index aOperationPreferenceIndex.
TPerformanceLevel & aQualityLevelA TPerformanceLevel which specifies the quality level related to the index aOperationPreferenceIndex.
TPerformanceLevel & aLowMemoryConsumptionLevelA TPerformanceLevel which specifies the low memory consumption level related to the index aOperationPreferenceIndex. The lower the memory consumption, the higher the level.
TPerformanceLevel & aLowPowerConsumptionLevelA TPerformanceLevel which specifies the low power consumption level related to the index aOperationPreferenceIndex. The lower the power consumption, the higher the level.

ExposureCompensation()

IMPORT_C TIntExposureCompensation()const

Use TInt GetExposureCompensation(TInt& aExposureCompensation);

Get the current exposure compensation steps. Positive values increase exposure times, negative reduce exposure times. The change is not cumulative i.e. the change is stateless. Each call assumes no previous compensation has been performed i.e. that there is a zero compensation.

Note:

if returned value is 2 (compensation steps) and the current exposure compensation step is 0.3 EV, then the actual compensation effect will be 0.6 EV.

ExposureCompensationStep()

IMPORT_C TIntExposureCompensationStep()const

Use TInt GetExposureCompensationStep(TInt& aExposureCompensationStep);

Get current exposure compensation step.

ExposureLockOn()

IMPORT_C TBoolExposureLockOn()const

Checks whether exposure value is locked or not.

ExposureMode()

IMPORT_C CCamera::TExposureExposureMode()const

Gets the currently set exposure setting value.

FlashCompensation()

IMPORT_C TIntFlashCompensation()const

Use TInt GetFlashCompensation(TInt& aFlashCompensation);

Get the current flash compensation value as integer steps. Positive values boost flash power, negative reduce flash power. The change is not cumulative i.e. the change is stateless. Each call assumes no previous compensation has been performed i.e. that there is a zero compensation.

Note:

if returned value is 2 (compensation steps) and the current flash compensation step is 0.3 EV, then the actual compensation effect will be 0.6 EV.

FlashCompensationStep()

IMPORT_C TIntFlashCompensationStep()const

Use TInt GetFlashCompensationStep(TInt& aFlashCompensationStep);

Get current flash power compensation step.

FlashMode()

IMPORT_C CCamera::TFlashFlashMode()const

Gets the currently set flash mode.

Note:

Clients not using the CCamera::New2L() or CCamera::NewDuplicate2L() would be given CCamera::EFlashAuto if current flash mode exceeds CCamera::EFlashManual

CCamera::TFlash

FocusDistance()

IMPORT_C TIntFocusDistance()const

Get focus distance in millimetres.

FocusMode()

IMPORT_C TFocusModeFocusMode()const

Gets current focus mode on the camera. The result is a valid TFocusMode value.

FocusRange()

IMPORT_C TFocusRangeFocusRange()const

Gets current focus range on the camera.

Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values. So, any extra enum value received from the implementation will be dropped and EFocusRangeAuto would be passed instead. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

GetAFAssistantLightL(TAFAssistantLight &)

IMPORT_C voidGetAFAssistantLightL(TAFAssistantLight &aAFAssistantLight)const

Get the type ( and state) of AF assistant light currently set.

leave
KErrNotSupported if the implementation of this method or the feature is not supported. May also leave as a result of other errors.

Parameters

TAFAssistantLight & aAFAssistantLightA reference to AF assistant light. If EAFAssistantLightOff, then manual and auto assistant light are switched off. If EAFAssistantLightManualOn, manual assistant light is switched on. If EAFAssistantLightAuto, AF assistant light is set to auto.

GetActiveSettingsL(RArray< TUid > &)

IMPORT_C voidGetActiveSettingsL(RArray< TUid > &aActiveSettings)const

Gets an array of all the advanced settings parameters currently active on the camera. These are identified by UIDs and relate to the set or subset of it of all supported settings UIDs.

leave
KErrNoMemory Out of memory.
Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added uid values (new settings added). So, any extra uid value passed from the implementation will be filtered at this point. To receive extra added uid values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised uid values

Parameters

RArray< TUid > & aActiveSettingsAn empty array of TUids which would be populated by the implementation with the active setting UIDs. If the array is empty on return, the camera does not support any settings.

GetAperturesL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetAperturesL(RArray< TInt > &aFStops,
TValueInfo &aInfo
)const

Gets the current discrete aperture steps (F-stops) supported by the camera.

leave
KErrNoMemory Out of memory.
Note:

When camera device is incapable of revealing the aperture openings supported, it has to be assumed that camera will work only on the parmanently set value. If this value is not known, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aFStopsA reference to an empty array of TInt which would be populated by the implementation with the specific supported values. If the array is empty on return, the camera supports all integer values in the aperture range. Each value is multiplied by a factor of KECamFineResolutionFactor.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetBracketMerge(TInt &, TInt &)

IMPORT_C voidGetBracketMerge(TInt &aStartIndex,
TInt &aFrames
)const
Gets the settings for which frames to merge. Valid only in EDriveModeBracketMerge mode.
Note:

there must be at least two images to merge. All are assumed to form a sequence and are identified using the first frame index and number of frames e.g. to merge two frames - one on and one +1, when in EBracketMode3Image, one sets the start index to 1 and frames to two.

It is very much TBracketMode setting dependent operation.

Parameters

TInt & aStartIndexthe index of the start frame, starts from 0.
TInt & aFramesthe number of frames to be merged.

GetCurrentFocusModeStepsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetCurrentFocusModeStepsL(RArray< TInt > &aFocusModeSteps,
TValueInfo &aInfo
)const

Get the number of focus steps for current focus mode.

leave
KErrNotSupported if the implementation of this method is not supported. May also leave as a result of other system errors.
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aFocusModeStepsA reference to an empty array of TInt which would be populated by the implementation with the specific supported values.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetDigitalZoomStepsForStillL(RArray< TInt > &, TValueInfo &, TInt, CCamera::TFormat, TBool &)

IMPORT_C voidGetDigitalZoomStepsForStillL(RArray< TInt > &aDigitalZoomSteps,
TValueInfo &aInfo,
TIntaSizeIndex,
CCamera::TFormataFormat,
TBool &aIsInfluencePossible
)const

Get the digital zoom steps for the still image when a particular image format and size are specified.

leave
KErrNotSupported if the implementation of this method is not present. KErrNoMemory if out of memory. May leave as a result of some other error.
Note:

This method retrieves the supported digital zoom steps irrespective of any stabilization influence. In case of stabilization etc. influence, the setting function should set the best possible digital zoom value and return error KErrECamDigitalZoomLimited along with dedicated event.

When concrete implementation is provided, but camera device does not support this feature, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aDigitalZoomStepsA reference to an empty array of TInt to hold digital zoom step values for still image and multiplied by KECamFineResolutionFactor to retain precision. If list returned is empty, this means feature is not supported.
TValueInfo & aInfoA reference to TValueInfo, which establishes the type of the returned data.
TInt aSizeIndexA value providing the size index which must be in the range 0 to TCameraInfo::iNumImageSizesSupported-1 inclusive.
CCamera::TFormat aFormatA value providing the image format which must be one of the formats supported. (see TCameraInfo::iImageFormatsSupported)
TBool & aIsInfluencePossibleIf True, signals that digital zoom step values may be influenced by some hardware factor like stabilization etc. If False, no influence possible.

GetDigitalZoomStepsForVideoL(RArray< TInt > &, TValueInfo &, TInt, TInt, CCamera::TFormat, TBool &, CCamera::TExposure)

IMPORT_C voidGetDigitalZoomStepsForVideoL(RArray< TInt > &aDigitalZoomSteps,
TValueInfo &aInfo,
TIntaFrameRateIndex,
TIntaSizeIndex,
CCamera::TFormataFormat,
TBool &aIsInfluencePossible,
CCamera::TExposureaExposure
)const

Get the digital zoom steps for the video when a particular video frame format, size and rate are specified.

leave
KErrNotSupported if the implementation of this method is not present. KErrNoMemory if out of memory. May leave as a result of some other error.
Note:

This method retrieves the supported digital zoom steps irrespective of any stabilization influence. In case of stabilization etc. influence, the setting function should set the best possible digital zoom value and return error KErrECamDigitalZoomLimited along with dedicated event.

When concrete implementation is provided, but camera device does not support this feature, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aDigitalZoomStepsA reference to an empty array of TInt to hold digital zoom step values for video and multiplied by KECamFineResolutionFactor to retain precision. If list returned is empty, this means feature is not supported.
TValueInfo & aInfoA reference to TValueInfo, which establishes the type of the returned data.
TInt aFrameRateIndexA value providing the rate index must be in the range 0 to TCameraInfo::iNumVideoFrameRatesSupported-1 inclusive.
TInt aSizeIndexA value providing the size index which must be in the range 0 to TCameraInfo::iNumVideoFrameSizesSupported-1 inclusive.
CCamera::TFormat aFormatA value providing the format which must be one of the video frame formats supported. (see TCameraInfo::iVideoFrameFormatsSupported)
TBool & aIsInfluencePossibleIf True, signals that digital zoom step values may be influenced by some hardware factor like stabilization etc. If False, no influence possible.
CCamera::TExposure aExposureThe exposure mode.

GetDigitalZoomStepsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetDigitalZoomStepsL(RArray< TInt > &aDigitalZoomSteps,
TValueInfo &aInfo
)const

Gets the digital zoom levels.

Note:

Such approach allows for support for both linear and non-linear zoom steps. When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

leave
KErrNoMemory Out of memory.

Parameters

RArray< TInt > & aDigitalZoomStepsArray to hold digital zoom values multiplied by KECamFineResolutionFactor to retain precision. So that if zoom is not supported the array will return a single element of value KECamFineResolutionFactor.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetDisabledSettingsL(RArray< TUid > &)

IMPORT_C voidGetDisabledSettingsL(RArray< TUid > &aDisabledSettings)const

Gets an array of all the advanced settings parameters currently disabled on the camera. These are identified by UIDs and relate to the set or subset of it of all supported settings UIDs.

leave
KErrNoMemory Out of memory.
Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added uid values (new settings added). So, any extra uid value passed from the implementation will be filtered at this point. To receive extra added uid values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised uid values

Parameters

RArray< TUid > & aDisabledSettingsAn empty array of TUids which would be populated by the implementation with the disabled setting UIDs. If the array is empty on return, the camera does not support any settings.

GetExposureCompensation(TInt &)

IMPORT_C TIntGetExposureCompensation(TInt &aExposureCompensation)const

Get the current exposure compensation steps. Positive values increase exposure times, negative reduce exposure times. The change is not cumulative i.e. the change is stateless. Each call assumes no previous compensation has been performed i.e. that there is a zero compensation.

Note:

if retrieved value is 2 (compensation steps) and the current exposure compensation step is 0.3 EV, then the actual compensation effect will be 0.6 EV.

Note:

Use this method in place of deprecated TInt ExposureCompensation()

Parameters

TInt & aExposureCompensationReference to the current number of compensation steps as an integer.

GetExposureCompensationRangeInSteps(TInt &, TInt &)

IMPORT_C voidGetExposureCompensationRangeInSteps(TInt &aNegativeCompensation,
TInt &aPositiveCompensation
)const

Get current exposure compensation range in steps. It depends on the previously selected exposure compensation step.

GetFlashCompensationRangeInSteps()

Parameters

TInt & aNegativeCompensationreference to an integer returning the maximum number of steps available for negative compensation,
TInt & aPositiveCompensationreference to an integer returning the maximum number of steps available for positive compensation,

GetExposureCompensationStep(TInt &)

IMPORT_C TIntGetExposureCompensationStep(TInt &aExposureCompensationStep)const

Get current exposure compensation step.

Note:

Use this method in place of deprecated TInt ExposureCompensationStep()

Parameters

TInt & aExposureCompensationStepReference to the current exposure compensation step.

GetExposureCompensationStepsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetExposureCompensationStepsL(RArray< TInt > &aExposureCompensationSteps,
TValueInfo &aInfo
)const

Get exposure compensation steps as integers multiplied by KECamFineResolutionFactor. For example 0.3 EV is 30.

leave
KErrNoMemory Out of memory.
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case. When camera device is incapable of revealing the exposure compensation steps supported, it has to be assumed that camera will work only on the permanently set value. If this value is not known, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aExposureCompensationStepsan RArray of integers which is populated to reflect the supported exposure compensation steps, all values have been multiplied by KECamFineResolutionFactor before truncated to integers.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetFlashCompensation(TInt &)

IMPORT_C TIntGetFlashCompensation(TInt &aFlashCompensation)const

Get the current flash compensation value as integer steps. Positive values boost flash power, negative reduce flash power. The change is not cumulative i.e. the change is stateless. Each call assumes no previous compensation has been performed i.e. that there is a zero compensation.

Note:

if retrieved value is 2 (compensation steps) and the current flash compensation step is 0.3 EV, then the actual compensation effect will be 0.6 EV.

Note:

Use this method in place of deprecated TInt FlashCompensation()

Parameters

TInt & aFlashCompensationReference to the current number of compensation steps as an integer.

GetFlashCompensationRangeInSteps(TInt &, TInt &)

IMPORT_C voidGetFlashCompensationRangeInSteps(TInt &aNegativeCompensation,
TInt &aPositiveCompensation
)const
Get current flash power compensation range measured in a already selected compensation step magnitude.
Note:

This range may change if a different compensation step is selected. For example if flash compensation range is in the range -1EV 1.5EV and the selected flash compensation step is selected to be 0.3 EV, the result of this call will be aNegativeCompensation = -3 and aPositiveCompensation = 5. as there can be only three full steps for negative compensation (1/0.3) and five for flash power boost (1.5/0.3). In this way developers, having pre-selected a step value from the supported set, would need to provide just the multiplier (in steps) and the direction (the sign). Steps are always assumed integers.

Parameters

TInt & aNegativeCompensationa reference to an integer returning the maximum number of steps available for negative compensation.
TInt & aPositiveCompensationa reference to an integer returning the maximum number of steps available for positive compensation.

GetFlashCompensationStep(TInt &)

IMPORT_C TIntGetFlashCompensationStep(TInt &aFlashCompensationStep)const

Get current flash power compensation step.

Note:

Use this method in place of deprecated TInt FlashCompensationStep()

Parameters

TInt & aFlashCompensationStepReference to the current flash compensation step.

GetFlashCompensationStepsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetFlashCompensationStepsL(RArray< TInt > &aFlashCompensationSteps,
TValueInfo &aInfo
)const

Get flash compensation steps as integers multiplied by KECamFineResolutionFactor. For example 0.5 EV is 50.

TValueInfo
leave
KErrNoMemory Out of memory.
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

When camera device is incapable of revealing the flash compensation steps supported, it has to be assumed that camera will work only on the parmanently set value. If this value is not known, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aFlashCompensationStepsan RArray of integers which is populated on return to reflect the supported flash compensation steps,
TValueInfo & aInfoan TValueInfo reference, which establishes the organization of the returned data.

GetFlickerRemovalValueL(TFlickerRemoval &)

voidGetFlickerRemovalValueL(TFlickerRemoval &aFlickerRemovalValue)const [private]

Get the current flicker removal value being used.

leave
May leave with any error code.

Parameters

TFlickerRemoval & aFlickerRemovalValueCurrently used TFlickerRemoval value.

GetFocalLengthInfoL(TInt &, TInt &, TInt &)

IMPORT_C voidGetFocalLengthInfoL(TInt &aMinFocalLength,
TInt &aCurrentFocalLength,
TInt &aMaxFocalLength
)const

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

GetISORateL(TISORateType &, TInt &, TInt &)

IMPORT_C voidGetISORateL(TISORateType &aISORateType,
TInt &aParam,
TInt &aISORate
)const

Get the type of ISO rate, exposure parameter and value set.

leave
KErrNotSupported if the implementation of this method is not present. May leave as a result of some other error.
Note:

When concrete implementation is provided, but camera device does not support this feature, then aISORateType retrieves EISONone.

Since camera hardware may be incapable of providing the actual ISO value when one of the auto ISO type has been set, then, in these cases, the 3rd argument is retrieved as KErrNotFound.

Parameters

TISORateType & aISORateTypeA reference to the type of ISO rate set. EISONone means feature is not supported.
TInt & aParamDepending on the value of aISORateType, possible values of aParam are one of the following:- A reference to the redundant parameter in case of manual type of ISO rate(EISOManual) OR A reference to the redundant parameter in case of unprioritised type of auto ISO(EISOAutoUnPrioritised) OR A reference to the highest ISO rate that may be picked up in case of ISO prioritised type of auto ISO(EISOAutoISOPrioritised) OR A reference to the slowest shutter speed that may be picked up in case of shutter speed prioritised type of auto ISO(EISOAutoShutterSpeedPrioritised) OR A reference to the minimum aperture opening that may be picked up in case of aperture prioritised type of auto ISO(EISOAutoAperturePrioritised)
TInt & aISORateA reference to the value of ISO rate currently being used, if camera device is capable of doing that. Otherwise KErrNotFound is retrieved indicating the incapability of camera.

GetIndirectFeatureChangesL(TUid, RArray< TUid > &)

IMPORT_C voidGetIndirectFeatureChangesL(TUidaRequestedSetting,
RArray< TUid > &aIndirectFeatureChanges
)const

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.

GetLEDEffectL(TLEDEvent, TLEDEffect &)

voidGetLEDEffectL(TLEDEventaLEDEvent,
TLEDEffect &aLEDEffect
)const [private]

Get the type of LED effect being used for a particular LED event.

leave
May leave with any error code.

Parameters

TLEDEvent aLEDEventThe TLEDEvent for which the current LED effect has to be retrieved.
TLEDEffect & aLEDEffectThe TLEDEffect which is being used for the given LED event. If this is TLEDEffectCustom, then a custom LED effect would have been separately specified by the client.

GetManualFlashPowerLevelsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetManualFlashPowerLevelsL(RArray< TInt > &aManualFlashPowerLevels,
TValueInfo &aInfo
)const

Gets the current discrete manual flash power levels supported by the camera in range 0-100 as a percentage of maximum power level.

leave
KErrNoMemory Out of memory.
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case. When camera device is incapable of revealing the manual flash power levels supported, it has to be assumed that camera will work only on the permanently set value. If this value is not known, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aManualFlashPowerLevelsAn empty array of TInt which would be populated by the implementation with the specific supported values. If the array is empty on return, the camera does not support this functionality.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetManualGainL(TInt &, TColorChannel)

voidGetManualGainL(TInt &aManualGain,
TColorChannelaColorChannel
)const [private]

Get the current manual gain value to be used for a particular color channel.

leave
May leave with any error code.

Parameters

TInt & aManualGainCurrently used manual gain value. The TInt represents the unit in 'db' and multiplied by KECamFineResolutionFactor.
TColorChannel aColorChannelThe color channel for which the manual gain value has to be used.

GetMinFocalLength()

IMPORT_C TIntGetMinFocalLength()const

Get minimum focus distance in millimetres

Note:

Current Focal length is calculated as focalLength = opticalZoom * minFocalLength;

GetNDFilterL(TNDFilter &)

voidGetNDFilterL(TNDFilter &aNDFilter)const [private]

Get the current neutral density filter being used.

leave
May leave with any error code.

Parameters

TNDFilter & aNDFilterCurrently used TNDFilter.

GetNumOperationPreferenceL(TUint &)

IMPORT_C voidGetNumOperationPreferenceL(TUint &aNumOperationPreferenceSupported)const

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

IMPORT_C voidGetOperationPreferenceL(TInt &aOperationPreferenceIndex)const

Get the current operation preference being used.

leave
May leave with any error code.

Parameters

TInt & aOperationPreferenceIndexCurrently used operation preference index.

GetOpticalZoomStepsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetOpticalZoomStepsL(RArray< TInt > &aOpticalZoomSteps,
TValueInfo &aInfo
)const

Gets the optical zoom levels.

Note:

Such approach allows for support for both linear and non-linear zoom steps. When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

leave
KErrNoMemory Out of memory.

Parameters

RArray< TInt > & aOpticalZoomStepsArray to hold optical zoom values multiplied by KECamFineResolutionFactor to retain precision. So that if zoom is not supported the array will return a single element of value KECamFineResolutionFactor.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetPreCaptureWarningL(TInt &)

IMPORT_C voidGetPreCaptureWarningL(TInt &aPreCaptureWarning)const

Get the status of every warnings defined.

leave
KErrNotSupported if the implementation of this method or the feature is not supported. May also leave as a result of other errors.
Note:

This method may be called after receiving the event KUidECamEventCameraSettingPreCaptureWarning OR user may also opt for polling on this.

Parameters

TInt & aPreCaptureWarningA reference to the integer - bitfield representing all the TPreCaptureWarning types issued.

GetPreCaptureWarningSupportedL(TCameraMode, TInt &)

IMPORT_C voidGetPreCaptureWarningSupportedL(TCameraModeaCameraMode,
TInt &aPreCaptureWarningSupported
)const

Retrieves the pre capture warnings supported for a given camera mode

leave
May leave with any error.

Parameters

TCameraMode aCameraModeDesired camera mode for which the supported pre capture warnings may be retrieved.
TInt & aPreCaptureWarningSupportedA bitfield of all supported TPreCaptureWarning to be issued in the given camera mode. If no pre capture warning supported for the given camera mode, EPCWNone is retrieved.

GetRegisterEventsL(TECAMEventFilterScheme, RArray< TUid > &, TValueInfo &)

voidGetRegisterEventsL(TECAMEventFilterSchemeaEventFilter,
RArray< TUid > &aEvents,
TValueInfo &aInfo
)const [private]

Retrieve the list of ECAM component wide events for a particular event filtering scheme.

leave
May leave with any error code.
Note:

There should be consistency in the information retrieved when GetRegisteredEvents is consecutively called, first for blacklisted events and secondly, for white listed events. Only one of them should be used at a time and hence, for the other one, aInfo will be ENotActive.

Parameters

TECAMEventFilterScheme aEventFilterThis is of type TECAMEventFilterScheme. If EECAMEventFilterSchemeBlackList, retrieve the events which are not supposed to be used for notification. If EECAMEventFilterSchemeWhiteList, retrieve the events which are supposed to be used for notification.
RArray< TUid > & aEventsAn array of events given to the clients. Helps in filtering the events for notification purposes. An empty array indicates that no events have been registered so far.
TValueInfo & aInfoRetrieved TValueInfo. This will be ENotActive if no event has been yet registered under the 'aEventFilter' filter scheme. This will be EDiscreteSteps if some events have been registered under the 'aEventFilter' filter scheme.

GetShutterSpeedsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetShutterSpeedsL(RArray< TInt > &aShutterSpeeds,
TValueInfo &aInfo
)const

Gets the set of supported shutter speeds.

leave
KErrNoMemory Out of memory.
Note:

When camera device is incapable of revealing the shutter speeds supported, it has to be assumed that camera will work only on the parmanently set value. If this value is not known, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aShutterSpeedsa reference to an RArray of TInt representing the discrete shutter speeds supported currently by the camera.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetSupportedAFAssistantLightL(TInt &)

IMPORT_C voidGetSupportedAFAssistantLightL(TInt &aSupportedAFAssistantLight)const

Retrieve the different supported AF assistant light.

leave
KErrNotSupported if the implementation of this method is not supported. May also leave as a result of other errors.
Note:

When concrete implementation is provided, but camera device does not support this feature, then aSupportedAFAssistantLight retrieves EAFAssistantLightOff. Corresponding getter/setters for this feature should not be called then.

Parameters

TInt & aSupportedAFAssistantLightA reference to integer - bitfield indicating the supported AF assistant light. If EAFAssistantLightOff, this means AF assistant light is not supported. If EAFAssistantLightManualOn, then manual AF assistant light is supported. If EAFAssistantLightAuto, auto assistant light is supported. If combination of EAFAssistantLightManualOn||EAFAssistantLightAuto , then both manual and Auto assistant light are supported.

GetSupportedContinuousAutoFocusTimeoutsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetSupportedContinuousAutoFocusTimeoutsL(RArray< TInt > &aTimeouts,
TValueInfo &aInfo
)const

Retrieves the timeout values camera supported by the camera when in continuous auto focus mode. Timeouts are in microseconds.

leave
KErrNoMemory Out of memory.
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aTimeoutsAn empty array to hold timeout values.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetSupportedContinuousZoomTypeL(TUint &)

IMPORT_C voidGetSupportedContinuousZoomTypeL(TUint &aSupportedContinuousZoomType)const

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

IMPORT_C voidGetSupportedEventsL(RArray< TUid > &aSupportedEvents)const

Retrieves the event uids which the underlying implementation supports. Client may use these event 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.

GetSupportedFlickerRemovalValueL(TUint &)

voidGetSupportedFlickerRemovalValueL(TUint &aSupportedFlickerRemovalValue)const [private]

Retrieves the supported flicker removal values.

leave
May leave with any error code.

Parameters

TUint & aSupportedFlickerRemovalValueA bitfield of all supported TFlickerRemoval to be provided to the client.

GetSupportedISORateTypeL(TInt &)

IMPORT_C voidGetSupportedISORateTypeL(TInt &aSupportedISORateTypes)const

Gets all supported ISO types on the device.

leave
KErrNotSupported if the implementation of this method is not present. May leave as a result of some other error.
Note:

When concrete implementation is provided, but camera device does not support this feature, then aSupportedISORateTypes retrieves EISONone.

Parameters

TInt & aSupportedISORateTypesA reference to an integer which is a bitfield of all supported TISORateType values. EISONone means feature is not supported.

GetSupportedIsoRatesL(RArray< TInt > &)

IMPORT_C voidGetSupportedIsoRatesL(RArray< TInt > &aSupportedIsoRates)const

Gets the set of camera supported ISO rates.

Note:

When camera device is incapable of revealing the ISO rates supported, it has to be assumed that camera will work only on the permanently set value. If this value is not known, empty array may be returned; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aSupportedIsoRatesan array of integers which gets filled with the supported ISO rates.

GetSupportedManualGainL(RArray< TInt > &, TColorChannel)

voidGetSupportedManualGainL(RArray< TInt > &aSupportedManualGain,
TColorChannelaColorChannel
)const [private]

Retrieves the supported manual gain for a particular color channel.

leave
May leave with any error code.

Parameters

RArray< TInt > & aSupportedManualGainAn array of manual gain. The TInt represent the unit in 'db' and multiplied by KECamFineResolutionFactor. Empty array indicates that feature is not supported.
TColorChannel aColorChannelThe TColorChannel for which the supported manual gain values have to be retrieved.

GetSupportedNDFilterL(TUint &)

voidGetSupportedNDFilterL(TUint &aSupportedNDFilter)const [private]

Retrieves the supported neutral density filter.

leave
May leave with any error code.

Parameters

TUint & aSupportedNDFilterA bitfield of all supported TNDFilter to be provided to the client.

GetSupportedSettingsL(RArray< TUid > &)

IMPORT_C voidGetSupportedSettingsL(RArray< TUid > &aSettings)const

Gets an array of all the advanced settings parameters supported by the camera. These are identified by UIDs and relate to the set or subset of it of all defined settings UIDs.

leave
KErrNoMemory Out of memory.
Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added uid values (new settings added). So, any extra uid value passed from the implementation will be filtered at this point. To receive extra added uid values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised uid values

Parameters

RArray< TUid > & aSettingsAn empty array of TUids which would be populated by the implementation with the UIDs of the supported parameters. If the array is empty on return, the camera does not support any settings.

GetTimeLapse(TTime &, TTime &, TTime &)

IMPORT_C voidGetTimeLapse(TTime &aStart,
TTime &aEnd,
TTime &aInterval
)const

Get current time lapse value. Active only when drive mode EDriveModeTimeLapse. The time lapse is denoted as the uniform time period between consecutive frames and operation is configurable by its start, end and a fixed interval.

Parameters

TTime & aStartthe start of the timelapse period.
TTime & aEndthe end of the timelapse period; start < end.
TTime & aIntervalthe set parameter between two successive snapshots.

GetTimeLapsePeriodRange(TTime &, TTime &)

IMPORT_C voidGetTimeLapsePeriodRange(TTime &aTimeLapseMin,
TTime &aTimeLapseMax
)const

Get camera supported time lapse period range. Active only when drive mode EDriveModeTimeLapse. The time lapse is denoted as the uniform time period between consecutive frames.

Parameters

TTime & aTimeLapseMinThe minimum time value.
TTime & aTimeLapseMaxThe maximum time value.

GetTimerIntervalsL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetTimerIntervalsL(RArray< TInt > &aTimerIntervals,
TValueInfo &aInfo
)const

Get camera supported timer values. Active only when drive mode EDriveModeTimed. Time is in microseconds. As time interval is expected to be relatively short, integer value is considered sufficient.

TValueInfo
Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aTimerIntervalsan RArray of integers which is populated to reflect the supported timer interval steps.
TValueInfo & aInfoan TValueInfo reference, which establishes the organization of the returned data.

GetWBRgbValue(TRgb &)

IMPORT_C voidGetWBRgbValue(TRgb &aValue)const

Get white balance value represented as a RGB triplet.

TRgb

Parameters

TRgb & aValuea reference to TRgb object which will contain the current white balance.

GetWBSupportedColorTemperaturesL(RArray< TInt > &, TValueInfo &)

IMPORT_C voidGetWBSupportedColorTemperaturesL(RArray< TInt > &aWBColorTemperatures,
TValueInfo &aInfo
)const

Get the white balance values, as temperature measured in Kelvin, supported on the camera.

Note:

When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

Parameters

RArray< TInt > & aWBColorTemperaturesA reference to an empty array of TInt which would be populated by the implementation with the specific supported values.
TValueInfo & aInfoa reference to TValueInfo, which establishes the type of the returned data.

GetWhiteBalanceLockStateL(TBool &)

voidGetWhiteBalanceLockStateL(TBool &aIsLocked)const [private]

Get the current state for the white balance lock.

leave
May leave with any error code.

Parameters

TBool & aIsLockedA TBool specifies whether the white balance has been locked or unlocked. ETrue indicates that the white balance has been locked. EFalse indicates that the white balance has been unlocked.

IsCameraPresent()

IMPORT_C TBoolIsCameraPresent()const

Checks whether the current camera is present.

IsCameraPresent(TInt)

IMPORT_C TBoolIsCameraPresent(TIntaCameraIndex)

Checks whether the camera, denoted by its index, is currently present. The index uniquely identifies the camera on the device.

Parameters

TInt aCameraIndexAn integer in the range of [0:CCamera::CamerasAvailable()-1] specifying the camera device to use

IsExternalFlashPresent()

IMPORT_C TBoolIsExternalFlashPresent()const

Check whether there is an external flash source.

IsFlashReady(TBool &)

IMPORT_C TIntIsFlashReady(TBool &aReady)const

Checks whether the flash is ready.

Parameters

TBool & aReadyA reference to a boolean set by the implementation to ETrue if the flash is ready, EFalse otherwise.

IsoRate()

IMPORT_C TIntIsoRate()const

Gets current ISO rate.

Note:

The returned value may be checked with the list of supported ISO rates. If value returned does not belong to this list, then it may be treated as an error case.

ManualFlashPowerLevel()

IMPORT_C TIntManualFlashPowerLevel()const

Gets the current manual flash power level on the camera.

MeteringMode()

IMPORT_C TMeteringModeMeteringMode()const

Get current metering mode.

NewL(CCamera &)

IMPORT_C CCameraAdvancedSettings *NewL(CCamera &aCamera)[static]

Factory function for creating the CCameraAdvancedSettings object.

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

Clients using MCameraObserver are not recommended to use this extension class since they cannot handle events.

Parameters

CCamera & aCameraa reference to a CCamera object providing the settings.

OpticalZoom()

IMPORT_C TIntOpticalZoom()const

Gets the currently set zoom value.

PictureOrientation()

IMPORT_C TPictureOrientationPictureOrientation()const

Get current picture orientation

PixelAspectRatio()

IMPORT_C TPixelAspectRatioPixelAspectRatio()const

Get current pixel aspect ratio.

Note:

Some of the pixel aspect ratios are available only for clients using either CCamera::New2L() or CCamera::NewDuplicate2L()

RedEyeReduceOn()

IMPORT_C TBoolRedEyeReduceOn()const

Gets whether the flash red eye reduction is switched on.

RegisterEventsL(TECAMEventFilterScheme, const RArray< TUid > &)

voidRegisterEventsL(TECAMEventFilterSchemeaEventFilter,
const RArray< TUid > &aEvents
)[private]

Register the ECAM component wide events in order to decide which events the client needs to be notified about. Previously registered events will be overridden and not augmented.

leave
May leave with any error code.
Note:

Method RegisterEvents if called with EECAMEventFilterSchemeBlackList will wipe away any white listed events set previously and make them inactive.

Parameters

TECAMEventFilterScheme aEventFilterThis is of type TECAMEventFilterScheme. If EECAMEventFilterSchemeBlackList, the client will not be notified only for the events packed in the array 'aEvents'. If EECAMEventFilterSchemeWhiteList, the client will be notified only for the events packed in the array 'aEvents'.
const RArray< TUid > & aEventsAn array of events provided by the client. Helps in filtering the events for notification purposes. An empty array indicates that there are no events to register for a particular filtering scheme as given by aEventFilter.

ReserveL(const TTimeIntervalMicroSeconds32 &, TBool)

voidReserveL(const TTimeIntervalMicroSeconds32 &aMaxTimeToWait,
TBoolaKickOut
)[private]

Reserve method which are less strict than existing Reserve methods and hence, expects implementation to be considerate towards camera access/control.

EFalse indicates that KUidECamEvent2CameraRequestTimedTakeOver will be issued to the current reserver.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventNewReserveComplete notifies the client who made the new Reserve request. Error value KErrECamHighPriorityReserveRequesterExists indicates another such reserve request is outstanding and has higher priority than this one. Error value KErrCancel indicates a new reserve requester with a higher priority than the current requester has been made and that the current requester has been cancelled.

Event KUidECamEvent2CameraRequestForcedTimedTakeOver notifies the current reserver client about its camera control being forcefully overtaken after a specified time period.

Event KUidECamEvent2CameraRequestTimedTakeOver notifies the current reserver client about a request to release its camera control within a specified time period.

Parameters

const TTimeIntervalMicroSeconds32 & aMaxTimeToWaitMaximum specified time for the client to hold the camera control before releasing (KUidECamEvent2CameraRequestTimedTakeOver) or being forcefully overtaken (KUidECamEvent2CameraRequestForcedTimedTakeOver).
TBool aKickOutETrue indicates that if the requester's priority is greater than the current reserver's, then KUidECamEvent2CameraRequestForcedTimedTakeOver will be issued to the current reserver. Otherwise, KUidECamEvent2CameraRequestTimedTakeOver will be issued.

RestoreCameraStateL(RReadStream &)

voidRestoreCameraStateL(RReadStream &aCustomCameraState)[private]

Instructs the implementation to restore a custom saved state. The camera can be restored in any of the custom camera states saved earlier.

Note:

The ECam client should be careful not to use the saved state for a particular camera in order to restore a different camera later on. Though the implementation will be expected to take care of such things since the content of the files are only meaningful for the implementation.

The RReadStream reference is not valid across the process.

leave
May leave with any error code.

Parameters

RReadStream & aCustomCameraStateA RReadStream reference which will be used by the implementation to restore a custom camera state which was saved earlier.

RestoreClientPriorityL()

voidRestoreClientPriorityL()[private]

Restores the priority of the client. The client issues this call when it receives the notification KUidECamEventCameraSettingRestoreClientPriority. ECam's responsibility is to save the original priority of the client.

Note:

Once the legacy client has released the camera (after changing its priority), implementation will notify the client to restore its priority by event KUidECamEventCameraSettingRestoreClientPriority. After receiving this notification, the client issues this method RestoreClientPriorityL().

leave
May leave with any error code.

RestoreLatestStateL(RReadStream &)

voidRestoreLatestStateL(RReadStream &aLatestCameraState)[private]

Instructs the implementation to resume from the last saved state. This may be used after reserving the camera.

Note:

The RReadStream gives the implementation the facility to seek and overwrite any incorrectly updated state (in the event of power failure, for example).

The ECam client should be careful not to use the saved state for a particular camera in order to restore a different camera later on. Though the implementation will be expected to take care of such things since the content of the files are only meaningful for the implementation.

The RReadStream reference is not valid across the process.

leave
May leave with any error code.

Parameters

RReadStream & aLatestCameraStateA RReadStream reference which will be used by the implementation to restore the latest saved camera state information.

SaveCameraStateL(RWriteStream &)

voidSaveCameraStateL(RWriteStream &aCustomCameraState)[private]

Instructs the implementation to save the current state which will be used by the client as a custom user state. The state saving will be done only once when this call is issued. Many such custom state could be created by the clients.

Note:

The ECam client should be careful not to use the saved state for a particular camera in order to restore a different camera later on. Though the implementation will be expected to take care of such things since the content of the files are only meaningful for the implementation.

The RWriteStream reference is not valid across the process.

leave
May leave with any error code.

Parameters

RWriteStream & aCustomCameraStateA RWriteStream reference which will be used by the implementation to save the current camera state as a milestone.

SetAFAssistantLightL(TAFAssistantLight)

IMPORT_C voidSetAFAssistantLightL(TAFAssistantLightaAFAssistantLight)

Set a particular type ( and state) of AF assistant light.

leave
KErrNotSupported if the implementation of this method is not present.
Note:

Triggers KUidECamEventCameraSettingAFAssistantLight to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. New setter functions leave only when implementation is not there.

Parameters

TAFAssistantLight aAFAssistantLightType of AF assistant light to be set. If EAFAssistantLightOff, switch off the manual or auto assistant light. If EAFAssistantLightManualOn, manually switch on the assistant light. If EAFAssistantLightAuto, camera will automatically switch it on/off as per the conditions.

SetAperture(TInt)

IMPORT_C voidSetAperture(TIntaFStop)

Set a new aperture value. All MCameraObserver2 clients of the camera receive a KUidECamEventCameraSettingAperture event notification when aperture value is changed.

Note:

The aperture parameter value is an integer, multiplied by KECamFineResolutionFactor. For example to set an aperture of F2.8, call SetAperture(280).

Parameters

TInt aFStopa new aperture value in the supported by the camera range.

SetApertureExposureLockOn(TBool)

IMPORT_C voidSetApertureExposureLockOn(TBoolaAELock)

Sets the current state for aperture and exposure lock. Triggers a KUidECamEventAELock event to all MCameraObserver2 clients.

Parameters

TBool aAELocka value whether to lock exposure and aperture together.

SetAutoFocusArea(TAutoFocusArea)

IMPORT_C voidSetAutoFocusArea(TAutoFocusAreaaAutoFocusArea)

Sets a specific auto focus area on the camera. Focus area change fires a KUidECamEventCameraSettingAutoFocusArea event to all MCameraObserver2 clients of the camera.

Parameters

TAutoFocusArea aAutoFocusAreaAutofocus area selection.

SetAutoFocusLockOn(TBool)

IMPORT_C voidSetAutoFocusLockOn(TBoolaState)

Sets autofocus lock state. Triggers a KUidECamEventCameraSettingAutoFocusLock event to all MCameraObserver2 clients.

Parameters

TBool aStateRequired new state.

SetAutoFocusType(TAutoFocusType)

IMPORT_C voidSetAutoFocusType(TAutoFocusTypeaAutoFocusType)

Sets a specific auto focus type on the camera. The focus type change fires both, KUidECamEventCameraSettingAutoFocusType and KUidECamEventCameraSettingAutoFocusType2 event to all MCameraObserver2 clients of the camera. KUidECamEventCameraSettingAutoFocusType

Parameters

TAutoFocusType aAutoFocusTypeAutofocus selection.

SetAutomaticSizeSelectionChangeOn(TBool)

IMPORT_C voidSetAutomaticSizeSelectionChangeOn(TBoolaSetOn)

Allow camera to proactively change image size due external factors. Default value is EFalse. Triggers a KUidECamEventCameraSettingAutomaticSizeSelection event notification.

Parameters

TBool aSetOnwhether the option should be switched on

SetBracketMerge(TInt, TInt)

IMPORT_C voidSetBracketMerge(TIntaStartIndex,
TIntaFrames
)
Sets the settings for which frames to merge. Valid only in EDriveModeBracketMerge mode.
Note:

there must be at least two images to merge. All are assumed to form a sequence and are identified using the first frame index and number of frames e.g. to merge two frames - one on and one +1, when in EBracketMode3Image, one sets the start index to 1 and frames to 2. MCameraObserver2 clients are notified with a KUidECamEventBracketMerge event.

It is very TBracketMode setting dependent.

Parameters

TInt aStartIndexthe index of the start frame, starts from 0.
TInt aFramesthe number of frames to be merged.

SetBracketMode(TBracketMode)

IMPORT_C voidSetBracketMode(TBracketModeaBracketMode)

Set new bracket mode. All MCameraObserver2 clients are notified with KUidECamEventCameraSettingBracketMode.

Parameters

TBracketMode aBracketModenew selection for bracket mode of type TBracketMode.

SetBracketParameter(TBracketParameter)

IMPORT_C voidSetBracketParameter(TBracketParameteraBracketParameter)

Set new bracket parameter When set all clients are notified with KUidECamEventCameraSettingBracketParameter.

Parameters

TBracketParameter aBracketParameternew selection for parameter type of type TBracketParameter.

SetBracketStep(TBracketStep)

IMPORT_C voidSetBracketStep(TBracketStepaBracketStep)

Set new bracket step. All MCameraObserver2 clients are notified with KUidECamEventCameraSettingBracketStep.

Parameters

TBracketStep aBracketStepnew selection for step of type TBracketStep.

SetBurstImages(TInt)

IMPORT_C voidSetBurstImages(TIntaImages)
Set the number of images captured normally under EDriveModeBurst condition. Triggers a KUidECamEventBurstImages event to all MCameraObserver2 clients.
Note:

: due to memory or image size limitations the actual number may be less.

Note:

Unless reduced Latency scheme is not used (ie CaptureImageL(TInt aSequenceNumber) or StartPerformantVideoCaptureL()) if an image/video capture is still outstanding, this method may report error KErrInUse.

Parameters

TInt aImagesthe number of images set to capture in burst mode

SetClientPriorityL(TInt)

voidSetClientPriorityL(TIntaPriority)[private]

Sets the priority of the client. The client issues this call when it receives the notification KUidECamEvent2CameraSettingChangeClientPriority. The target priority is also supplied with this notification as iParam.

Note:

For example, a higher priority client is currently holding the camera and a lower priority legacy application is continuously requesting to get hold of it. After receiving a number of repeated requests by the same legacy client, the supportive ECam implementation issues the notification KUidECamEvent2CameraSettingChangeClientPriority. After receiving this notification, the client issues this method SetClientPriorityL(TInt aPriority).

leave
May leave with any error code.

Parameters

TInt aPriorityThe target priority.

SetContinuousAutoFocusTimeout(TInt)

IMPORT_C voidSetContinuousAutoFocusTimeout(TIntaTimeout)

Sets the current value for continuous autofocus timeout. Timeouts are in microseconds. All MCameraObserver2 clients of the camera receive a KUidECamEventCameraSettingsContinuousAutoFocusTimeout event notification when timeout value is changed.

Parameters

TInt aTimeoutthe timeout value in microseconds.

SetDigitalZoom(TInt)

IMPORT_C voidSetDigitalZoom(TIntaDigitalZoom)

Sets the digital zoom value. Triggers a KUidECamEventCameraSettingDigitalZoom event to all MCameraObserver2 clients.

Parameters

TInt aDigitalZoomRequired zoom value.

SetDriveMode(TDriveMode)

IMPORT_C voidSetDriveMode(TDriveModeaDriveMode)

Set the current metering mode. When set all MCameraObserver2 clients are notified with KUidECamEventCameraSettingDriveMode.

Note:

Unless reduced Latency scheme is not used (ie CaptureImageL(TInt aSequenceNumber) or StartPerformantVideoCaptureL()) if an image/video capture is still outstanding, this method may report error KErrInUse.

Parameters

TDriveMode aDriveModenew selection for drive mode value of type TDriveMode.

SetExposureCompensation(TInt)

IMPORT_C voidSetExposureCompensation(TIntaExposureCompensationInSteps)

Set the current exposure compensation value as integer steps. Triggers a KUidECamEventCameraSettingExposureCompensation event to all MCameraObserver2 clients.

Parameters

TInt aExposureCompensationInStepsa required number of compensation steps - negative value reduce the exposure time positive increases the exposure time.

SetExposureCompensationStep(TInt)

IMPORT_C voidSetExposureCompensationStep(TIntaExposureCompensationStep)

Set current exposure compensation step as an integer multiplied by KECamFineResolutionFactor. All MCameraObserver2 clients receive a KUidECamEventCameraSettingExposureCompensationStep event, when the value has changed.

Parameters

TInt aExposureCompensationStepa new value for the exposure compensation step.

SetExposureLockOn(TBool)

IMPORT_C voidSetExposureLockOn(TBoolaState)

Sets exposure lock state. Triggers a KUidECamEventCameraSettingExposureLock event to all MCameraObserver2 clients.

Parameters

TBool aStateRequired new state.

SetExposureMode(CCamera::TExposure)

IMPORT_C voidSetExposureMode(CCamera::TExposureaExposureMode)

Sets the exposure mode of the camera. Triggers a KUidECamEventCameraSettingExposureMode event to all MCameraObserver2 clients.

Parameters

CCamera::TExposure aExposureModeThe required exposure adjustment.

SetFlashCompensation(TInt)

IMPORT_C voidSetFlashCompensation(TIntaFlashCompensationInSteps)

Set the current flash compensation value as integer steps. Positive values increase power, negative reduce power. The change is not acumulative e.g. the change is stateless. Each call assumes no previous compensation has been performed i.e. that there is a zero compensation. Triggers a KUidECamEventCameraSettingFlashCompensation event.

Parameters

TInt aFlashCompensationInStepsa required compensation steps - negative value reduce the flash power positive boosts up the flash power.

SetFlashCompensationStep(TInt)

IMPORT_C voidSetFlashCompensationStep(TIntaFlashCompensationStep)

Set current flash compensation step as an integer multiplied by KECamFineResolutionFactor. For example to set a compensation of -0.3 EV, one should use a parameter with value -30. All clients receive a KUidECamEventCameraSettingFlashCompensationStep event, when the value has changed.

Parameters

TInt aFlashCompensationStepa new value for the flash compensation step.

SetFlashMode(CCamera::TFlash)

IMPORT_C voidSetFlashMode(CCamera::TFlashaMode)

Sets the flash mode.

Triggers a KUidECamEventCameraSettingFlashMode event to all camera MCameraObserver2 clients.

Parameters

CCamera::TFlash aModeThe required flash mode.

SetFlickerRemovalValueL(TFlickerRemoval)

voidSetFlickerRemovalValueL(TFlickerRemovalaFlickerRemovalValue)[private]

Set the flicker removal value.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventCameraSettingFlickerRemovalValue is used to notify clients about the flicker removal value setting operation.

Parameters

TFlickerRemoval aFlickerRemovalValueThe TFlickerRemoval value to be set.

SetFocusDistance(TInt)

IMPORT_C voidSetFocusDistance(TIntaDistance)

Set focus distance in millimetres. Focus distance change fires a KUidECamEventCameraSettingFocusDistance event to all MCameraObserver2 clients of the camera.

Note:

KUidECamEvent2CameraSettingFocusDistance may be used to provide the focussing feedback as well. This means that the feedback will state whether the proper focussing has been achieved after setting the given focus distance.

Parameters

TInt aDistancethe new distance value in millimetres.

SetFocusMode(TFocusMode)

IMPORT_C voidSetFocusMode(TFocusModeaFocusMode)

Sets a specific focus mode on the camera. Focus mode change fires a KUidECamEventCameraSettingFocusMode event to all MCameraObserver2 clients of the camera.

Parameters

TFocusMode aFocusModenew focus mode of TFocusMode type.

SetFocusRange(TFocusRange)

IMPORT_C voidSetFocusRange(TFocusRangeaFocusRange)

Sets a specific focus range on the camera. The focus range change fires both, KUidECamEventCameraSettingFocusRange and KUidECamEventCameraSettingFocusRange2 event to all MCameraObserver2 clients of the camera. KUidECamEventCameraSettingFocusRange

Parameters

TFocusRange aFocusRangenewly selected focus range.

SetISORateL(TISORateType, TInt)

IMPORT_C voidSetISORateL(TISORateTypeaISORateType,
TIntaParam
)

Set the type of ISO rate and the exposure parameter or value specified.

leave
KErrNotSupported if the implementation of this method is not present.
Note:

Triggers KUidECamEventCameraSettingIsoRateType to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. New setter functions leave only when implementation is not there.

Parameters

TISORateType aISORateTypeThe type of ISO rate to be set.
TInt aParamDepending on the value of aISORateType, possible values of aParam are one of the following:- The value of ISO rate to be used in case of manual type of ISO rate (EISOManual). OR Redundant parameter in case of unprioritised type of auto ISO (EISOAutoUnPrioritised). It is left to the camera hardware/firmware to decide how the ISO rate is selected. No priority regarding exposure is specified. OR Highest ISO rate to be picked by the camera while deciding for the best exposure in case of ISO prioritised type of auto ISO (EISOAutoISOPrioritised). ISO rate closest to this (and lower) may be used so that best possible exposure is achieved. OR Slowest shutter speed to be picked by the camera while deciding for the best exposure in case of shutter speed prioritised type of auto ISO (EISOAutoShutterSpeedPrioritised). After using this shutter speed, ISO rate is chosen by the camera to achieve proper exposure. Shutter speed closest to this (and faster) may be used so that best possible exposure is achieved. OR Minimum aperture opening (deepest depth of field) to be picked by the camera while deciding for the best exposure in case of aperture prioritised type of auto ISO (EISOAutoAperturePrioritised). After using this aperture opening, ISO rate is chosen by the camera to achieve proper exposure. Aperture opening closest to this (and wider) may be used to achieve best possible exposure.

SetIsoRate(TInt)

IMPORT_C voidSetIsoRate(TIntaRate)

Set current ISO rate for the camera. Triggers KUidECamEventCameraSettingIsoRate to all MCameraObserver2 clients of the camera.

Parameters

TInt aRaterequired new ISO rate.

SetLEDCustomEffectL(TLEDEvent, const RArray< TECamLEDSpecialEffectStep > &)

voidSetLEDCustomEffectL(TLEDEventaLEDEvent,
const RArray< TECamLEDSpecialEffectStep > &aLEDSpecialEffectSteps
)[private]

Set the custom LED effect for a particular LED event.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventCameraSettingLEDCustomEffect is used to notify clients about the LED effect setting operation.

Successful setting of a custom LED effect means that the GetLEDEffectL will retrieve TLEDEffectCustom for the LEDEvent aLEDEvent.

Parameters

TLEDEvent aLEDEventThe TLEDEvent for which the custom LED effect has to be set.
const RArray< TECamLEDSpecialEffectStep > & aLEDSpecialEffectStepsAn array of custom LED special effect steps. Every member of this array is of type TECamLEDSpecialEffectStep. The array as a whole constitues a custom LED effect.

SetLEDEffectL(TLEDEvent, TLEDEffect)

voidSetLEDEffectL(TLEDEventaLEDEvent,
TLEDEffectaLEDEffect
)[private]

Set the LED effect for a particular LED event.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventCameraSettingLEDEffect is used to notify clients about the LED effect setting operation.

The event will provide error code KErrArgument if TLEDEffectCustom is used as the TLEDEffect. Use the method SetLEDCustomEffectL() to provide the custom LED effect.

Parameters

TLEDEvent aLEDEventThe TLEDEvent for which the LED effect has to be set.
TLEDEffect aLEDEffectThe TLEDEffect which has to be set for the given LED event. It should not be TLEDEffectCustom. Use the method SetLEDCustomEffectL() to provide the custom LED effect.

SetManualFlashPowerLevel(TInt)

IMPORT_C voidSetManualFlashPowerLevel(TIntaManualFlashPowerLevel)

Sets the current manual flash power level on the camera. Triggers a KUidECamEventCameraSettingFlashManualPower event to all MCameraObserver2 clients.

Parameters

TInt aManualFlashPowerLevelone of the values returned in GetManualFlashPowerLevelsL().

SetManualGainL(TInt, TColorChannel)

voidSetManualGainL(TIntaManualGain,
TColorChannelaColorChannel
)[private]

Set the manual gain value for a particular color channel.

leave
KErrNotSupported if the implementation of this method is not present.
Note:

Event KUidECamEvent2CameraSettingManualGain is used to notify clients about the manual gain setting operation.

The client will be expected to use either RBG color channel or YUV color channel in order to apply manual gain. If the client sets manual gain values for both the color space, it is up to the implementation to decide which values to use.

Parameters

TInt aManualGainThe manual gain value to be set. The TInt represents the unit in 'db' and multiplied by KECamFineResolutionFactor.
TColorChannel aColorChannelRepresents the color channel for which the manual gain value has to be set.

SetMeteringMode(TMeteringMode)

IMPORT_C voidSetMeteringMode(TMeteringModeaMeteringMode)

Set the current metering mode. When set, all MCameraObserver2 clients are notified with a KUidECamEventCameraSettingMeteringMode event.

Parameters

TMeteringMode aMeteringModenew selection for metering mode of type TMeteringMode.

SetNDFilterL(TNDFilter)

voidSetNDFilterL(TNDFilteraNDFilter)[private]

Set the neutral density filter.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventCameraSettingNDFilter is used to notify clients about the neutral density setting operation.

Parameters

TNDFilter aNDFilterThe TNDFilter value to be set.

SetOperationPreferenceL(TUint)

IMPORT_C voidSetOperationPreferenceL(TUintaOperationPreferenceIndex)

Set a particular operation preference.

leave
KErrNotSupported If the implementation of this method is not present.
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.

SetOpticalZoom(TInt)

IMPORT_C voidSetOpticalZoom(TIntaOpticalZoom)

Sets the zoom using a specific value. Triggers a KUidECamEventCameraSettingOpticalZoom event to all MCameraObserver2 clients.

Parameters

TInt aOpticalZoomRequired zoom value.

SetPictureOrientation(TPictureOrientation)

IMPORT_C voidSetPictureOrientation(TPictureOrientationaOrientation)

Set a new picture orientation This triggers a KUidECamEventCameraSettingPictureOrientation event to all MCameraObserver2 clients.

Parameters

TPictureOrientation aOrientationa value of TPictureOrientation denoting the new orientation.

SetPixelAspectRatio(TPixelAspectRatio)

IMPORT_C voidSetPixelAspectRatio(TPixelAspectRatioaPixelAspectRatio)

Set a new pixel aspect ratio. This triggers a KUidECamEventPixelAspectRatio event to all MCameraObserver2 clients.

Parameters

TPixelAspectRatio aPixelAspectRatioa value of TPixelAspectRatio denoting the new pixel aspect ratio.

SetRedEyeReduceOn(TBool)

IMPORT_C voidSetRedEyeReduceOn(TBoolaState)

Sets the flash red eye reduction on or off.

Triggers a KUidECamEventCameraSettingFlashRedEyeReduce event to all camera MCameraObserver2 clients.

Parameters

TBool aStateThe required state ETrue for switching it on and EFalse for switching it off.

SetReferenceScreenL(CWsScreenDevice &)

IMPORT_C voidSetReferenceScreenL(CWsScreenDevice &aScreenDevice)

Provide reference screen for orientation information.

leave
KErrNotSupported if the implementation of this method is not present.
Note:

Triggers KUidECamEventCameraSettingReferenceScreen to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. New setter functions leave only when implementation is not there.

Parameters

CWsScreenDevice & aScreenDeviceA reference to the screen device.

SetShootClickOn(TBool)

IMPORT_C voidSetShootClickOn(TBoolaShootClickOn)

Sets the button clicking sound on /off. Triggers a KUidECamEventSoundClick event to all MCameraObserver2 clients.

Parameters

TBool aShootClickOnETrue to switch clicking sound on, EFalse sound is switched off.

SetShutterSpeed(TInt)

IMPORT_C voidSetShutterSpeed(TIntaShutterSpeed)

Sets the current shutter speed. When set, all MCameraObserver2 clients of the camera receive a KUidECamEventCameraSettingShutterSpeed event

Parameters

TInt aShutterSpeedthe required shutter speed in microseconds.

SetStabilizationComplexity(TStabilizationAlgorithmComplexity)

IMPORT_C voidSetStabilizationComplexity(TStabilizationAlgorithmComplexityaComplexity)

Sets a specific stabilization algorithm on the camera. When a value is set, MCameraObserver2 clients for that camera will receive a KUidECamEventSettingsStabilizationAlgorithmComplexity event notification.

Parameters

TStabilizationAlgorithmComplexity aComplexitystabilization effect selection of type TStabilizationAlgorithmComplexity.

SetStabilizationEffect(TStabilizationEffect)

IMPORT_C voidSetStabilizationEffect(TStabilizationEffectaEffect)

Sets a specific stabilization effect on the camera. When a value is set, MCameraObserver2 clients for that camera will receive a KUidECamEventCameraSettingsStabilizationEffect event notification.

Parameters

TStabilizationEffect aEffectstabilization effect selection of type TStabilizationEffect.

SetStabilizationMode(TStabilizationMode)

IMPORT_C voidSetStabilizationMode(TStabilizationModeaStabilizationMode)

Sets a specific stabilization mode on the camera.

Stabilization mode change fires a KUidECamEventCameraSettingStabilizationMode event to all MCameraObserver2 clients of this specific camera.

Parameters

TStabilizationMode aStabilizationModenew stabilization mode of TStabilizationMode type.

SetTimeLapse(const TTime &, const TTime &, const TTime &)

IMPORT_C voidSetTimeLapse(const TTime &aStart,
const TTime &aEnd,
const TTime &aInterval
)

Set current time lapse value. Active only when drive mode EDriveModeTimeLapse. The time lapse is denoted as the uniform time period between consecutive frames. Setting triggers a KUidECamEventCameraSettingTimeLapse event to all MCameraObserver2 camera clients.

Parameters

const TTime & aStartthe start of the timelapse period.
const TTime & aEndthe end of the timelapse period; start < end.
const TTime & aIntervalthe set parameter between two successive snapshots.

SetTimerInterval(TInt)

IMPORT_C voidSetTimerInterval(TIntaTimerInterval)

Set current timer value. Active only when drive mode EDriveModeTimed. This is the time interval (delay) in microseconds between user pressing the button and image is taken. The setting of the value triggers a KUidECamEventCameraSettingTimerInterval event to all MCameraObserver2 clients.

Parameters

TInt aTimerIntervalThe selected timer interval in microseconds.

SetWBColorTemperature(TInt)

IMPORT_C voidSetWBColorTemperature(TIntaWBColorTemperature)

Set the white balance as a temperature in Kelvin

Parameters

TInt aWBColorTemperaturewhite balance value as a temperature in Kelvins.

SetWBRgbValue(const TRgb &)

IMPORT_C voidSetWBRgbValue(const TRgb &aValue)

Set white balance value using a RGB triplet. Change in value causes an event notification KUidECamEventCameraSettingsWBValue to be sent to all MCameraObserver2 clients of this camera.

TRgb

Parameters

const TRgb & aValuea const reference to TRgb object, which contains the new white balance.

SetWhiteBalanceLockL(TBool)

voidSetWhiteBalanceLockL(TBoolaEnableLock)[private]

Control the white balance lock. It can be either locked or unlocked. The white balance can be locked after aiming at a white or grey card. This helps in using the same white balance setting for the next image shots.

leave
KErrNotSupported If the implementation of this method is not present.
Note:

Event KUidECamEventCameraSettingLockWhiteBalance is used to notify clients about setting the state of white balance lock.

Parameters

TBool aEnableLockETrue instructs to lock the white balance. EFalse instructs to unlock the white balance.

SetWhiteBalanceMode(CCamera::TWhiteBalance)

IMPORT_C voidSetWhiteBalanceMode(CCamera::TWhiteBalanceaWhiteBalanceMode)

Sets the white balance adjustment of the camera.

No effect if this is not supported, see TCameraInfo::iWhiteBalanceModesSupported. Triggers KUidECamEventCameraSettingWhiteBalanceMode event to all MCameraObserver2 clients.

Parameters

CCamera::TWhiteBalance aWhiteBalanceModeThe required white balance mode.

SetYuvRange(TYuvRange)

IMPORT_C voidSetYuvRange(TYuvRangeaYuvRange)

Set a new YUV range. This triggers a KUidECamEventYuvRange event to all MCameraObserver2 clients.

Parameters

TYuvRange aYuvRangea value of TYuvRange denoting the new YUV range.

ShootClickOn()

IMPORT_C TBoolShootClickOn()const

Gets the current state for button clicking sound effect.

ShutterSpeed()

IMPORT_C TIntShutterSpeed()const

Gets the current shutter speed

StabilizationComplexity()

IMPORT_C TStabilizationAlgorithmComplexityStabilizationComplexity()const

Gets current active stabilization algorithm selection on the camera.

StabilizationEffect()

IMPORT_C TStabilizationEffectStabilizationEffect()const

Gets all supported stabilization effects on the camera.

StabilizationMode()

IMPORT_C TStabilizationModeStabilizationMode()const

Gets current stabilization mode on the camera. The result is a valid TStabilizationMode value.

SubscribeToPreCaptureWarningL(TInt)

IMPORT_C voidSubscribeToPreCaptureWarningL(TIntaPreCaptureWarning)

Subscribe in order to receive event which indicates warnings on occurrence of some specific unfavourable conditions before image/video capture.

leave
KErrNotSupported if the implementation of this method or the feature is not supported. May also leave as a result of other errors.
Note:

When any of the subscribed warnings (represented by aPreCaptureWarning) get generated by the camera device, event KUidECamEventCameraSettingPreCaptureWarning is issued. TECAMEvent2 class should be used in order to provide the status of every PreCaptureWarning.

Parameters

TInt aPreCaptureWarningA bitfield specifying all the TPreCaptureWarning types to be subscribed for.

SupportedAutoFocusAreas()

IMPORT_C TIntSupportedAutoFocusAreas()const

Gets all supported auto focus areas on the camera.

SupportedAutoFocusTypes()

IMPORT_C TIntSupportedAutoFocusTypes()const

Gets all supported auto focus types on the camera.

SupportedBracketModes()

IMPORT_C TIntSupportedBracketModes()const

Get all supported bracket modes as bitfields.

SupportedBracketParameters()

IMPORT_C TIntSupportedBracketParameters()const

Get all supported bracket parameters as bitfields.

SupportedBracketSteps()

IMPORT_C TIntSupportedBracketSteps()const

Get all supported bracket steps as bitfields.

SupportedDriveModes()

IMPORT_C TIntSupportedDriveModes()const

Get all supported drive modes as bitfields of TDriveMode type.

SupportedExposureModes()

IMPORT_C TIntSupportedExposureModes()const

Get Supported exposure modes - bitfields of CCamera::TExposure

SupportedFlashModes()

IMPORT_C TIntSupportedFlashModes()const

Get camera all supported flash modes CCamera::TFlash

Note:

Some of the flash modes are available only for clients using either CCamera::New2L() or CCamera::NewDuplicate2L()

CCamera::TFlash

SupportedFocusModes()

IMPORT_C TIntSupportedFocusModes()const

Gets all of the supported focus modes on the camera. The result is a bitfield of the valid TFocusMode flags. TFocusMode

SupportedFocusRanges()

IMPORT_C TIntSupportedFocusRanges()const

Gets all supported focus ranges on the camera.

Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values. So, any extra enum value passed from the implementation will be filtered at this point. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

SupportedMeteringModes()

IMPORT_C TIntSupportedMeteringModes()const

Get all supported metering modes on this camera represented as bitfield of type TMeteringMode.

SupportedPixelAspectRatios()

IMPORT_C TIntSupportedPixelAspectRatios()const

Get supported pixel aspect ratio.

Note:

Some of the pixel aspect ratios are available only for clients using either CCamera::New2L() or CCamera::NewDuplicate2L()

SupportedStabilizationComplexityValues()

IMPORT_C TIntSupportedStabilizationComplexityValues()const

Gets all supported stabilization algorithm values on the camera.

SupportedStabilizationEffects()

IMPORT_C TIntSupportedStabilizationEffects()const

Gets the current stabilization effect on the camera.

SupportedStabilizationModes()

IMPORT_C TIntSupportedStabilizationModes()const

Gets all of the supported stabilization modes on the camera. The result is a bitfield of the valid TStabilizationMode flags. TStabilizationMode

SupportedWBUnits()

IMPORT_C TWBUnitsSupportedWBUnits()const
Gets the units in which the white balance is measured on the camera.
Note:

The methods used to get or set these differ depending on the supported unit type. It is expected that a camera will support only a single type or none.

SupportedWhiteBalanceModes()

IMPORT_C TIntSupportedWhiteBalanceModes()const

Gets camera supported set of white balance adjustments.

Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values. So, any extra enum value(unrecognised) passed from the implementation will be filtered at this point. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

SupportedYuvRanges()

IMPORT_C TIntSupportedYuvRanges()const

Get supported YUV ranges.

TimerInterval()

IMPORT_C TIntTimerInterval()const

Get current timer value. Active only when drive mode is EDriveModeTimed. Timer resolution is in microseconds.

UnSubscribePreCaptureWarningL()

IMPORT_C voidUnSubscribePreCaptureWarningL()

Unsubscribe so that further events are not received when warnings get issued.

leave
KErrNotSupported if the implementation of this method or the feature is not supported. May also leave as a result of other errors.

WBColorTemperature()

IMPORT_C TIntWBColorTemperature()const

Get the white balance as a temperature in Kelvin

WhiteBalanceMode()

IMPORT_C CCamera::TWhiteBalanceWhiteBalanceMode()const

Gets the current white balance value.

Note:

if CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values. So, any extra enum value(unrecognised) received from the implementation will be dropped and EWBAuto would be passed instead. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

YuvRange()

IMPORT_C TYuvRangeYuvRange()const

Get current YUV range.

Member Enumerations Documentation

Enum TAFAssistantLight

Specifies the different types of auto focus assistant light

Enumerators

EAFAssistantLightOff = 0x00

switch off the AF assistant light from either of 'manual on' or 'auto' mode

EAFAssistantLightManualOn = 0x01

switch on the AF assistant light manually

EAFAssistantLightAuto = 0x02

Put the AF assistant light in auto mode. It will be automatically decided when to switch on or off.

Enum TAutoFocusArea

Specifies the autofocus area.

Enumerators

EAutoFocusTypeAuto = 0x00

Automatic. Default value

EAutoFocusTypeSingleArea = 0x01

Single area, suitable for relatively flat surfaces and portrait.

EAutoFocusTypeMultiAreaCentered = 0x02

Multiple points of an object, more weighting for centre points.

Enum TAutoFocusType

Specifies the supported autofocus types.

Enumerators

EAutoFocusTypeOff = 0x00

Autofocus is switched off.

EAutoFocusTypeSingle = 0x01

Operates on a single shot, consumes less power.

EAutoFocusTypeContinuous = 0x02

Continious autofocus, more precise but consumes more power. also known as AF Servo.

Enum TBracketMode

Specifies Bracket mode.

Enumerators

EBracketModeOff = 0x0000

Bracket mode is switched off. Default value.

EBracketMode3Image = 0x0001

Bracket mode on. Three consecutive pictures are taken in order under (-1), on (0), over (+1), where correction magnitude is defined by bracket step size and by TBracketParameter TBracketStep TBracketParameter

EBracketMode5Image = 0x0002

Bracket mode on. Five consecutive pictures are taken in order under (-2),under (-1), on (0), over (+1), over (+2), where correction magnitude is defined by bracket step size and by TBracketParameter TBracketStep TBracketParameter

Enum TBracketParameter

Supported parameters used for bracketing.
Note:

Bracket mode parameter value changes by a selected uniform step between successive image shots.

TBracketStep TBracketMode.

Enumerators

EBracketParameterNone = 0x0000

None.

EBracketParameterExposure = 0x0001

Exposure settings change.

EBracketParameterFlashPower = 0x0002

Flash power change.

EBracketParameterColourBalance = 0x0004

Colour balance settings change.

BracketParameterAperture = 0x0008

Aperture settings change.

BracketParameterAutoFocus = 0x0010

Autofocus settings change.

Enum TBracketStep

Specifies the magnitude of bracketing step. The actual value and availability is parameter dependent. TBracketParameter

Enumerators

EBracketStepNonConfig = 0x00

Not supported.

EBracketStepSmall = 0x01

Small value.

EBracketStepMedium = 0x02

Medium value.

EBracketStepLarge = 0x04

Large value.

Enum TCameraMode

Describes the camera mode.

Enumerators

EModeIdle = 0x00

Camera is Idle

EModeDSAViewFinder = 0x01

DSA based Viewfinder runs

EModeClientViewFinder = 0x02

Client based Viewfinder runs

Enum TCameraType

Specifies camera type.

Enumerators

ECameraUnknown = 0x00

Unable to identify.

ECameraOnBoard = 0x01

Camera is non-detachable from device. Camera is always present.

ECameraPluggable = 0x02

Camera is detachable from device. Camera is not always present.

Enum TColorChannel

Color channels on which manual gain can be selectively applied. The enumeration list may be extended in future.

Enumerators

EColorChannelRed

Red Color Channel (RGB model).

EColorChannelGreen

Green Color Channel (RGB model).

EColorChannelBlue

Blue Color Channel (RGB model).

EChannelLumaY

Luminance Y component (YUV model).

EChannelChromaU

Chrominance U component (YUV model).

EChannelChromaV

Chrominance V component (YUV model).

Enum TContinuousZoomType

Specifies the different types of continuous zoom supported. The enumeration list may be extended in future.

Enumerators

EContinuousZoomNotSupported = 0x00

Continuous zoom not supported

EContinuousZoomOpticalOnly = 0x01

Continuous zoom 'Optical' only, No 'Digital'

EContinuousZoomMixed = 0x02

Continuous zoom 'Optical' and 'Digital'

EContinuousZoomDigitalOnly = 0x04

Continuous zoom 'Digital' only, No 'Optical'

Enum TDriveMode

Specifies the drive mode for the camera. This determines how and in what sucession are images shot. EDriveModeSingleShot is the default.

Enumerators

EDriveModeAuto = 0x0000

Automatic. Default

EDriveModeSingleShot = 0x0001

Camera takes a single image/shot.

EDriveModeContinuous = 0x0002

Camera continuously captures images (as fast as it can) until stopped or out of storage medium.

EDriveModeBracket = 0x0004

Camera is in bracketing mode, producing individual frames. TBracketMode

EDriveModeBracketMerge = 0x0008

Camera is in bracketing mode, but producing a single image. TBracketMode

EDriveModeTimed = 0x0010

camera captures a single shot after specified time period. Timer()

EDriveModeTimeLapse = 0x0020

Camera captures a set of images with an uniform interval between them. TimeLapse()

EDriveModeBurst = 0x0040

Camera captures a set of images as fast as it can, but in batches(bursts).

EDriveModeTimeNudgeCapture = 0x0080

Camera captures a set of images before and after camera capture key press event. Client can specify the amount of pre-capture and post-capture images to be saved via TDriveModeDependentAttributes. The total amount of images to be saved will be pre-capture images + 1 + post-capture images.

Note:

This drive mode is only available to clients using the CCamera::New2L() or CCamera::NewDuplicate2L() in addition to the new image capture APIs ie. CCameraPreImageCaptureControl, CCameraImageCapture and CCameraPostImageCaptureControl.

Enum TECAMEventFilterScheme

Enumerators

EECAMEventFilterSchemeBlackList

Black listing will mean not to receive specific events

EECAMEventFilterSchemeWhiteList

White listing will mean to receive only specific events

Enum TFlickerRemoval

Specifies flicker removal options. The enumeration list may be extended in future.

Enumerators

EFlickerRemovalNone = 0x00

Not Supported.

EFlickerRemoval50Hz = 0x01

Flicker removal for Field frequency of 50Hz.

EFlickerRemoval60Hz = 0x02

Flicker removal for Field frequency of 60Hz.

EFlickerRemovalAuto = 0x04

Auto flicker removal.

EFlickerRemovalSwitchOff = 0x08

Switch Off flicker removal.

Enum TFocusMode

Supported focus modes.

Enumerators

EFocusModeUnknown = 0x00

Focus mode is unknown.

EFocusModeAuto = 0x01

Focus is automatic, default.

EFocusModeFixed = 0x02

Focus is fixed.

EFocusModeManual = 0x04

Focus is manually set.

Enum TFocusRange

Supported focus ranges.

Enumerators

EFocusRangeAuto = 0x00

Auto. Default

EFocusRangeMacro = 0x01

Focus operates in close range (macro).

EFocusRangeNormal = 0x02

Normal operation.

EFocusRangeTele = 0x04

Extended (tele) operation.

EFocusRangePortrait = 0x08

Focus at larger areas at short to medium distance.

EFocusRangeSuperMacro = 0x10

Optimised macro operation, where depth of field is very shallow and observation area changes quickly.

EFocusRangeHyperfocal = 0x20

All objects at distances from half of the hyperfocal distance out to infinity will be in focus. This gives gives maximum depth of field.

This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

EFocusRangeInfinite = 0x40

When there is a near obstacle or better focus wanted for far away objects.

This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

Enum TISORateType

Specifies the ISO type supported by the camera. ISO refers to the sensivity of the image sensor and is one of the factors influencing the exposure.

Enumerators

EISONone = 0x00

ISO Not supported. Camera uses a fixed ISO rate internally and never reveals this information.

EISOManual = 0x01

Camera gives a list of manual ISO rates to the user to set. Recommendation is to start camera in the manual ISO mode, by default.

EISOAutoUnPrioritised = 0x02

Camera chooses the ISO on its own without prioritising any particular exposure parameters.

EISOAutoISOPrioritised = 0x04

Camera chooses the ISO on its own by prioritising ISO.

EISOAutoShutterSpeedPrioritised = 0x08

Camera chooses the ISO on its own after prioritising shutter speed.

EISOAutoAperturePrioritised = 0x10

Camera chooses the ISO on its own after prioritising aperture opening.

Enum TLEDEffect

Specifes the type of LED effects available. The enumeration list may be extended in future.

Enumerators

ELEDEffectNone = 0x00

Not supported.

ELEDEffectHardwired = 0x01

LED always on.

ELEDEffectAuto = 0x02

LED auto.

ELEDEffectManualSwitchOn = 0x04

LED Effect manually switched on.

ELEDEffectSwitchOff = 0x08

LED Effect switched off.

ELEDEffectCustom = 0x10

LED Custom Effect.

Enum TLEDEvent

Specifies the various events for which the LED effects could be used. The enumeration list may be extended in future.

Enumerators

ELEDEventNone = 0x00

Not supported.

ELEDEventSelfTimer = 0x01

LED effect needed for self timer.

ELEDEventViewfinderStart = 0x02

LED effect needed for starting of viewfinder.

ELEDEventViewfinderStop = 0x04

LED effect needed for stoping of viewfinder.

ELEDEventStillImageCapture = 0x08

LED effect needed for still image capture.

ELEDEventVideoRecording = 0x10

LED effect needed for video recording.

Enum TMeteringMode

Specifies the Metering mode for the camera. EMeteringModeAuto is the default value.

Enumerators

EMeteringModeAuto = 0x0000

Automatic mode, default.

EMeteringModeCenterWeighted = 0x0001

Metering in which the center is given a weighted priority.

EMeteringModeSpot = 0x0002

Metering of a central area/spot only, also known as partial.

EMeteringModeEvaluative = 0x0004

Metering is evaluated over a matrix(several spots) and calculated as a function of that. Usually best but with increased power consumption. Alternative name multi-metering mode.

Enum TNDFilter

Specifes the type of neutral density filters available. The enumeration list may be extended in future.

Enumerators

ENDFilterNone = 0x00

Not Supported.

ENDFilterAuto = 0x01

Auto ND Filter.

ENDFilterSwitchedOff = 0x02

Switched off ND Filter.

ENDFilterHigh = 0x04

High level ND Filter.

ENDFilterMedium = 0x08

Medium level ND Filter.

ENDFilterLow = 0x10

Low level ND Filter.

ENDFilterGeneral = 0x20

General ND Filter.

Enum TPerformanceLevel

Different levels for performance vectors like speed, quality, low memory consumption and low power consumption. The enumeration list may be extended in future.

Enumerators

ELevelHigh = 1

High level preference.

ELevelMedium = 2

Medium level preference.

ELevelLow = 3

Low level preference.

ELevelDontCare = 4

Dont care (No preference).

Enum TPictureOrientation

Specifies the orientation of the picture.

Enumerators

EPictureOrientationUnknown = 0x00

No information about picture orientation.

EPictureOrientationPortrait = 0x01

Portrait - height larger than width.

EPictureOrientationLandscape = 0x02

Landscape width larger than height.

EPictureOrientationSquare = 0x04

Square width equals the height.

Enum TPixelAspectRatio

Specifies the pixel aspect ratio
Note:

It is specified as a fraction of (x) horizontal pixel size divided by vertical (y) pixel size. The pixel aspect ratio for square pixels is 1/1.

Enumerators

EPixelAspectUnknown = 0x00

Pixel ratio undetermined

EPixelAspect1To1 = 0x01

Pixel Ratio 1:1.

EPixelAspect12To11 = 0x02

Pixel Ratio 12:11

EEPixelAspect11To10 = 0x04

Pixel Ratio 11:10.

EEPixelAspect59To54 = 0x08

Pixel Ratio 59:54.

EEPixelAspect16To11 = 0x10
Pixel Ratio 16:11.
Note:

This value is available only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L()

EEPixelAspect10To11 = 0x20
Pixel Ratio 10:11.
Note:

This value is available only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L()

EEPixelAspect40To33 = 0x40
Pixel Ratio 40:33.
Note:

This value is available only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L()

Enum TPreCaptureWarning

Specifies the unfavourable circumstances as pre capture warnings which may be issued before image/video capture.

Enumerators

EPCWNone = 0x0000

No warnings

EPCWOverExposure = 0x0001

warning to indicate that camera sensor is over exposed

EPCWUnderExposure = 0x0002

warning to indicate that camera sensor is under exposed

EPCWLowLight = 0x0004

warning to indicate that camera operates under insufficient lightning conditions

EPCWBadFocus = 0x0008

warning to indicate that focussing is not optimum. This is valid for manual/fixed focus only

EPCWHandShakePossible = 0x0010

warning to indicate that camera might not be firmly gripped (Tripod required). This is same as long exposure

EPCWNotEnoughPowerForFlash = 0x0020

warning to indicate that camera has not enough power to survive the flash operations (battery discharged)

EPCWWrongWhiteBalanceValue = 0x0040

warning to indicate that the current white balance is not the desired one

EPCWWrongFlashValue = 0x0080

warning to indicate that the current flash value is not the desired one

EPCWWrongDigiZoomValue = 0x0100

warning to indicate that the current digital zoom value is not the desired one

EPCWDigiZoomBadQuality = 0x0200

warning to indicate that the desired digital zoom affects the quality of image

EPCWFlashNotReady = 0x0400

warning to indicate that flash is not ready. Recommendation: user may subscribe for this warning or issue IsFlashReady() also. Using both options is not encouraged

EPCWGeneralWarning = 0x0800

unknown reason

EPCWFlashOverheated = 0x1000

warning to indicate that flash has been overheated.

Note:

This value is available only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L()

EPCWFlashNotNeeded = 0x2000

warning to indicate that flash will not be fired because of enough ambient light.

Note:

This value is available only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L()

Enum TStabilizationAlgorithmComplexity

Supported stabilization algorithms, graded on complexity.

Enumerators

EStabilizationComplexityAuto = 0x00

Stabilization algorithm selection is automatic, default.

EStabilizationComplexityLow = 0x01

Stabilization algorithm is simple - less precise but fast.

EStabilizationComplexityMedium = 0x02

Stabilization algorithm is of medium complexity.

EStabilizationComplexityHigh = 0x04

Stabilization algorithm is of high complexity.

Enum TStabilizationEffect

Supported magnitudes of stabilization effect when in manual mode.

Enumerators

EStabilizationOff = 0x00

Stabilization effect is off.

EStabilizationAuto = 0x01

Stabilization effect is automatic, default.

EStabilizationFine = 0x02

Stabilization effect is very small in magnitude.

EStabilizationMedium = 0x04

Stabilization effect is average in magnitude.

EStabilizationStrong = 0x08

Stabilization effect is large in magnitude.

Enum TStabilizationMode

Specifies stabilization mode of the camera.

Enumerators

EStabilizationModeOff = 0x00

Not present or switched off, default

EStabilizationModeHorizontal = 0x01

Stabilization only in horizontal direction.

EStabilizationModeVertical = 0x02

Stabilization only in vertical direction.

EStabilizationModeRotation = 0x04

Rotational stabilization.

EStabilizationModeAuto = 0x08

Automatic stabilization.

EStabilizationModeManual = 0x10

Manual stabilization.

Enum TWBUnits

Specifies the units supported by the camera for manual white balance setting.

Enumerators

EWBUnknown

The units type is undetermined or not supported.

EWBColorTemperature

The white balance is represented as temperature degrees in Kelvin.

EWBRgb

The white balance is represented as RGB triples.

Enum TYuvRange

Specifies YUV colour space dynamic range.
Note:

video compressors often use narrower than the default range. The nominal Y range is [16:235] and the U and V ranges [16:240].

Enumerators

EYuvRangeUnknown = 0x00

Yuv range undetermined

EYuvRangeFull = 0x01

Yuv Full Range. The nominal Y,U and V colours range is [0:255].

EYuvRangeVideoCropped = 0x02

Yuv Cropped Range. The nominal Y range is [16:235] and the U and V ranges [16:240].

Enum TZoomDirection

Specifies the zoom direction for continuous zoom operation. The enumeration list may be extended in future.

Enumerators

EZoomDirectionNone = 0x00

Implies that feature not supported.

EZoomDirectionWide = 0x01

Implies zooming out.

EZoomDirectionTele = 0x02

Implies zooming in.

Member Data Documentation

MCameraAdvancedSettings * iImpl

MCameraAdvancedSettings *iImpl[private]

MCameraAdvancedSettings2 * iImpl2

MCameraAdvancedSettings2 *iImpl2[private]

MCameraAdvancedSettings3 * iImpl3

MCameraAdvancedSettings3 *iImpl3[private]

MCameraAdvancedSettings4 * iImpl4

MCameraAdvancedSettings4 *iImpl4[private]

CCamera & iOwner

CCamera &iOwner[private]