Symbian
Symbian OS Library

SYMBIAN OS V9.3

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



Location: VRECUR.H
Link against: vcal.lib

Class CParserPropertyValueRecurrence

class CParserPropertyValueRecurrence : public CParserTimePropertyValue;

Description

A recurrence property value parser.

This is used to store and retrieve the recurrence information for a repeating vEvent or vTodo. This information is stored as a CVersitRecurrence object.

The UID for a recurrence property value is KVCalPropertyRecurrenceUid.

Derivation

Members

Defined in CParserPropertyValueRecurrence:
CParserPropertyValueRecurrence(), ConvertAllDateTimesToUTCL(), ConvertAllUTCDateTimesToMachineLocalL(), ExternalizeL(), Value(), iValue, ~CParserPropertyValueRecurrence()

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

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

Inherited from CParserTimePropertyValue:
ConvertDateTime(), EncodeTimePeriodL(), EncodeVersitDateTimeL(), SupportsInterface()


Construction and destruction


CParserPropertyValueRecurrence()

IMPORT_C CParserPropertyValueRecurrence(CVersitRecurrence *aValue);

Description

Constructs a recurrence property value.

Sets the property value's UID to KVCalPropertyRecurrenceUid.

Parameters

CVersitRecurrence *aValue

A pointer to the recurrence value to assign to the property value parser. The property value parser takes ownership of the pointer.


~CParserPropertyValueRecurrence()

IMPORT_C ~CParserPropertyValueRecurrence();

Description

Frees all resources owned by the property value, prior to its destruction.

[Top]


Member functions


Value()

inline CVersitRecurrence *Value() const;

Description

Gets the recurrence value.

Return value

CVersitRecurrence *

A pointer to the recurrence value.


ConvertAllDateTimesToUTCL()

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

Description

Converts the end time of the recurrence value 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 the time is modified by aIncrement 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 the value is 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 negative of the time zone of the originating machine. For instance, if the time zone is +04:30 (that is 4hr 30mins ahead of UTC), aIncrement should be set to minus the number of seconds in 4hr 30mins..

const CVersitDaylight *aDaylight

Pointer to the specification for daylight saving. If the date/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);

Description

Converts the end time of the recurrence 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 in machine-local time.

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.


ExternalizeL()

virtual IMPORT_C void ExternalizeL(RWriteStream &aStream, const Versit::TEncodingAndCharset &,TInt);

Description

Externalises the recurrence property value into aStream.

The property is written to the stream in the following order:

For example, "W2 TU TH #10", means a repeat every second Tuesday and Thursday for 10 weeks

Parameters

RWriteStream &aStream

Stream to which the value is to be externalised.

const Versit::TEncodingAndCharset &

TInt

[Top]


Member data


iValue

protected: CVersitRecurrence * iValue;

Description