Versit is the parser for vCalendars and vCards. It can be used by any application which needs to be able to read or write vCalendars or vCards.
The versit parser parses data which conforms to the Internet Mail Consortium's specifications for vCards and vCalendars. Currently, versit supports vCard version 2.1 and vCalendar version 1.0. These specifications are documented on the Internet Mail Consortium's website at http://www.imc.org.
The parser reads and writes vCard and vCalendar entities. When reading a vCard or vCalendar entity, either from a data stream or from a file, the parser searches for the sequence BEGIN : <EntityName> CRLF, which indicates the start of the entity, then scans the whole stream or file, and returns an array of properties belonging to the entity. It also returns arrays of properties belonging to any sub-entities nested within the entity. When writing a vCard or vCalendar, the parser converts arrays of properties belonging to the entity, and to its sub-entities into vCard or vCalendar format.
The key classes in versit are CVersitParser
, the base class for versit parsers, and the classes derived from it, including CParserVCal
(the vCalendar parser) and CParserVCard
(the vCard parser). These classes define several variants of InternalizeL()
and ExternalizeL()
which are used to read and write a vCalendar or vCard.
Other features supported by versit include:
grouped properties
agents[versit]
recurring and alarmed vEvents and vTodos