QVersitDocument Class Reference
The QVersitDocument class is a container for a list of versit properties. More...
#include <QVersitDocument>
Public Types
enum | VersitType { InvalidType, VCard21Type, VCard30Type, ICalendar20Type } |
Public Functions
QVersitDocument () | |
QVersitDocument ( const QVersitDocument & other ) | |
QVersitDocument ( VersitType type ) | |
~QVersitDocument () | |
void | addProperty ( const QVersitProperty & property ) |
void | addSubDocument ( const QVersitDocument & subdocument ) |
void | clear () |
QString | componentType () const |
bool | isEmpty () const |
QList<QVersitProperty> | properties () const |
void | removeProperties ( const QString & name ) |
void | removeProperty ( const QVersitProperty & property ) |
void | setComponentType ( QString componentType ) |
void | setSubDocuments ( const QList<QVersitDocument> & documents ) |
void | setType ( VersitType type ) |
QList<QVersitDocument> | subDocuments () const |
VersitType | type () const |
bool | operator!= ( const QVersitDocument & other ) const |
QVersitDocument & | operator= ( const QVersitDocument & other ) |
bool | operator== ( const QVersitDocument & other ) const |
Detailed Description
The QVersitDocument class is a container for a list of versit properties.
A vCard is represented in abstract form as a QVersitDocument that consists of a number of properties such as a name (N), a telephone number (TEL) and an email address (EMAIL), for instance. Each of these properties is stored as an instance of a QVersitProperty in a QVersitDocument.
In addition to the list of properties, QVersitDocument also records the type of the Versit document in two ways. The VersitType enum describes the format in which the document is to be serialized by QVersitWriter (or the format from which it was read by QVersitReader), and should not be used to infer any semantics about the document data. The componentType field is a string corresponding directly to the value of the BEGIN line in a document. For example, for a vCard, this will always be the string "VCARD"; for an iCalendar, it could be "VCALENDAR", "VEVENT", "VTODO", "VJOURNAL", "VALARM" or "VTIMEZONE".
As well as properties, a QVersitDocument can hold other documents. For iCalendar, this is how a single VCALENDAR document can compose documents of type VEVENT, VTODO, etc.
For example, for the following iCalendar:
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SUMMARY:Christmas DTSTART:20001225 END:VEVENT END:VCALENDAR
This can be represented as a QVersitDocument of with componentType VCALENDAR and versitType ICalendar20Type. It contains no properties (note: the VERSION property is not stored explicitly as a property) and one sub-document. The sub-document has componentType VEVENT and versitType ICalendar20Type, and contains two properties.
QVersitDocument supports implicit sharing.