qtmobility/src/contacts/details/qcontactdetails.cpp
changeset 1 2b40d63a9c3d
child 4 90517678cc4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobility/src/contacts/details/qcontactdetails.cpp	Fri Apr 16 15:51:22 2010 +0300
@@ -0,0 +1,1973 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QByteArray>
+#include <QUrl>
+#include <QFile>
+#include <QPixmap>
+#include <QImage>
+#include "qcontactmanager.h"
+#include "qtcontacts.h"
+
+#include "qcontactdetails.h"
+
+QTM_BEGIN_NAMESPACE
+
+/*!
+   \class QContactAddress
+   \brief The QContactAddress class contains an address of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactAnniversary
+   \brief The QContactAnniversary class contains the anniversary of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactAvatar
+   \brief The QContactAvatar class contains the avatar of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactBirthday
+   \brief The QContactBirthday class contains the birthday of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactDisplayLabel
+   \brief The QContactDisplayLabel class is the (possibly synthesized)
+   display label of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactEmailAddress
+
+   \brief The QContactEmailAddress class contains the email address of
+   a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactFamily
+   \brief The QContactFamily class contains the names of the
+   family members of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactGender
+   \brief The QContactGender class contains the gender of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactGeoLocation
+   \brief The QContactGeoLocation class contains the global location
+   coordinate associated with a contact.
+   \ingroup contacts-details
+*/
+
+/*!
+   \class QContactGuid
+   \brief The QContactGuid class contains the globally unique
+   Id of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactName
+   \brief The QContactName class contains the name of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactNickname
+   \brief The QContactNickname class contains a nickname of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactNote
+   \brief The QContactNote class contains a note associated
+   with a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactOnlineAccount
+   \brief The QContactOnlineAccount class provides the online account,
+   which the contact uses to communicate with friends and family.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactOrganization
+   \brief The QContactOrganization class provides details about an
+   organization that the contact is either a part of, or stands for.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactPhoneNumber
+   \brief The QContactPhoneNumber class provides a phone number
+   of a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactSyncTarget
+   \brief The QContactSyncTarget class provides a sync target
+   for a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactTimestamp
+   \brief The QContactTimestamp class contains the creation and
+   last-modified timestamp associated with the contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactType
+   \brief The QContactType class describes the type of the contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \class QContactUrl
+   \brief The QContactUrl class contains a url associated with
+   a contact.
+   \ingroup contacts-details
+ */
+
+/*!
+   \variable QContactName::DefinitionName
+   The constant string which identifies the definition of details which are names.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::DefinitionName, "Name");
+
+/*!
+   \variable QContactNickname::DefinitionName
+   The constant string which identifies the definition of details which are nicknames.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactNickname::DefinitionName, "Nickname");
+
+/*!
+   \variable QContactNote::DefinitionName
+   The constant string which identifies the definition of details which are notes.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactNote::DefinitionName, "Note");
+
+/*!
+   \variable QContactAvatar::DefinitionName
+   The constant string which identifies the definition of details which are avatars.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::DefinitionName, "Avatar");
+
+/*!
+   \variable QContactAddress::DefinitionName
+   The constant string which identifies the definition of details which are street addresses.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::DefinitionName, "StreetAddress");
+
+/*!
+   \variable QContactPhoneNumber::DefinitionName
+   The constant string which identifies the definition of details which are phone numbers.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::DefinitionName, "PhoneNumber");
+
+/*!
+   \variable QContactSyncTarget::DefinitionName
+   The constant string which identifies the definition of details which are synchronisation target stores.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactSyncTarget::DefinitionName, "SyncTarget");
+
+/*!
+   \variable QContactTimestamp::DefinitionName
+   The constant string which identifies the definition of details which are contact synchronisation timestamps.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactTimestamp::DefinitionName, "Timestamp");
+
+/*!
+   \variable QContactType::DefinitionName
+   The constant string which identifies the definition of details which identify the type of the contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactType::DefinitionName, "Type");
+
+/*!
+   \variable QContactGuid::DefinitionName
+   The constant string which identifies the definition of details which are globally unique identifiers.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGuid::DefinitionName, "Guid");
+
+/*!
+   \variable QContactEmailAddress::DefinitionName
+   The constant string which identifies the definition of details which are email addresses.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactEmailAddress::DefinitionName, "EmailAddress");
+
+/*!
+   \variable QContactFamily::DefinitionName
+   The constant string which identifies the definition of details which contain the names of the contact's family.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactFamily::DefinitionName, "Family");
+
+/*!
+   \variable QContactUrl::DefinitionName
+   The constant string which identifies the definition of details which are universal resource location paths.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactUrl::DefinitionName, "Url");
+
+/*!
+   \variable QContactBirthday::DefinitionName
+   The constant string which identifies the definition of details which are the dates of birthdays.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactBirthday::DefinitionName, "Birthday");
+
+/*!
+   \variable QContactAnniversary::DefinitionName
+   The constant string which identifies the definition of details which are anniversary dates.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::DefinitionName, "Anniversary");
+
+/*!
+   \variable QContactGender::DefinitionName
+
+   The constant string which identifies the definition of details
+   which identify the gender of a contact in a given context.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGender::DefinitionName, "Gender");
+
+/*!
+   \variable QContactGeoLocation::DefinitionName
+
+   The constant string which identifies the definition of details
+   which describe a location associated with a contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::DefinitionName, "GeoLocation");
+
+/*!
+   \variable QContactOnlineAccount::DefinitionName
+
+   The constant string which identifies the definition of details
+   which identify the organization to which a contact belongs in a
+   given context.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::DefinitionName, "OnlineAccount");
+
+/*!
+   \variable QContactOnlineAccount::FieldNickname
+
+   The constant key for which the nickname value is stored in details
+   of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldNickname, "Nickname");
+
+/*!
+   \variable QContactOnlineAccount::FieldPresence
+
+   The constant key for which the presence value is stored in details
+   of the QContactOnlineAccount typel.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldPresence, "Presence");
+
+/*!
+   \variable QContactOnlineAccount::PresenceAvailable
+
+   The value for presence which specifies that the contact's current
+   status is available.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceAvailable, "Available");
+
+/*!
+   \variable QContactOnlineAccount::PresenceHidden
+
+   The value for presence which specifies that the contact's current.
+   status is hidden
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceHidden, "Hidden");
+
+/*!
+   \variable QContactOnlineAccount::PresenceBusy
+   The value for presence which specifies that the contact's current status is busy.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceBusy, "Busy");
+
+/*!
+   \variable QContactOnlineAccount::PresenceAway
+   The value for presence which specifies that the contact's current status is away.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceAway, "Away");
+
+/*!
+   \variable QContactOnlineAccount::PresenceExtendedAway
+   The value for presence which specifies that the contact's current status is extended away.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceExtendedAway, "ExtendedAway");
+
+/*!
+   \variable QContactOnlineAccount::PresenceUnknown
+   The value for presence which specifies that the contact's current status is unknown.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceUnknown, "Unknown");
+
+/*!
+   \variable QContactOnlineAccount::PresenceOffline
+   The value for presence which specifies that the contact's current status is offline.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::PresenceOffline, "Offline");
+
+/*!
+   \variable QContactOnlineAccount::FieldStatusMessage
+
+   The constant key for which the status message value is stored in
+   details of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldStatusMessage, "StatusMessage");
+
+/*!
+   \variable QContactOnlineAccount::FieldCapabilities
+
+   The constant key for which the account capabilities value is stored in
+   details of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldCapabilities, "Capabilities");
+
+/*!
+   \variable QContactOrganization::DefinitionName
+
+   The constant string which identifies the definition of details
+   which identify the organization to which a contact belongs in a
+   given context.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::DefinitionName, "Organization");
+
+/*!
+   \variable QContactDisplayLabel::DefinitionName
+
+   The constant string which identifies the definition of details
+   which contain a display label of a contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactDisplayLabel::DefinitionName, "DisplayLabel");
+
+
+/*!
+   \variable QContactPhoneNumber::FieldNumber
+
+   The constant key for which the phone number value is stored in
+   details of the QContactPhoneNumber type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::FieldNumber, "PhoneNumber");
+
+/*!
+   \variable QContactPhoneNumber::FieldSubTypes
+
+   The constant key for which the subtype values are stored in details
+   of the QContactPhoneNumber type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::FieldSubTypes, "SubTypes");
+
+/*!
+   \variable QContactEmailAddress::FieldEmailAddress
+
+   The constant key for which the email address value is stored in
+   details of the QContactEmailAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactEmailAddress::FieldEmailAddress, "EmailAddress");
+
+/*!
+   \variable QContactFamily::FieldSpouse
+
+   The constant key for which the spouse name value is stored in
+   details of the QContactFamily type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactFamily::FieldSpouse, "Spouse");
+
+/*!
+   \variable QContactFamily::FieldChildren
+
+   The constant key for which the children names value is stored in
+   details of the QContactFamily type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactFamily::FieldChildren, "Children");
+
+/*!
+   \variable QContactGuid::FieldGuid
+
+   The constant key for which the globally unique identifier value is
+   stored in details of the QContactGuid type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGuid::FieldGuid, "Guid");
+
+/*!
+   \variable QContactSyncTarget::FieldSyncTarget
+
+   The constant key for which the value of the target store for
+   synchronisation is stored in details of the QContactSyncTarget type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactSyncTarget::FieldSyncTarget, "SyncTarget");
+
+/*!
+   \variable QContactAvatar::FieldAvatar
+
+   The constant key for which the path the avatar value is stored in
+   details of the QContactAvatar type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::FieldAvatar, "Avatar");
+
+/*!
+   \variable QContactAvatar::FieldAvatarPixmap
+
+   The constant key for which the path the avatar value is stored in
+   details of the QContactAvatar type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::FieldAvatarPixmap, "AvatarPixmap");
+
+/*!
+   \variable QContactAvatar::FieldSubType
+
+   The constant key for which the subtypes value is stored in details
+   of the QContactAvatar type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::FieldSubType, "SubType");
+
+/*!
+   \variable QContactName::FieldPrefix
+
+   The constant key for which the name prefix value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldPrefix, "Prefix");
+
+/*!
+   \variable QContactName::FieldFirstName
+
+   The constant key for which the first name value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldFirstName, "FirstName");
+
+/*!
+   \variable QContactName::FieldMiddleName
+
+   The constant key for which the middle name value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldMiddleName, "MiddleName");
+
+/*!
+   \variable QContactName::FieldLastName
+
+   The constant key for which the last name value is stored in details
+   of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldLastName, "LastName");
+
+/*!
+   \variable QContactName::FieldFirst
+
+   The constant key for which the first name value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldFirst, "FirstName");
+
+/*!
+   \variable QContactName::FieldMiddle
+
+   The constant key for which the middle name value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldMiddle, "MiddleName");
+
+/*!
+   \variable QContactName::FieldLast
+
+   The constant key for which the last name value is stored in details
+   of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldLast, "LastName");
+
+/*!
+   \variable QContactName::FieldSuffix
+
+   The constant key for which the name suffix value is stored in
+   details of the QContactName type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldSuffix, "Suffix");
+
+/*!
+   \variable QContactName::FieldCustomLabel
+
+   The constant key for which the custom name label value is stored in
+   details of the QContactName type, if supported.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldCustomLabel, "CustomLabel");
+
+/*!
+   \variable QContactNickname::FieldNickname
+
+   The constant key for which the nickname value is stored in details
+   of the QContactNickname type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactNickname::FieldNickname, "Nickname");
+
+/*!
+   \variable QContactNote::FieldNote
+
+   The constant key for which the note value is stored in details of
+   the QContactNote type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactNote::FieldNote, "Note");
+
+/*!
+   \variable QContactAddress::FieldStreet
+
+   The constant key for which the street value is stored in details of
+   the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldStreet, "Street");
+
+/*!
+   \variable QContactAddress::FieldLocality
+
+   The constant key for which the locality value is stored in details
+   of the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldLocality, "Locality");
+
+/*!
+   \variable QContactAddress::FieldRegion
+
+   The constant key for which the region value is stored in details of
+   the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldRegion, "Region");
+
+/*!
+   \variable QContactAddress::FieldPostcode
+
+   The constant key for which the postcode value is stored in details
+   of the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldPostcode, "Postcode");
+
+/*!
+   \variable QContactAddress::FieldCountry
+
+   The constant key for which the country value is stored in details
+   of the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldCountry, "Country");
+
+/*!
+   \variable QContactAddress::FieldPostOfficeBox
+
+   The constant key for which the post office box value is stored in
+   details of the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldPostOfficeBox, "PostOfficeBox");
+
+/*!
+   \variable QContactAddress::FieldSubTypes
+
+   The constant key for which the subtypes value is stored in details
+   of the QContactAddress type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::FieldSubTypes, "SubTypes");
+
+/*!
+   \variable QContactUrl::FieldUrl
+
+   The constant key for which the url value is stored in details of
+   the QContactUrl type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactUrl::FieldUrl, "Url");
+
+/*!
+   \variable QContactUrl::FieldSubType
+
+   The constant key for which the subtypes value is stored in details
+   of the QContactUrl type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactUrl::FieldSubType, "SubType");
+
+/*!
+   \variable QContactBirthday::FieldBirthday
+
+   The constant key for which the birthday date value is stored in
+   details of the QContactBirthday type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactBirthday::FieldBirthday, "Birthday");
+
+/*!
+   \variable QContactAnniversary::FieldOriginalDate
+
+   The constant key for which the anniversary original event date
+   value is stored in details of the QContactAnniversary type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::FieldOriginalDate, "OriginalDate");
+
+/*!
+   \variable QContactAnniversary::FieldEvent
+
+   The constant key for which the name of the event is stored in
+   details of the QContactAnniversary type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::FieldEvent, "Event");
+
+/*!
+   \variable QContactAnniversary::FieldCalendarId
+
+   The constant key for which the value of the identifier of the
+   associated calendar entry is stored in details of the
+   QContactAnniversary type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::FieldCalendarId, "CalendarId");
+
+/*!
+   \variable QContactAnniversary::FieldSubType
+
+   The constant key for which the subtypes value is stored in details
+   of the QContactAnniversary type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::FieldSubType, "SubType");
+
+/*!
+   \variable QContactGender::FieldGender
+
+   The constant key for which the gender value is stored in details of
+   the QContactGender type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGender::FieldGender, "Gender");
+
+/*!
+   \variable QContactGender::GenderMale
+   The value that identifies this contact as being male.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGender::GenderMale, "Male");
+
+/*!
+   \variable QContactGender::GenderFemale
+   The value that identifies this contact as being female.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGender::GenderFemale, "Female");
+
+/*!
+   \variable QContactGender::GenderUnspecified
+   The value that identifies this contact as being of unspecified gender.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGender::GenderUnspecified, "Unspecified");
+
+/*!
+   \variable QContactGeoLocation::FieldLabel
+
+   The constant key for which the location label value is stored in
+   details of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldLabel, "Label");
+
+/*!
+   \variable QContactGeoLocation::FieldLatitude
+
+   The constant key for which the latitude value is stored in details
+   of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldLatitude, "Latitude");
+
+/*!
+   \variable QContactGeoLocation::FieldLongitude
+
+   The constant key for which the longitude value is stored in details
+   of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldLongitude, "Longitude");
+
+/*!
+   \variable QContactGeoLocation::FieldAccuracy
+
+   The constant key for which the location accuracy value is stored in
+   details of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldAccuracy, "Accuracy");
+
+/*!
+   \variable QContactGeoLocation::FieldAltitude
+
+   The constant key for which the altitude value is stored in details
+   of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldAltitude, "Altitude");
+
+
+/*!
+   \variable QContactGeoLocation::FieldAltitudeAccuracy
+
+   The constant key for which the altitude accuracy value is stored in
+   details of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldAltitudeAccuracy, "AltitudeAccuracy");
+
+/*!
+   \variable QContactGeoLocation::FieldHeading
+
+   The constant key for which the heading value is stored in details
+   of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldHeading, "Heading");
+
+/*!
+   \variable QContactGeoLocation::FieldSpeed
+
+   The constant key for which the speed value is stored in details of
+   the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldSpeed, "Speed");
+
+/*!
+   \variable QContactGeoLocation::FieldTimestamp
+
+   The constant key for which the timestamp value is stored in details
+   of the QContactGeoLocation type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactGeoLocation::FieldTimestamp, "Timestamp");
+
+/*!
+   \variable QContactOnlineAccount::FieldAccountUri
+
+   The constant key for which the remote account uri value is stored
+   in details of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldAccountUri, "AccountUri");
+
+/*!
+   \variable QContactOnlineAccount::FieldServiceProvider
+
+   The constant key for which the service provider value is stored in
+   details of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldServiceProvider, "ServiceProvider");
+
+/*!
+   \variable QContactOnlineAccount::FieldSubTypes
+
+   The constant key for which the subtypes value is stored in details
+   of the QContactOnlineAccount type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::FieldSubTypes, "SubTypes");
+
+/*!
+   \variable QContactOnlineAccount::SubTypeSip
+
+   The constant attribute value which describes the online account as
+   supporting SIP.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::SubTypeSip, "Sip");
+
+/*!
+   \variable QContactOnlineAccount::SubTypeSipVoip
+
+   The constant attribute value which describes the online account as
+   supporting SIP-based VoIP.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::SubTypeSipVoip, "SipVoip");
+
+/*!
+   \variable QContactOnlineAccount::SubTypeImpp
+
+   The constant attribute value which describes the online account as
+   supporting IMPP.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::SubTypeImpp, "Impp");
+
+/*!
+   \variable QContactOnlineAccount::SubTypeVideoShare
+
+   The constant attribute value which describes the online account as
+   supporting VideoShare.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOnlineAccount::SubTypeVideoShare, "VideoShare");
+
+/*!
+   \variable QContactOrganization::FieldName
+
+   The constant key for which the name value is stored in details of
+   the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldName, "Name");
+
+/*!
+   \variable QContactOrganization::FieldLogo
+
+   The constant key for which the logo path value is stored in details
+   of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldLogo, "Logo");
+
+/*!
+   \variable QContactOrganization::FieldDepartment
+
+   The constant key for which the organization's department value is
+   stored in details of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldDepartment, "Department");
+
+/*!
+   \variable QContactOrganization::FieldLocation
+
+   The constant key for which the organization's location (or the
+   location of the contact's part of the organization) value is stored
+   in details of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldLocation, "Location");
+
+/*!
+   \variable QContactOrganization::FieldRole
+
+   The constant key for which the contact's role within the
+   organization is stored in details of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldRole, "Role");
+
+/*!
+   \variable QContactOrganization::FieldTitle
+
+   The constant key for which the contact's title within the
+   organization is stored in details of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldTitle, "Title");
+
+/*!
+   \variable QContactOrganization::FieldAssistantName
+
+   The constant key for which the contact's assistant name within the
+   organization is stored in details of the QContactOrganization type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactOrganization::FieldAssistantName, "AssistantName");
+
+
+/*!
+   \variable QContactDisplayLabel::FieldLabel
+
+   The constant key for which the display label value is stored in
+   details of the QContactDisplayLabel type.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactDisplayLabel::FieldLabel, "Label");
+
+/*!
+   \variable QContactTimestamp::FieldModificationTimestamp
+
+   The constant key for the value which is stored in details of the
+   QContactTimestamp type which describes the last modification date
+   and time of a contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactTimestamp::FieldModificationTimestamp, "ModificationTimestamp");
+
+/*!
+   \variable QContactTimestamp::FieldCreationTimestamp
+
+   The constant key for the value which is stored in details of the
+   QContactTimestamp type which describes the creation date and time
+   of a contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactTimestamp::FieldCreationTimestamp, "CreationTimestamp");
+
+/*!
+   \variable QContactType::FieldType
+
+   The constant key for the type value which is stored in details of
+   the QContactType definition.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactType::FieldType, "Type");
+
+
+/*!
+   \variable QContactType::TypeContact
+
+   The constant attribute value which describes the contact as being
+   an ordinary contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactType::TypeContact, "Contact");
+
+/*!
+   \variable QContactType::TypeGroup
+
+   The constant attribute value which describes the contact as being a
+   group.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactType::TypeGroup, "Group");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeLandline
+
+   The constant attribute value which describes the phone number as
+   identifying a landline phone.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeLandline, "Landline");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeMobile
+
+   The constant attribute value which describes the phone number as
+   identifying a mobile phone.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeMobile, "Mobile");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeFacsimile
+
+   The constant attribute value which describes the phone number as
+   identifying a facsimile machine.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeFacsimile, "Facsimile");
+
+/*!
+   \variable QContactPhoneNumber::SubTypePager
+
+   The constant attribute value which describes the phone number as
+   identifying a pager device.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypePager, "Pager");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeCar
+
+   The constant attribute value which describes the phone number as
+   identifying a car phone.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeCar, "Car");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeBulletinBoardSystem
+
+   The constant attribute value which describes the phone number as
+   identifying a bulletin board system.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeBulletinBoardSystem, "BulletinBoardSystem");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeVoice
+
+   The constant attribute value which describes the phone number as
+   supporting voice transmission.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeVoice, "Voice");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeModem
+
+   The constant attribute value which describes the phone number as
+   supporting digital data transfer.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeModem, "Modem");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeVideo
+
+   The constant attribute value which describes the phone number as
+   supporting video transmission.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeVideo, "Video");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeMessagingCapable
+
+   The constant attribute value which describes the phone number as
+   supporting messaging services.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeMessagingCapable, "MessagingCapable");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeAssistant
+
+   The constant attribute value which describes the phone number as an
+   assistant phone number.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeAssistant, "Assistant");
+
+/*!
+   \variable QContactPhoneNumber::SubTypeDtmfMenu
+
+   The constant attribute value which describes the phone number as
+   supporting DTMF-controlled electronic menu navigation.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::SubTypeDtmfMenu, "DtmfMenu");
+
+/*!
+   \variable QContactAddress::SubTypeParcel
+
+   The constant attribute value which describes the address as being
+   an address for parcel delivery.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::SubTypeParcel, "Parcel");
+
+/*!
+   \variable QContactAddress::SubTypePostal
+
+   The constant attribute value which describes the address as being
+   an address for postal delivery.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::SubTypePostal, "Postal");
+
+/*!
+   \variable QContactAddress::SubTypeDomestic
+
+   The constant attribute value which describes the address as being a
+   domestic address.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::SubTypeDomestic, "Domestic");
+
+/*!
+   \variable QContactAddress::SubTypeInternational
+
+   The constant attribute value which describes the address as being
+   an international address.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAddress::SubTypeInternational, "International");
+
+/*!
+   \variable QContactAvatar::SubTypeImage
+
+   The constant attribute value which describes the avatar as being an
+   image.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::SubTypeImage, "Image");
+
+/*!
+   \variable QContactAvatar::SubTypeVideo
+
+   The constant attribute value which describes the avatar as being a
+   video.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::SubTypeVideo, "Video");
+
+/*!
+   \variable QContactAvatar::SubTypeAudioRingtone
+
+   The constant attribute value which describes the avatar as being an
+   audio ringtone.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::SubTypeAudioRingtone, "AudioRingtone");
+
+/*!
+   \variable QContactAvatar::SubTypeVideoRingtone
+
+   The constant attribute value which describes the avatar as being a
+   video ringtone.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::SubTypeVideoRingtone, "VideoRingtone");
+
+
+/*!
+   \variable QContactAvatar::SubTypeTexturedMesh
+
+   The constant attribute value which describes the avatar as being a
+   textured, 3D mesh.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAvatar::SubTypeTexturedMesh, "TexturedMesh");
+
+/*!
+   \variable QContactUrl::SubTypeHomePage
+
+   The constant attribute value which describes the url as being the
+   homepage of the contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactUrl::SubTypeHomePage, "HomePage");
+
+/*!
+   \variable QContactUrl::SubTypeFavourite
+
+   The constant attribute value which describes the url as being a
+   favourite page of the contact.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactUrl::SubTypeFavourite, "Favourite");
+
+/*!
+   \variable QContactAnniversary::SubTypeWedding
+
+   The constant attribute value which describes the anniversary as
+   being a wedding anniversary.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::SubTypeWedding, "Wedding");
+
+/*!
+   \variable QContactAnniversary::SubTypeEngagement
+
+   The constant attribute value which describes the anniversary as
+   being an engagement anniversary.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::SubTypeEngagement, "Engagement");
+
+/*!
+   \variable QContactAnniversary::SubTypeHouse
+
+   The constant attribute value which describes the anniversary as
+   being an anniversary of ownership of a particular residence.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::SubTypeHouse, "House");
+
+/*!
+   \variable QContactAnniversary::SubTypeEmployment
+
+   The constant attribute value which describes the anniversary as
+   being an anniversary of employment at a particular company.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::SubTypeEmployment, "Employment");
+
+/*!
+   \variable QContactAnniversary::SubTypeMemorial
+
+   The constant attribute value which describes the anniversary as
+   being an anniversary of an event of sentimental significance.
+ */
+Q_DEFINE_LATIN1_LITERAL(QContactAnniversary::SubTypeMemorial, "Memorial");
+
+
+/*!
+   \fn QContactSyncTarget::syncTarget() const
+
+   Returns the identifier of the backend store to which the contact
+   containing this detail should be synchronised.
+ */
+
+/*!
+   \fn QContactSyncTarget::setSyncTarget(const QString& syncTarget)
+
+   Sets the identifier of the backend store to which the contact
+   containing this detail should be synchronised to \a syncTarget.
+ */
+
+/*!
+   \fn QContactEmailAddress::emailAddress() const
+   Returns the email address of the contact which is stored in this detail.
+ */
+
+/*!
+   \fn QContactEmailAddress::setEmailAddress(const QString& emailAddress)
+   Sets the email address of the contact which is stored in this detail to \a emailAddress.
+ */
+
+/*!
+   \fn QContactFamily::spouse() const
+   Returns the name of the spouse of the contact which is stored in this detail.
+ */
+
+/*!
+   \fn QContactFamily::setSpouse(const QString& spouseName)
+   Sets the name of the spouse of the contact which is stored in this detail to \a spouseName.
+ */
+
+/*!
+   \fn QContactFamily::children() const
+   Returns the names of the children of the contact which is stored in this detail.
+ */
+
+/*!
+   \fn QContactFamily::setChildren(const QStringList& childrenNames)
+   Sets the names of the children of the contact which is stored in this detail to \a childrenNames.
+ */
+
+/*!
+   \fn QContactAnniversary::originalDate() const
+   Returns the original date of occurrance of the event stored in this detail.
+ */
+
+/*!
+   \fn QContactAnniversary::setOriginalDate(const QDate& date)
+   Sets the original date of occurrance of the event stored in this detail to \a date.
+ */
+
+/*!
+   \fn QContactAnniversary::calendarId() const
+ * Returns the identifier of the calendar entry associated with this anniversary.
+ */
+
+/*!
+   \fn QContactAnniversary::setCalendarId(const QString& calendarId)
+   Sets the identifier of the calendar entry associated with this anniversary to \a calendarId.
+ */
+
+/*!
+   \fn QContactAnniversary::event() const
+   Returns the name of the event for which this detail contains information.
+ */
+
+/*!
+   \fn QContactAnniversary::setEvent(const QString& event)
+   Sets the name of the event for which this detail contains information to \a event.
+ */
+
+/*!
+   \fn QContactAnniversary::setSubType(const QString& subType)
+   Sets the subtype which this detail implements to be the given \a subType.
+ */
+
+/*!
+   \fn QContactAnniversary::subType() const
+   Returns the subtype that this detail implements, if defined.
+ */
+
+/*!
+   \fn QContactAvatar::avatar() const
+   Returns the location of an avatar file associated with the contact.
+ */
+
+/*!
+   \fn QContactAvatar::setAvatar(const QString& avatar)
+   Sets the location of an avatar file associated with the contact to \a avatar.
+ */
+
+/*!
+   \fn QContactAvatar::pixmap() const
+   Returns a thumbnail for a picture associated with this contact.
+ */
+
+/*!
+   \fn QContactAvatar::setPixmap(const QPixmap& pixmap)
+   Sets the thumbnail of a picture avatar associated with the contact to \a pixmap.
+   If \a pixmap is empty, the thumbnail pixmap will be removed.
+
+   Returns true if the pixmap could be set, and false otherwise.
+ */
+
+/*!
+   \fn QContactAvatar::setSubType(const QString& subType)
+   Sets the subtype which this detail implements to be the given \a subType.
+ */
+
+/*!
+   \fn QContactAvatar::subType() const
+   Returns the subtype that this detail implements, if defined.
+ */
+
+/*!
+   \fn QContactAddress::postOfficeBox() const
+   Returns the post office box segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setPostOfficeBox(const QString& postOfficeBox)
+   Sets the post office box segment of the address stored in this detail to \a postOfficeBox.
+ */
+
+/*!
+   \fn QContactAddress::street() const
+   Returns the street segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setStreet(const QString& street)
+   Sets the street segment of the address stored in this detail to \a street.
+ */
+
+/*!
+   \fn QContactAddress::locality() const
+   Returns the locality segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setLocality(const QString& locality)
+   Sets the locality segment of the address stored in this detail to \a locality.
+ */
+
+/*!
+   \fn QContactAddress::region() const
+   Returns the region segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setRegion(const QString& region)
+   Sets the region segment of the address stored in this detail to \a region.
+ */
+
+/*!
+   \fn QContactAddress::postcode() const
+   Returns the postcode segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setPostcode(const QString& postcode)
+   Sets the postcode segment of the address stored in this detail to \a postcode.
+ */
+
+/*!
+   \fn QContactAddress::country() const
+   Returns the country segment of the address stored in this detail.
+ */
+
+/*!
+   \fn QContactAddress::setCountry(const QString& country)
+   Sets the country segment of the address stored in this detail to \a country.
+ */
+
+/*!
+   \fn QContactAddress::setSubTypes(const QStringList& subTypes)
+   Sets the subtypes which this detail implements to be those contained in the list of given \a subTypes.
+ */
+
+/*!
+   \fn QContactAddress::setSubTypes(const QString& subType)
+   Sets the subtypes which this detail implements to be just the given \a subType.
+ */
+
+/*!
+   \fn QContactAddress::subTypes() const
+   Returns the list of subtypes that this detail implements.
+ */
+
+/*!
+   \fn QContactUrl::url() const
+   Returns the url stored in this detail.
+ */
+
+/*!
+   \fn QContactUrl::setUrl(const QString& url)
+   Sets the url stored in this detail to \a url.
+ */
+
+/*!
+   \fn QContactUrl::setSubType(const QString& subType)
+   Sets the subtype which this detail implements to be the given \a subType.
+ */
+
+/*!
+   \fn QContactUrl::subType() const
+   Returns the subtype that this detail implements, if defined.
+ */
+
+/*!
+   \fn QContactPhoneNumber::number() const
+   Returns the phone number stored in this detail.
+ */
+
+/*!
+   \fn QContactPhoneNumber::setNumber(const QString& number)
+   Sets the phone number stored in this detail to \a number.
+ */
+
+/*!
+   \fn QContactPhoneNumber::setSubTypes(const QStringList& subTypes)
+   Sets the subtypes which this detail implements to be those contained in the list of given \a subTypes
+ */
+
+/*!
+   \fn QContactPhoneNumber::setSubTypes(const QString& subType)
+   Sets the subtypes which this detail implements to be just the given \a subType.
+ */
+
+/*!
+   \fn QContactPhoneNumber::subTypes() const
+   Returns the list of subtypes that this detail implements.
+ */
+
+/*!
+   \fn QContactBirthday::date() const
+   Returns the date of the birthday which is stored in this detail.
+ */
+
+/*!
+   \fn QContactBirthday::setDate(const QDate& date)
+   Sets the date of the birthday which is stored in this detail to \a date.
+ */
+
+/*!
+   \fn QContactGender::gender() const
+
+   Returns the gender of the contact, as stored in this detail.  The
+   possible values for the value stored are "Male", "Female" and
+   "Unspecified".
+ */
+
+/*!
+   \fn QContactGender::setGender(const QString& gender)
+
+   Sets the gender of the contact (as stored in this detail) to \a
+   gender, if \a gender is either "Male" or "Female", otherwise sets
+   it to "Unspecified".
+ */
+
+/*!
+   \fn QContactGeoLocation::setLabel(const QString& label)
+   Sets the label of the location stored in the detail to \a label.
+ */
+
+/*!
+   \fn QContactGeoLocation::label() const
+   Returns the label of the location stored in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setLatitude(double latitude)
+
+   Sets the latitude portion of the coordinate (in decimal degrees) of
+   the location stored in the detail to \a latitude.
+ */
+
+/*!
+   \fn QContactGeoLocation::latitude() const
+
+   Returns the latitude portion of the coordinate (specified in
+   decimal degrees) of the location stored in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setLongitude(double longitude)
+
+   Sets the longitude portion of the coordinate (in decimal degrees)
+   of the location stored in the detail to \a longitude.
+ */
+
+/*!
+   \fn QContactGeoLocation::longitude() const
+
+   Returns the longitude portion of the coordinate (specified in
+   decimal degrees) of the location stored in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setAccuracy(double accuracy)
+
+   Specifies that the latitude and longitude portions of the location
+   stored in the detail are accurate to within \a accuracy metres.
+ */
+
+/*!
+   \fn QContactGeoLocation::accuracy() const
+
+   Returns the accuracy (in metres) of the latitude and longitude of
+   the location stored in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setAltitude(double altitude)
+
+   Sets the altitude portion of the coordinate (in metres above the
+   ellipsoid) of the location stored in the detail to \a altitude.
+ */
+
+/*!
+   \fn QContactGeoLocation::altitude() const
+   Returns the altitude (in metres) of the location stored in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setAltitudeAccuracy(double altitudeAccuracy)
+
+   Sets the altitude-accuracy portion of the coordinate (in metres) of
+   the location stored in the detail to \a altitudeAccuracy.
+ */
+
+/*!
+   \fn QContactGeoLocation::altitudeAccuracy() const
+
+   Returns the accuracy of the altitude portion of the location stored
+   in the detail.
+ */
+
+/*!
+   \fn QContactGeoLocation::setHeading(double heading)
+
+   Sets the heading portion of the coordinate (in decimal degrees
+   clockwise relative to true north) of the location-aware device at
+   the time of measurement to \a heading.
+ */
+
+/*!
+   \fn QContactGeoLocation::heading() const
+
+   Returns the heading (at the time of measurement) of the
+   location-aware device that recorded (or was provided) the
+   measurement.
+ */
+
+/*!
+   \fn QContactGeoLocation::setSpeed(double speed)
+
+   Sets the speed portion of the coordinate (in metres per second) of
+   the location-aware device at the time of measurement to \a speed.
+ */
+
+/*!
+   \fn QContactGeoLocation::speed() const
+
+   Returns the speed (at the time of measurement) of the
+   location-aware device that recorded (or was provided) the
+   measurement.
+ */
+
+/*!
+   \fn QContactGeoLocation::setTimestamp(const QDateTime& timestamp)
+
+   Sets the creation (or first-valid) timestamp of the location
+   information to \a timestamp.
+ */
+
+/*!
+   \fn QContactGeoLocation::timestamp() const
+
+   Returns the timestamp associated with the location stored in the
+   detail.
+ */
+
+/*!
+   \fn QContactGuid::guid() const
+
+   Returns the globally unique identifier which is stored in this
+   detail.
+ */
+
+/*!
+   \fn QContactGuid::setGuid(const QString& guid)
+   Sets the globally unique identifier which is stored in this detail to \a guid.
+ */
+
+/*!
+   \fn QContactName::prefix() const
+   Returns the prefix segment of the name stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setPrefix(const QString& prefix)
+   Sets the prefix segment of the name stored in this detail to \a prefix.
+ */
+
+/*!
+   \fn QContactName::firstName() const
+   Returns the first (given) name segment of the name stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setFirstName(const QString& firstName)
+   Sets the first name segment of the name stored in this detail to \a firstName.
+ */
+
+/*!
+   \fn QContactName::middleName() const
+   
+   Returns the middle (additional, or other) name segment of the name
+   stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setMiddleName(const QString& middleName)
+   Sets the middle name segment of the name stored in this detail to \a middleName.
+ */
+
+/*!
+   \fn QContactName::lastName() const
+
+   Returns the last (family, or surname) name segment of the name
+   stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setLastName(const QString& lastName)
+   Sets the last name segment of the name stored in this detail to \a lastName.
+ */
+
+/*!
+   \fn QContactName::suffix() const
+   Returns the suffix segment of the name stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setSuffix(const QString& suffix)
+   Sets the suffix segment of the name stored in this detail to \a suffix.
+ */
+
+/*!
+   \fn QContactName::customLabel() const
+   Returns the custom label of the name stored in this detail.
+ */
+
+/*!
+   \fn QContactName::setCustomLabel(const QString& customLabel)
+   Sets the custom label of the name stored in this detail to \a customLabel.
+ */
+
+/*!
+   \fn QContactNickname::setNickname(const QString& nickname)
+   Sets the nickname of the contact which is stored in this detail to \a nickname.
+ */
+
+/*!
+   \fn QContactNickname::nickname() const
+   Returns the nickname of the contact which is stored in this detail.
+ */
+
+/*!
+   \fn QContactNote::setNote(const QString& note)
+   Sets a note associated with a contact to \a note.
+ */
+
+/*!
+   \fn QContactNote::note() const
+   Returns a string for a note associated with a contact.
+ */
+
+/*!
+   \fn QContactTimestamp::created() const
+   Returns the creation timestamp saved in this detail.
+ */
+
+/*!
+   \fn QContactTimestamp::lastModified() const
+   Returns the last-modified timestamp saved in this detail.
+ */
+
+/*!
+   \fn QContactTimestamp::setCreated(const QDateTime& dateTime)
+   Sets the creation timestamp saved in this detail to \a dateTime.
+ */
+
+/*!
+   \fn QContactTimestamp::setLastModified(const QDateTime& dateTime)
+   Sets the last-modified timestamp saved in this detail to \a dateTime.
+ */
+
+/*!
+   \fn QContactType::type() const
+   Returns the contact type value stored in this detail.
+ */
+
+/*!
+   \fn QContactType::setType(const QString& type)
+   Sets the type of the contact to be the give \a type.
+ */
+
+
+/*!
+   \fn QContactDisplayLabel::label() const
+   Returns the display label of the contact.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setAccountUri(const QString& accountUri)
+   
+   Sets the universal resource identifier of the contact's online
+   account to \a accountUri.
+ */
+
+/*!
+   \fn QContactOnlineAccount::accountUri() const
+
+   Returns the universal resource identifier of the online account of
+   the contact.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setServiceProvider(const QString& serviceProvider)
+
+   Sets the service provider of the contact's online account to \a
+   serviceProvider.
+ */
+
+/*!
+   \fn QContactOnlineAccount::serviceProvider() const
+   Returns the service provider of the online account of the contact.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setSubTypes(const QStringList& subTypes)
+   
+   Sets the subtypes which this detail implements to be those
+   contained in the list of given \a subTypes.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setSubTypes(const QString& subType)
+   Sets the subtypes which this detail implements to be just the given \a subType.
+ */
+
+/*!
+   \fn QContactOnlineAccount::subTypes() const
+   Returns the list of subtypes that this detail implements.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setNickname(const QString& nickname)
+   
+   Sets the last-known nickname used by the contact during
+   communications via the online account about which this detail
+   stores presence information to \a nickname.
+ */
+
+/*!
+   \fn QContactOnlineAccount::nickname() const
+   
+   Returns the last-known nickname used by the contact during
+   communications via the online account.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setPresence(const QString& presence)
+   
+   Sets the presence of the online account according to the presence
+   information provider to \a presence.
+ */
+
+/*!
+   \fn QContactOnlineAccount::presence() const
+   
+   Returns the presence of the online account according to the
+   presence provider.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setStatusMessage(const QString& statusMessage)
+
+   Sets the last-known status message of the contact which was
+   communicated via the online account about which this detail stores
+   presence information to \a statusMessage.
+ */
+
+/*!
+   \fn QContactOnlineAccount::statusMessage() const
+   
+   Returns the last-known status message of the contact which was
+   communicated via the online account about which this detail stores
+   presence information.
+ */
+
+/*!
+   \fn QContactOnlineAccount::setCapabilities(const QStringList& capabilities)
+
+   Sets the capabilities of the online account about which this detail stores
+   presence information to \a capabilities.  The \a capabilities list is a
+   list of service-provider specified strings which together identify the
+   types of communication which may be possible.
+ */
+
+/*!
+   \fn QContactOnlineAccount::capabilities() const
+
+   Returns the capabilities of the online account about which this detail stores
+   presence information.
+ */
+
+/*!
+   \fn QContactOrganization::setName(const QString& name)
+   Sets the name of the organization stored in this detail to \a name.
+ */
+
+/*!
+   \fn QContactOrganization::name() const
+   Returns the name of the organization stored in this detail.
+ */
+
+/*!
+   \fn QContactOrganization::setLogo(const QString& logo)
+   Sets the logo of the organization stored in this detail to \a logo.
+ */
+
+/*!
+   \fn QContactOrganization::logo() const
+   Returns the logo of the organization stored in this detail.
+ */
+
+
+/*!
+   \fn QContactOrganization::setDepartment(const QStringList& department)
+   
+   Sets the contact's department of the organization stored in this
+   detail to \a department.  The department is a list of progressively
+   finer-grained information.
+ */
+
+/*!
+   \fn QContactOrganization::department() const
+   Returns the contact's department stored in this detail.
+ */
+
+
+/*!
+   \fn QContactOrganization::setLocation(const QString& location)
+   
+   Sets the location (e.g. city or suburb) of the organization stored
+   in this detail to \a location.
+ */
+
+/*!
+   \fn QContactOrganization::location() const
+   Returns the location of the organization stored in this detail.
+ */
+
+
+/*!
+   \fn QContactOrganization::setRole(const QString& role)
+   Sets the contact's role within the organization stored in this detail to \a role.
+ */
+
+/*!
+   \fn QContactOrganization::role() const
+   Returns the contact's role within the organization stored in this detail.
+ */
+
+
+/*!
+   \fn QContactOrganization::setTitle(const QString& title)
+   Sets the contact's title within the organization stored in this detail to \a title.
+ */
+
+/*!
+   \fn QContactOrganization::title() const
+   Returns the contact's title within the organization stored in this detail.
+ */
+
+/*!
+   \fn QContactOrganization::setAssistantName(const QString& assistantName)
+   
+   Sets the name of the default assistant of contacts belonging to
+   this organization to \a assistantName.
+ */
+
+/*!
+   \fn QContactOrganization::assistantName() const
+
+   Returns the name of the default assistant of contacts belonging to
+   this organization.
+ */
+
+
+/* Convenience filters */
+
+/*!
+    Returns a filter suitable for finding
+    contacts with a display label matching the specified \a label.
+*/
+QContactFilter QContactDisplayLabel::match(const QString &label)
+{
+    QContactDetailFilter f;
+    f.setDetailDefinitionName(QContactDisplayLabel::DefinitionName);
+    f.setValue(label);
+
+    return f;
+}
+
+/*!
+    Returns a filter suitable for finding
+    contacts with a name matching the specified \a firstName and
+    \a lastName.  If either parameter is empty, any value will match
+    that component.
+*/
+QContactFilter QContactName::match(const QString &firstName, const QString &lastName)
+{
+    if (firstName.isEmpty()) {
+        if (lastName.isEmpty()) {
+            // Matches contacts that have a name
+            QContactDetailFilter f;
+            f.setDetailDefinitionName(QContactName::DefinitionName);
+            return f;
+        } else {
+            // Contact with matching lastname
+            QContactDetailFilter f;
+            f.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName);
+            f.setValue(lastName);
+            return f;
+        }
+    } else {
+        if (lastName.isEmpty()) {
+            // Contact with matching firstName
+            QContactDetailFilter f;
+            f.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName);
+            f.setValue(firstName);
+            return f;
+        } else {
+            // Match a contact with the specified first and last names
+            // XXX This needs multi detail filter!
+
+            // Best we can currently do is "and" and assume there's only one name per contact
+            QContactDetailFilter f;
+            f.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName);
+            f.setValue(firstName);
+            QContactDetailFilter l;
+            l.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName);
+            l.setValue(lastName);
+
+            return f & l;
+        }
+    }
+}
+
+/*!
+    Returns a filter suitable for finding
+    contacts with a name field (e.g. first, last) that
+    matches the supplied \a name.
+*/
+QContactFilter QContactName::match(const QString &name)
+{
+    QContactDetailFilter l;
+    l.setDetailDefinitionName(QContactName::DefinitionName);
+    l.setValue(name);
+    return l;
+}
+
+/*!
+    Returns a filter suitable for finding
+    contacts with an email address matching the specified \a emailAddress.
+*/
+QContactFilter QContactEmailAddress::match(const QString &emailAddress)
+{
+    QContactDetailFilter l;
+    l.setDetailDefinitionName(QContactEmailAddress::DefinitionName, QContactEmailAddress::FieldEmailAddress);
+    l.setValue(emailAddress);
+    return l;
+}
+
+/*!
+    Returns a filter suitable for finding
+    contacts with a phone number matching the specified \a number.
+*/
+QContactFilter QContactPhoneNumber::match(const QString &number)
+{
+    QContactDetailFilter l;
+    l.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber);
+    l.setValue(number);
+    l.setMatchFlags(QContactFilter::MatchPhoneNumber);
+    return l;
+}
+
+
+QTM_END_NAMESPACE