CParserVCal Class Reference

class CParserVCal : public CVersitParser

A vCalendar parser.

Adds support for parsing vToDos and vEvents, and associated alarms (see CParserPropertyValueAlarm) to the functionality of CVersitParser.

Adds a constructor and overrides CVersitParser::InternalizeL() for streams, ExternalizeL() for streams, RecognizeToken(), RecognizeEntityName() and MakeEntityL().

The vCalendar data is read from or written to a stream or file, using the InternalizeL() and ExternalizeL() functions. Most users of this class will only need to use these functions.

Note: if you are sequentially creating and destroying multiple parsers, a major performance improvement may be achieved by using thread local storage to store an instance of CVersitUnicodeUtils which persists and can be used by all of the parsers.

See CVersitTlsData for more information.

Inherits from

Public Member Functions
IMPORT_C voidExternalizeL(RWriteStream &)
IMPORT_C voidInternalizeL(RReadStream &)
IMPORT_C CParserVCal *NewL()
IMPORT_C TIntRecognizeEntityName()
IMPORT_C TUidRecognizeToken(const TDesC8 &)
Protected Member Functions
IMPORT_C CVersitParser *MakeEntityL(TInt, HBufC *)
Private Member Functions
CParserVCal()
IMPORT_C voidReserved1()
IMPORT_C voidReserved2()
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()
CVersitParser::AddEntityL(CVersitParser *)
CVersitParser::AddPropertyL(CParserProperty *,TBool)
CVersitParser::AdjustAllPropertyDateTimesToMachineLocalL()
CVersitParser::AnalysesEncodingCharset(CArrayPtr< CParserParam > *)
CVersitParser::AppendBeginL()
CVersitParser::AppendEndL()
CVersitParser::AppendEntityNameL()
CVersitParser::ArrayOfEntities(TBool)
CVersitParser::ArrayOfProperties(TBool)
CVersitParser::BufPtr()
CVersitParser::CVersitParser(TUint)
CVersitParser::ClearSupportsVersion()
CVersitParser::ConstructL()
CVersitParser::ConvertAllPropertyDateTimesToMachineLocalL(const TTimeIntervalSeconds &,const CVersitDaylight *)
CVersitParser::ConvertFromUnicodeToISOL(TDes8 &,const TDesC16 &,CCnvCharacterSetConverter *)
CVersitParser::ConvertToUnicodeFromISOL(TDes16 &,const TDesC8 &,TUint)
CVersitParser::ConvertToUnicodeL(const TDesC8 &)
CVersitParser::DecodeDateTimeL(TDes &)const
CVersitParser::DecodePropertyValueL(const TDesC8 &)
CVersitParser::DecodePropertyValueL(const TDesC8 &,const TUid &)
CVersitParser::DecodeTimePeriodL(const TDesC &)const
CVersitParser::DecodeTimeZoneL(const TDesC &)const
CVersitParser::DefaultCharSet()const
CVersitParser::DefaultCharSetId()const
CVersitParser::DefaultEncoding()const
CVersitParser::DoAddPropertyL(CParserProperty *)
CVersitParser::EntityL(const TDesC &,TBool)
CVersitParser::EntityName()const
CVersitParser::ExternalizeL(RFile &)
CVersitParser::FindFirstField(TPtr16 &,TPtr16 &,TBool)
CVersitParser::FindRemainingField(TPtr16 &,TPtr16 &)
CVersitParser::GetNumberL(const TDesC &,TInt &)const
CVersitParser::GetPropertyParamsLC(TPtr8)
CVersitParser::InternalizeL(HBufC *,CLineReader *)
CVersitParser::InternalizeL(RFile &,TInt &)
CVersitParser::IsPunctuationToken(TUint)
CVersitParser::IsValidLabel(const TDesC &,TInt &)
CVersitParser::IsValidParameterValue(TInt &,const TDesC &)
CVersitParser::LineCharSet()const
CVersitParser::LineCharSetId()const
CVersitParser::LineEncoding()const
CVersitParser::LineEncodingId()const
CVersitParser::LoadBinaryValuesFromFilesL()
CVersitParser::LoadBinaryValuesFromFilesL(RFs &)
CVersitParser::MakeDefaultPropertyValueL(HBufC16 *&)
CVersitParser::MakePropertyL(TPtr8 &,TInt)
CVersitParser::MakePropertyValueCDesCArrayL(TPtr16)
CVersitParser::MakePropertyValueDaylightL(TPtr16)
CVersitParser::MakePropertyValueL(const TUid &,HBufC16 *&)
CVersitParser::MakePropertyValueMultiDateTimeL(TPtr16)
CVersitParser::MapVersitCharsetToCharConvCharset(Versit::TVersitCharSet)
CVersitParser::MapVersitEncodingToConArcUid(Versit::TVersitEncoding)
CVersitParser::Observer()
CVersitParser::ParseBeginL()
CVersitParser::ParseEndL()
CVersitParser::ParseEndL(HBufC16 &)
CVersitParser::ParseEntityL()
CVersitParser::ParseParamL(CArrayPtr< CParserParam > *,TPtr8)
CVersitParser::ParsePropertiesL()
CVersitParser::ParsePropertyL()
CVersitParser::PlugIn()
CVersitParser::PropertyL(const TDesC8 &,const TUid &,TBool)const
CVersitParser::ReadLineAndDecodeParamsLC(TInt &,TInt &)
CVersitParser::ReadMultiLineValueL(TPtr8 &,TInt,TBool)
CVersitParser::ResetAndDestroyArrayOfDateTimes(TAny *)
CVersitParser::ResetAndDestroyArrayOfEntities(TAny *)
CVersitParser::ResetAndDestroyArrayOfParams(TAny *)
CVersitParser::ResetAndDestroyArrayOfProperties(TAny *)
CVersitParser::RestoreLineCodingDetailsToDefault()
CVersitParser::SaveBinaryValuesToFilesL(TInt,const TDesC &)
CVersitParser::SaveBinaryValuesToFilesL(TInt,const TDesC &,RFs &)
CVersitParser::SetAutoDetect(TBool,const CArrayFix< CCnvCharacterSetConverter::SCharacterSet > *)
CVersitParser::SetCharacterConverter(Versit::TEncodingAndCharset &)
CVersitParser::SetDefaultCharSet(const Versit::TVersitCharSet)
CVersitParser::SetDefaultCharSetId(TUint)
CVersitParser::SetDefaultEncoding(const Versit::TVersitEncoding)
CVersitParser::SetEntityNameL(const TDesC &)
CVersitParser::SetFlags(TUint)
CVersitParser::SetLineCharacterSet(Versit::TVersitCharSet)
CVersitParser::SetLineCharacterSetId(TUint)
CVersitParser::SetLineCoding(Versit::TVersitCharSet,Versit::TVersitEncoding)
CVersitParser::SetLineEncoding(TUint)
CVersitParser::SetLineEncoding(Versit::TVersitEncoding)
CVersitParser::SetObserver(MVersitObserver *)
CVersitParser::SetPlugIn(MVersitPlugIn *)
CVersitParser::SetSupportsVersion()
CVersitParser::SupportsVersion()const
CVersitParser::UnicodeUtils()
CVersitParser::Val(const TDesC &,TInt &)
CVersitParser::~CVersitParser()
Inherited Enumerations
CVersitParser:TCharCodes
CVersitParser:TVersitParserFlags
Inherited Attributes
CVersitParser::iArrayOfEntities
CVersitParser::iArrayOfProperties
CVersitParser::iAutoDetectCharSets
CVersitParser::iCurrentProperty
CVersitParser::iCurrentPropertyCodingDetails
CVersitParser::iDecodedValue
CVersitParser::iDefaultCodingDetails
CVersitParser::iDefaultVersion
CVersitParser::iEntityName
CVersitParser::iFlags
CVersitParser::iLargeDataBuf
CVersitParser::iLineReader
CVersitParser::iObserver
CVersitParser::iOwnedLineReader
CVersitParser::iPlugIn
CVersitParser::iStaticUtils
CVersitParser::iWriteStream

Constructor & Destructor Documentation

CParserVCal()

CParserVCal()[private]

Member Functions Documentation

ExternalizeL(RWriteStream &)

IMPORT_C voidExternalizeL(RWriteStream &aStream)[virtual]

Externalises a vCalendar entity (and all sub-entities) to a write stream.

Sets the entity name to KVersitVarTokenVCALENDAR if it hasn't already been set.

Adds a version property to the start of the current entity's array of properties if the entity supports this. (If there isn't an array of properties then one is made).

The presence of this function means that the standard templated operator<<() (defined in s32strm.h) is available to externalise objects of this class.

CVersitParser::ExternalizeL()

Parameters

RWriteStream & aStreamStream to which the vCalendar should be externalised.

InternalizeL(RReadStream &)

IMPORT_C voidInternalizeL(RReadStream &aStream)[virtual]

Internalises a vCalendar entity from a read stream.

The presence of this function means that the standard templated operator>>() (defined in s32strm.h) is available to internalise objects of this class.

CVersitParser::InternalizeL()

Parameters

RReadStream & aStreamStream from which the vCalendar should be internalised.

MakeEntityL(TInt, HBufC *)

IMPORT_C CVersitParser *MakeEntityL(TIntaEntityUid,
HBufC *aEntityName
)[protected, virtual]

Parameters

TInt aEntityUid
HBufC * aEntityName

NewL()

IMPORT_C CParserVCal *NewL()[static]

Allocates and constructs a vCalendar parser.

RecognizeEntityName()

IMPORT_C TIntRecognizeEntityName()const [virtual]

Tests the current value to see if it a vEvent or vTodo entity.

RecognizeToken(const TDesC8 &)

IMPORT_C TUidRecognizeToken(const TDesC8 &aToken)const [virtual]

Returns a UID that identifies a specified token's type.

For example, if aToken contains the property name DAYLIGHT the function returns KVersitPropertyDaylightUid. If the token is not recognized as vCalendar-specific, the function calls CVersitParser::RecognizeToken(), which recognizes generic Versit tokens.

Parameters

const TDesC8 & aTokenThe token to be recognized.

Reserved1()

IMPORT_C voidReserved1()[private, virtual]

Reserved2()

IMPORT_C voidReserved2()[private, virtual]