CParserPropertyValue Class Reference

class CParserPropertyValue : public CBase

Abstract base class for all property values.

Defines a pure virtual ExternalizeL() function which should write out the property value to a stream.

The type of derived class is returned by the Uid() function; the UID value is specified on construction.

The other functions relate to the character set, encoding format and plug-in used during externalising.

Inherits from

  • CParserPropertyValue

Constructor & Destructor Documentation

CParserPropertyValue(const TUid &)

IMPORT_CCParserPropertyValue(const TUid &aPropertyValueUid)[protected]

Parameters

const TUid & aPropertyValueUid

Member Functions Documentation

Append(TDes16 &, TDesC8 &)

IMPORT_C voidAppend(TDes16 &aTarget,
TDesC8 &aSource
)[protected, static]

Parameters

TDes16 & aTarget
TDesC8 & aSource

EncodeL(CBufBase *, const TDesC8 &, const TUid &)

IMPORT_C voidEncodeL(CBufBase *aTarget,
const TDesC8 &aSource,
const TUid &aEncoding
)const [virtual]

Encodes the text property value referred to in aSource, if encoding is required.

Uses the encoding format identified by aEncoding. This is only used for text property values (e.g. HBufC or DesCArray property types).

Invoked by implementations of ExternalizeL().

Parameters

CBufBase * aTargetA pointer to the buffer which will have the converted text written into it.
const TDesC8 & aSourceThe source text.
const TUid & aEncodingAn encoding UID. The possible encoding formats are defined in vuid.h. Specify NULL UID if no encoding is required.

ExternalizeL(RWriteStream &, const Versit::TEncodingAndCharset &, TInt)

voidExternalizeL(RWriteStream &aStream,
const Versit::TEncodingAndCharset &aEncodingCharset,
TIntaLengthOutput
)[pure virtual]

Externalises the property value to a write stream.

Implementations of this function are invoked by the parser's ExternalizeL() function.

Parameters

RWriteStream & aStreamStream to which the property value is externalised.
const Versit::TEncodingAndCharset & aEncodingCharsetThe character set and encoding information.
TInt aLengthOutputThe amount of text that has been outputted so far on the line (for the property name), which may need to be taken into account when calculating if and where any line break should occur.

FoldAndWriteValueToStreamL(RWriteStream &, const TDesC &, const Versit::TEncodingAndCharset &, TInt &)

IMPORT_C voidFoldAndWriteValueToStreamL(RWriteStream &aStream,
const TDesC &aValue,
const Versit::TEncodingAndCharset &aEncodingCharset,
TInt &aLengthOutput
)const [protected]

Parameters

RWriteStream & aStream
const TDesC & aValue
const Versit::TEncodingAndCharset & aEncodingCharset
TInt & aLengthOutput

FoldEncodeAndWriteValueToStreamL(RWriteStream &, const TDesC &, const Versit::TEncodingAndCharset &, TInt &)

IMPORT_C voidFoldEncodeAndWriteValueToStreamL(RWriteStream &aStream,
const TDesC &aValue,
const Versit::TEncodingAndCharset &aEncodingCharset,
TInt &aLengthOutput
)const [protected]

Parameters

RWriteStream & aStream
const TDesC & aValue
const Versit::TEncodingAndCharset & aEncodingCharset
TInt & aLengthOutput

FoldEncodeAndWriteValueToStreamL(RWriteStream &, const CDesCArray *, const Versit::TEncodingAndCharset &, TInt &)

IMPORT_C voidFoldEncodeAndWriteValueToStreamL(RWriteStream &aStream,
const CDesCArray *aValueArray,
const Versit::TEncodingAndCharset &aEncodingCharset,
TInt &aLengthOutput
)const [protected]

Parameters

RWriteStream & aStream
const CDesCArray * aValueArray
const Versit::TEncodingAndCharset & aEncodingCharset
TInt & aLengthOutput

IsAsciiCharacterSetSufficient()

IMPORT_C TBoolIsAsciiCharacterSetSufficient()[virtual]

Tests whether the Ascii character set is sufficient to represent a property value.

This implementation returns ETrue.

It is overridden by classes CParserPropertyValueAlarm, CParserPropertyValueHBufC and CParserPropertyValueCDesCArray.

This function is called by CParserProperty::ExternalizeL().

PlugIn()

MVersitPlugIn *PlugIn()[protected, inline]

Gets a pointer to the Versit plug-in

SetPlugIn(MVersitPlugIn *)

voidSetPlugIn(MVersitPlugIn *aPlugIn)[inline]

Assigns a Versit plug-in to the property value.

Allows functions of the MVersitPlugIn class to be used when writing to a stream.

If a plug-in is in use then this function needs to be called with each property value before it is externalised. However, this will be done for you if you add a property using the function CVersitParser::AddPropertyL().

Parameters

MVersitPlugIn * aPlugInA pointer to an MVersitPlugIn instance.

SupportsInterface(const TUid &)

IMPORT_C TBoolSupportsInterface(const TUid &)const [virtual]

Tests whether the property value supports the specified interface.

This implementation returns EFalse.

It is implemented by the derived class CParserTimePropertyValue to return ETrue if aInterfaceUid is KVersitTimePropertyUid.

Parameters

const TUid &

Uid()

TUid Uid()const [inline]

Returns the property value's UID.

This UID identifies the property value's type and is specified on construction. The values are defined in vuid.h.

Member Data Documentation

MVersitPlugIn * iPlugIn

MVersitPlugIn *iPlugIn[private]

TUid iPropertyValueTypeUid

TUid iPropertyValueTypeUid[private]