CParserVCal Class Reference

#include <app/vcal.h>

Link against: vcal.lib

class CParserVCal : public CVersitParser

Inherits from

Public Member Functions
virtual IMPORT_C voidExternalizeL(RWriteStream &)
virtual IMPORT_C voidInternalizeL(RReadStream &)
IMPORT_C CParserVCal *NewL()
virtual IMPORT_C TIntRecognizeEntityName()
virtual IMPORT_C TUidRecognizeToken(const TDesC8 &)
Protected Member Functions
virtual IMPORT_C CVersitParser *MakeEntityL(TInt, HBufC *)
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
Inherited Enumerations
CVersitParser:TCharCodes
CVersitParser:TVersitParserFlags
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()

Detailed Description

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.

Member Function Documentation

ExternalizeL ( RWriteStream & )

IMPORT_C voidExternalizeL(RWriteStream &aStream)[virtual]

Reimplemented from CVersitParser::ExternalizeL(RWriteStream &)

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.

See also: CVersitParser::ExternalizeL()

ParameterDescription
aStreamStream to which the vCalendar should be externalised.

InternalizeL ( RReadStream & )

IMPORT_C voidInternalizeL(RReadStream &aStream)[virtual]

Reimplemented from CVersitParser::InternalizeL(RReadStream &)

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.

See also: CVersitParser::InternalizeL()

ParameterDescription
aStreamStream from which the vCalendar should be internalised.

MakeEntityL ( TInt, HBufC * )

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

Reimplemented from CVersitParser::MakeEntityL(TInt,HBufC *)

NewL ( )

IMPORT_C CParserVCal *NewL()[static]

Allocates and constructs a vCalendar parser.

Returns: Pointer to the newly created vCalendar parser.

RecognizeEntityName ( )

IMPORT_C TIntRecognizeEntityName()const [virtual]

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

Returns: KVCalEntityUidVEvent if it is a vEvent entity; KVersitVarTokenVTODO if it is a vTodo entity; zero if there is no current property or it has no value.

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.

ParameterDescription
aTokenThe token to be recognized.

Returns: A defined UID value if the token has been recognized, KVersitTokenUnknownUid otherwise.