QVersitProperty Class Reference
The QVersitProperty class stores the name, value, groups and parameters of a Versit property. More...
#include <QVersitProperty>
Public Types
enum | ValueType { PlainType, CompoundType, ListType, BinaryType, VersitDocumentType } |
Public Functions
Detailed Description
The QVersitProperty class stores the name, value, groups and parameters of a Versit property.
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.
A QVersitProperty consists of a list of groups, a name, a list of parameters (key/value pairs), and a value.
The value of a QVersitProperty is stored as a QVariant and should always be one of four types: QString for textual values, QByteArray for binary data (eg. images), QStringList for structured textual data, or QVersitDocument for nested documents. The QVersitReader will parse Versit properties and assign the correct type of object to the property value. The QVersitWriter will serialize objects of these types correctly into the (text-based) Versit format.
For example, a property might appear in a vCard as:
ADR;TYPE=home,postal:;;123 Main Street;Any Town;CA;91921-1234
This would be stored as a QVersitProperty with the name ADR and two parameters (both named TYPE and with values home and postal respectively. The value of the QVersitProperty is a QStringList with six strings, and the valueType is CompoundType.
QVersitProperty supports implicit sharing. The property name and parameter names of a QVersitProperty are converted to upper-case when they are stored to a QVersitProperty.
See also QVersitDocument.
Member Type Documentation
enum QVersitProperty::ValueType
Describes the type of data held in the property's value.
The vCard and iCalendar specifications allows a property value to hold a string, binary data, or a nested document. String values can either be unstructured or structured. Structured strings can be either of compound type or list type. A compound value is one that is delimited by semicolons, allows empty components, and has a property-specific cardinality and ordering. A list value is one that is delimited by commas, does not have empty components, and has no restrictions on cardinality or ordering.
|
Constant | Value | Description |
QVersitProperty::PlainType | 0 | The property value holds an unstructured string and can be retrieved with QVersitProperty::value() |
QVersitProperty::CompoundType | 1 | The property value holds a compound string and can be retrieved with QVersitProperty::value<QStringList>() |
QVersitProperty::ListType | 2 | The property value holds a list of strings and can be retrieved with QVersitProperty::value<QStringList>() |
QVersitProperty::BinaryType | 3 | The property value holds a binary value and can be retrieved with QVersitProperty::value<QByteArray>() |
QVersitProperty::VersitDocumentType | 4 | The property value holds a nested Versit document and can be retrieved with QVersitProperty::value<QVersitDocument>() |
Member Function Documentation
QVersitProperty::QVersitProperty ()
Constructs a new empty property
QVersitProperty::QVersitProperty ( const QVersitProperty & other )
Constructs a property that is a copy of other
QVersitProperty::~QVersitProperty ()
Frees the memory used by the property
void QVersitProperty::clear ()
Clears the contents of this property.
QStringList QVersitProperty::groups () const
Gets the groups of the property.
See also setGroups().
void QVersitProperty::insertParameter ( const QString & name, const QString & value )
Adds a new parameter with name and value. Both the name and the value are converted to upper-case.
bool QVersitProperty::isEmpty () const
Returns true if the property is empty.
QString QVersitProperty::name () const
Gets the name of the property in upper-case.
See also setName().
QMultiHash<QString, QString> QVersitProperty::parameters () const
Return a copy of the contained list of parameters. Note that actual the parameters cannot be modified using the copy.
See also setParameters().
void QVersitProperty::removeParameter ( const QString & name, const QString & value )
Removes a parameter with name and value.
See also removeParameters().
void QVersitProperty::removeParameters ( const QString & name )
Removes all parameters with the given name.
See also removeParameter().
void QVersitProperty::setGroups ( const QStringList & groups )
Sets the groups in the property to the given list of groups.
See also groups().
void QVersitProperty::setName ( const QString & name )
Sets the name of the property. The name is converted to upper-case.
See also name().
void QVersitProperty::setParameters ( const QMultiHash<QString, QString> & parameters )
Replaces all the parameters with parameters. The parameters are converted to upper-case.
See also parameters().
void QVersitProperty::setValue ( const QVariant & value )
Sets the property value to value.
See also value().
void QVersitProperty::setValueType ( ValueType type )
Sets the type of value held in the property to type.
See also valueType().
QString QVersitProperty::value () const
Returns the value of the property as a string if possible, otherwise return an empty string. If the property is stored as a QByteArray, it is decoded using the charset specified in the property's parameters.
See also setValue() and QVariant::toString().
T QVersitProperty::value () const
This is an overloaded function.
Returns the value of the property as a T.
ValueType QVersitProperty::valueType () const
Returns the type of value held in the property.
See also setValueType().
QVariant QVersitProperty::variantValue () const
Returns the value of the property.
bool QVersitProperty::operator!= ( const QVersitProperty & other ) const
Returns true if this is not equal to other; false otherwise.
QVersitProperty & QVersitProperty::operator= ( const QVersitProperty & other )
Assigns this property to other
bool QVersitProperty::operator== ( const QVersitProperty & other ) const
Returns true if this is equal to other; false otherwise.