Location:
VPROP.H
Link against: versit.lib
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.
CBase
- Base class for all classes to be instantiated on the heap
CParserPropertyValue
- Abstract base class for all property values
Defined in CParserPropertyValue
:
Append()
, CParserPropertyValue()
, EncodeL()
, ExternalizeL()
, FoldAndWriteValueToStreamL()
, FoldEncodeAndWriteValueToStreamL()
, FoldEncodeAndWriteValueToStreamL()
, IsAsciiCharacterSetSufficient()
, PlugIn()
, SetPlugIn()
, SupportsInterface()
, Uid()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
protected: IMPORT_C CParserPropertyValue(const TUid &aPropertyValueUid);
|
virtual void ExternalizeL(RWriteStream &aStream, const Versit::TEncodingAndCharset &aEncodingCharset, TInt aLengthOutput)=0;
Externalises the property value to a write stream.
Implementations of this function are invoked by the parser's ExternalizeL()
function.
|
virtual IMPORT_C TBool IsAsciiCharacterSetSufficient();
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()
.
|
virtual IMPORT_C void EncodeL(CBufBase *aTarget, const TDesC8 &aSource, const TUid &aEncoding) const;
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()
.
|
virtual IMPORT_C TBool SupportsInterface(const TUid &) const;
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.
|
|
inline TUid Uid() const;
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.
|
inline void SetPlugIn(MVersitPlugIn *aPlugIn);
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()
.
|
protected: IMPORT_C void FoldEncodeAndWriteValueToStreamL(RWriteStream &aStream, const TDesC &aValue,const Versit::TEncodingAndCharset
&aEncodingCharset, TInt &aLengthOutput) const;
|
protected: IMPORT_C void FoldEncodeAndWriteValueToStreamL(RWriteStream &aStream, const CDesCArray *aValueArray,const Versit::TEncodingAndCharset
&aEncodingCharset, TInt &aLengthOutput) const;
|
protected: IMPORT_C void FoldAndWriteValueToStreamL(RWriteStream &aStream, const TDesC &aValue,const Versit::TEncodingAndCharset
&aEncodingCharset, TInt &aLengthOutput) const;
|
protected: static IMPORT_C void Append(TDes16 &aTarget, TDesC8 &aSource);
|
protected: inline MVersitPlugIn *PlugIn();
Gets a pointer to the Versit
plug-in
|