Reads and writes the vCard (electronic business cards) and vCalendar (calendaring and scheduling) standards.
The API supports vCard version 2.1 and vCalendar version 1.0. These specifications are documented by the Internet Mail Consortium at http://www.imc.org.
The Agenda Model API can import and export vCalendars.
The Contacts Model API can import and export vCards.
A vCard or vCalendar is referred to as an entity. An entity has an array of properties. Entities can be nested, making them sub-entities.
A parser reads and writes properties and sub-entities for an entity.
The base class for parsers is provided by
CVersitParser
.
It is extended as follows:
vCard parser: CParserVCard
vCalendar parser: CParserVCal
.
vCalendar sub-entity parser:
CParserVCalEntity
.
A property consists of a property name, a property value and optionally one or more property parameters. They have the general form:
Property Name (; Property Parameter Name(=Property Parameter Value))* : Property Value
where items in brackets are optional and * indicates that the item may be repeated
e.g.
TEL; HOME; ENCODING=QUOTED-PRINTABLE; CHARSET=US-ASCII : 01234 567890
Here, TEL is the property name, HOME, ENCODING and CHARSET are property parameter names and QUOTED-PRINTABLE and US-ASCII are property parameter values. The component following the colon is the property value.
The property interface is provided by
CParserProperty
.
A property parameter describes an aspect of a property, for example the graphics format for a Photo property value.
The property parameter interface is provided by
CParserParam
.
Property values of particular types, such as date/time are
provided by a number of classes derived from CParserPropertyValue
.
Where the property value specifies recurrence information for an
event or to-do, the type of recurrence (daily, weekly, etc.) is provided by a
set of sub-classes derived from CVersitRecurrence
.