Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: VPROP.H
Link against: versit.lib

Class CParserTimePropertyValue

class CParserTimePropertyValue : public CParserPropertyValue;

Description

Abstract base class for all of the date/time property value classes.

Provides date/time conversion functions between machine-local and universal time.

The date/time property value classes are CParserPropertyValueAlarm, CParserPropertyValueDate, CParserPropertyValueDateTime, CParserPropertyValueMultiDateTime, CParserPropertyValueDaylight and CParserPropertyValueRecurrence.

Derivation

Members

Defined in CParserTimePropertyValue:
CParserTimePropertyValue(), ConvertAllDateTimesToUTCL(), ConvertAllUTCDateTimesToMachineLocalL(), ConvertDateTime(), EncodeTimePeriodL(), EncodeVersitDateTimeL(), SupportsInterface()

Inherited from CBase:
Delete(), Extension_(), operator new()

Inherited from CParserPropertyValue:
Append(), EncodeL(), ExternalizeL(), FoldAndWriteValueToStreamL(), FoldEncodeAndWriteValueToStreamL(), IsAsciiCharacterSetSufficient(), PlugIn(), SetPlugIn(), Uid()


Construction and destruction


CParserTimePropertyValue()

protected: IMPORT_C CParserTimePropertyValue(const TUid &aPropertyValueUid);

Description

Parameters

const TUid &aPropertyValueUid

[Top]


Member functions


ConvertAllDateTimesToUTCL()

virtual IMPORT_C void ConvertAllDateTimesToUTCL(const TTimeIntervalSeconds &aIncrement, const CVersitDaylight *aDaylight)=0;

Description

This is implemented, where applicable, to convert date/time values into universal time.

The date/time is checked against the daylight saving information provided in aDaylight. If it falls inside the daylight saving period then the daylight saving offset is subtracted from the time to convert it to universal time. Otherwise aIncrement is added to the date/time of the alarm to convert it to universal time.

Note that the daylight savings offset will adjust the time both for the daylight saving and for the time zone.

The function has no effect if it date/times are already stored in universal time.

If aDaylight is a NULL pointer then aIncrement is used.

Parameters

const TTimeIntervalSeconds &aIncrement

A time interval in seconds which represents the time zone's offset from universal time.

const CVersitDaylight *aDaylight

Pointer to the specification for daylight saving. If the alarm's time value is within the period for daylight saving, the value is modified by the daylight saving offset (which accounts for both the time zone and daylight saving rule).


ConvertAllUTCDateTimesToMachineLocalL()

virtual IMPORT_C void ConvertAllUTCDateTimesToMachineLocalL(const TTimeIntervalSeconds &aIncrement)=0;

Description

Pure virtual function which is implemented, where applicable, to convert the date/time property value into machine-local time.

This process involves adjusting the date/time value by the offset in aIncrement.

The function has no effect if the value is already stored as machine-local time.

The universal date/times are assumed to have been corrected for any daylight saving rule in effect.

Parameters

const TTimeIntervalSeconds &aIncrement

A time interval which represents the number of seconds which is to be added to the date/time value. This should normally be the universal time offset for the machine's locale.


SupportsInterface()

virtual IMPORT_C TBool SupportsInterface(const TUid &aInterfaceUid) const;

Description

Tests whether the property value supports the specified interface.

It overrides the base class function, which always returns EFalse.

This function is used to test whether or not a property value is time-related (i.e. derived from CParserTimePropertyValue). It returns ETrue if aInterfaceUid is KVersitTimePropertyUid.

Parameters

const TUid &aInterfaceUid

An interface UID.

Return value

TBool

ETrue if KVersitTimePropertyUid is specified as the interface UID, otherwise EFalse.


ConvertDateTime()

protected: IMPORT_C void ConvertDateTime(TDateTime *aDateTime, const TTimeIntervalSeconds &aIncrement, const CVersitDaylight *aDaylight);

Description

Parameters

TDateTime *aDateTime

const TTimeIntervalSeconds &aIncrement

const CVersitDaylight *aDaylight


EncodeVersitDateTimeL()

protected: IMPORT_C void EncodeVersitDateTimeL(TDes8 &aBuf, const TVersitDateTime &aDateTime, TBool aEncodeTime=ETrue) const;

Description

Parameters

TDes8 &aBuf

const TVersitDateTime &aDateTime

TBool aEncodeTime


EncodeTimePeriodL()

protected: IMPORT_C void EncodeTimePeriodL(TDes8 &aBuf, const TTime &aTimePeriod) const;

Description

Parameters

TDes8 &aBuf

const TTime &aTimePeriod