#include <app/vcard.h>
class CParserVCard : public CVersitParser |
Public Member Functions | |
---|---|
virtual IMPORT_C void | ConvertAllPropertyDateTimesToMachineLocalL(const TTimeIntervalSeconds &, const CVersitDaylight *) |
IMPORT_C void | ConvertDateTimesToMachineLocalAndDeleteTZL() |
virtual IMPORT_C void | ExternalizeL(RWriteStream &) |
IMPORT_C CArrayPtr< CParserProperty > * | GroupOfPropertiesL(const TDesC8 &) |
virtual IMPORT_C void | InternalizeL(RReadStream &) |
IMPORT_C CParserVCard * | NewL() |
CParserVCard * | NewL(TBool) |
virtual IMPORT_C TUid | RecognizeToken(const TDesC8 &) |
Protected Member Functions | |
---|---|
CParserVCard() | |
CParserVCard(TBool) | |
IMPORT_C CDesC8Array * | GetGroupNamesL(TPtr8 &) |
virtual IMPORT_C CParserPropertyValue * | MakePropertyValueAgentL(TPtr16) |
virtual IMPORT_C CParserPropertyValue * | MakePropertyValueL(const TUid &, HBufC16 *&) |
IMPORT_C CParserPropertyValue * | MakePropertyValueSoundL(HBufC16 *&) |
virtual IMPORT_C void | ParsePropertyL() |
Inherited Enumerations | |
---|---|
CVersitParser:TCharCodes | |
CVersitParser:TVersitParserFlags |
A vCard parser.
Adds support for property groups (see CParserGroupedProperty) and agents (see CParserPropertyValueAgent) to the functionality of CVersitParser.
Provides a constructor and overrides CVersitParser::InternalizeL(), ExternalizeL(), RecognizeToken(), ConvertAllPropertyDateTimesToMachineLocalL(), ParsePropertyL() and MakePropertyValueL().
The vCard 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.
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.
IMPORT_C void | ConvertAllPropertyDateTimesToMachineLocalL | ( | const TTimeIntervalSeconds & | aIncrement, |
const CVersitDaylight * | aDaylight | |||
) | [virtual] |
Reimplemented from CVersitParser::ConvertAllPropertyDateTimesToMachineLocalL(const TTimeIntervalSeconds &,const CVersitDaylight *)
Converts all date/time property values contained in the vCard entity into machine local values (including all date/time values contained in agent properties).
This conversion is needed because of differences in universal and local times due to time zones and daylight savings (seasonal time shifts).
If there is a daylight savings rule associated with the date/time (held in the aDaylight parameter) then this will be used to compensate for differences between universal and local times due to both time zones and the daylight savings rule. Otherwise, the aIncrement parameter is used to compensate for any difference due to time zones alone.
Deprecatedsince 9.1
Parameter | Description |
---|---|
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, aIncrement should be set to -04:30. |
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). |
IMPORT_C void | ConvertDateTimesToMachineLocalAndDeleteTZL | ( | ) |
Converts all date/time property values contained in the vCard entity into machine local values (including all date/time values contained in agent properties).
This conversion is needed because of differences in universal and local times due to time zones.
Finds the necessary increment to compensate for the time zone, using the value given by the first time zone property (named KVersitTokenTZ) in the array of properties. This increment is passed as a parameter to ConvertAllPropertyDateTimesToMachineLocalL(). The CVersitDaylight* parameter passed to ConvertAllPropertyDateTimesToMachineLocalL() is NULL, so no compensation can be made by this function for any daylight saving (seasonal time shift). Deprecatedsince 9.1
IMPORT_C void | ExternalizeL | ( | RWriteStream & | aStream | ) | [virtual] |
Reimplemented from CVersitParser::ExternalizeL(RWriteStream &)
Externalises a vCard entity (and all sub-entities) to a write stream.
Sets the entity name to KVersitVarTokenVCARD 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()
Parameter | Description |
---|---|
aStream | Stream to which the vCard entity should be externalised. |
IMPORT_C CArrayPtr< CParserProperty > * | GroupOfPropertiesL | ( | const TDesC8 & | aName | ) | const |
Gets an array of all properties in the named property group from the vCard entity.
A property group is a collection of related properties, identified by a group name.
Ownership of the properties is not transferred.
Parameter | Description |
---|---|
aName | The name of the property group of interest. |
Returns: An array of all properties in the specified group. NULL if the named property group was not found.
IMPORT_C void | InternalizeL | ( | RReadStream & | aStream | ) | [virtual] |
Reimplemented from CVersitParser::InternalizeL(RReadStream &)
Internalises a vCard 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()
Parameter | Description |
---|---|
aStream | Stream from which the vCard entity should be internalised. |
IMPORT_C CParserPropertyValue * | MakePropertyValueAgentL | ( | TPtr16 | aValue | ) | [protected, virtual] |
IMPORT_C CParserPropertyValue * | MakePropertyValueL | ( | const TUid & | aPropertyUid, |
HBufC16 *& | aValue | |||
) | [protected, virtual] |
Reimplemented from CVersitParser::MakePropertyValueL(const TUid &,HBufC16 *&)
Creates a property value, by parsing the specified descriptor.
This function overrides CVersitParser::MakePropertyValueL() to ensure that agent and sound properties are correctly recognised and constructed.
Note that aValue may be set to NULL on return from this method.
Parameter | Description |
---|---|
aPropertyUid | The UID type associated with the raw property string. |
aValue | The raw property value descriptor. The function removes anything that is not part of the property. |
Returns: A property value.
IMPORT_C CParserPropertyValue * | MakePropertyValueSoundL | ( | HBufC16 *& | aValue | ) | [protected] |
Creates a property value object from a SOUND property value.
SOUND property values can either contain a single string (using HBufC storage) or, following the addition of Japanese pronunciation support to Symbian's Versit API, an array (using CDesCArray storage). This method allocates the additional storage needed to support array-based sound properties, when necessary.
Note that aValue will be set to NULL on return from this method.
Parameter | Description |
---|---|
aValue | The raw property value descriptor. |
Returns: A constructed sound property value.
IMPORT_C CParserVCard * | NewL | ( | ) | [static] |
Allocates and constructs a vCard parser.
Returns: A pointer to the newly constructed vCard parser.
IMPORT_C void | ParsePropertyL | ( | ) | [protected, virtual] |
Reimplemented from CVersitParser::ParsePropertyL()
Reimplemented from CVersitParser::RecognizeToken(const TDesC8 &)const
Returns a UID that identifies a specified token's type.
For example, if aToken contains the property name BDAY, the function returns KVersitPropertyDateUid. If the token is not recognized as vCard-specific, the function calls CVersitParser::RecognizeToken(), which recognizes generic Versit tokens.
Parameter | Description |
---|---|
aToken | The token to be recognized. |
Returns: A defined UID value if the token is recognized and KVersitTokenUnknownUid if not.