--- a/smf/smfservermodule/smfclient/common/smfcontact.cpp Thu Aug 05 16:46:37 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1108 +0,0 @@
-/**
- * Copyright (c) 2010 Sasken Communication Technologies Ltd.
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html"
- *
- * Initial Contributors:
- * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
- *
- * Contributors:
- * Manasij Roy, Nalina Hariharan
- *
- * Description:
- * The contact class represents a social contact
- * Note: This class has dependencies on QtMobility project
- *
- */
-
-#include <QFile>
-#include <QTextStream>
-
-#include "smfcontact.h"
-
-/**
- * Constructor with default argument
- * @param aParent The parent object
- */
-SmfContact::SmfContact( QObject *aParent)
- {
- Q_UNUSED(aParent);
- d = new SmfContactPrivate;
- }
-
-/**
- * Copy Constructor
- * @param aOther The reference object
- */
-SmfContact::SmfContact( const SmfContact &aOther ): d (aOther.d)
- {
- }
-
-/**
- * Overloaded = operator
- * @param aOther The reference object
- * @return The target reference value
- */
-SmfContact& SmfContact::operator=( const SmfContact &aOther )
- {
- d->m_details = aOther.d->m_details;
- return *this;
- }
-
-/**
- * Destructor
- */
-SmfContact::~SmfContact( )
- {
- }
-
-/**
- * Method to get the available sub fields for contacts.
- * The following are the available sub types of a contact
- * QtMobility::QContactAddress Address;
- * QtMobility::QContactAnniversary Anniversary;
- * QtMobility::QContactAvatar Avatar;
- * QtMobility::QContactBirthday Birthday;
- * QtMobility::QContactId ContactId;
- * QtMobility::QContactEmailAddress EmailAddress;
- * QtMobility::QContactGender Gender;
- * QtMobility::QContactGeoLocation Geolocation;
- * QtMobility::QContactGuid Guid;
- * QtMobility::QContactName Name;
- * QtMobility::QContactNickname Nickname;
- * QtMobility::QContactNote Note;
- * QtMobility::QContactOnlineAccount OnlineAccount;
- * QtMobility::QContactOrganization Organization;
- * QtMobility::QContactPhoneNumber PhoneNumber;
- * QtMobility::QContactPresence Presence;
- * QtMobility::QContactThumbnail Thumbnail;
- * QtMobility::QContactTimestamp Timestamp;
- * QtMobility::QContactType Type;
- * QtMobility::QContactUrl Url;
- * @return The Available sub fields for this contact
- */
-QStringList SmfContact::subTypes( ) const
- {
- QStringList list = d->m_details.uniqueKeys();
- return list;
- }
-
-/**
- * Method to convert an SmfContact to a QContact
- * Changes made to the returned QContact will not be reflected
- * in its parent SmfContact object
- * @param aContact QContact corresponding to SmfContact
- */
-void SmfContact::convert( QContact &aContact ) const
- {
-// TODO:-
- Q_UNUSED(aContact);
- }
-
-/**
- * Method to get the value of a sub field for this contact
- * @param aSubType The sub field type
- * @return The value of the sub field subType
- * @see subTypes()
- */
-QVariant SmfContact::value( const QString& aSubType ) const
- {
- if(d->m_details.contains(aSubType))
- return d->m_details.value(aSubType);
- else
- return QString();
- }
-
-/**
- * Method to set value for a subtype
- * @param aSubType The subtype string
- * @param value Thhe value to be set for the subtype
- */
-void SmfContact::setValue(const QString& aSubType,QVariant& value)
- {
- d->m_details.insert(aSubType,value);
- }
-
-/**
- * Method for Externalization. Writes the SmfContact object to
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be written
- * @param aContact The SmfContact object to be externalized
- * @return reference to the written stream
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const SmfContact& aContact )
- {
- QContactAddress address = aContact.value("Address").value<QContactAddress>();
- aDataStream<<address;
-
- QContactAnniversary anniver = aContact.value("Anniversary").value<QContactAnniversary>();
- aDataStream<<anniver;
-
- QContactAvatar avatar = aContact.value("Avatar").value<QContactAvatar>();
- aDataStream<<avatar;
-
- QContactBirthday bday = aContact.value("Birthday").value<QContactBirthday>();
- aDataStream<<bday;
-
- QContactId contactId = aContact.value("ContactId").value<QContactId>();
- aDataStream<<contactId;
-
- QContactEmailAddress email = aContact.value("EmailAddress").value<QContactEmailAddress>();
- aDataStream<<email;
-
- QContactGender gender = aContact.value("Gender").value<QContactGender>();
- aDataStream<<gender;
-
- QContactGeoLocation geoloc = aContact.value("Geolocation").value<QContactGeoLocation>();
- aDataStream<<geoloc;
-
- QContactGuid guid = aContact.value("Guid").value<QContactGuid>();
- aDataStream<<guid;
-
- QContactName name = aContact.value("Name").value<QContactName>();
- aDataStream<<name;
-
- QContactNickname nickname = aContact.value("Nickname").value<QContactNickname>();
- aDataStream<<nickname;
-
- QContactNote note = aContact.value("Note").value<QContactNote>();
- aDataStream<<note;
-
- QContactOnlineAccount account = aContact.value("OnlineAccount").value<QContactOnlineAccount>();
- aDataStream<<account;
-
- QContactOrganization org = aContact.value("Organization").value<QContactOrganization>();
- aDataStream<<org;
-
- QContactPhoneNumber number = aContact.value("PhoneNumber").value<QContactPhoneNumber>();
- aDataStream<<number;
-
- QContactPresence presence = aContact.value("Presence").value<QContactPresence>();
- aDataStream<<presence;
-
- QContactThumbnail thumbnail = aContact.value("Thumbnail").value<QContactThumbnail>();
- aDataStream<<thumbnail;
-
- QContactTimestamp time = aContact.value("Timestamp").value<QContactTimestamp>();
- aDataStream<<time;
-
- QContactType type = aContact.value("Type").value<QContactType>();
- aDataStream<<type;
-
- QContactUrl url = aContact.value("Url").value<QContactUrl>();
- aDataStream<<url;
-
- return aDataStream;
- }
-
-/**
- * Method for Internalization. Reads a SmfContact object from
- * the stream and returns a reference to the stream.
- * @param aDataStream Stream to be read
- * @param aContact The SmfContact object to be internalized
- * @return reference to the stream
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- SmfContact& aContact )
- {
- QContactAddress address;
- aDataStream>>address;
- QVariant var1 = QVariant::fromValue(address);
- aContact.setValue("Address",var1);
-
- QContactAnniversary anniver;
- aDataStream>>anniver;
- QVariant var2 = QVariant::fromValue(anniver);
- aContact.setValue("Anniversary",var2);
-
- QContactAvatar avatar;
- aDataStream>>avatar;
- QVariant var3 = QVariant::fromValue(avatar);
- aContact.setValue("Avatar",var3);
-
- QContactBirthday bday;
- aDataStream>>bday;
- QVariant var4 = QVariant::fromValue(bday);
- aContact.setValue("Birthday",var4);
-
- QContactId id;
- aDataStream>>id;
- QVariant var5 = QVariant::fromValue(id);
- aContact.setValue("ContactId",var5);
-
- QContactEmailAddress email;
- aDataStream>>email;
- QVariant var6 = QVariant::fromValue(email);
- aContact.setValue("EmailAddress",var6);
-
- QContactGender gender;
- aDataStream>>gender;
- QVariant var7 = QVariant::fromValue(gender);
- aContact.setValue("Gender",var7);
-
- QContactGeoLocation geo;
- aDataStream>>geo;
- QVariant var8 = QVariant::fromValue(geo);
- aContact.setValue("Geolocation",var8);
-
- QContactGuid guid;
- aDataStream>>guid;
- QVariant var9 = QVariant::fromValue(guid);
- aContact.setValue("Guid",var9);
-
- QContactName name1;
- aDataStream>>name1;
- QVariant var10 = QVariant::fromValue(name1);
- aContact.setValue("Name",var10);
-
- QContactNickname nickname;
- aDataStream>>nickname;
- QVariant var11 = QVariant::fromValue(nickname);
- aContact.setValue("Nickname",var11);
-
- QContactNote note;
- aDataStream>>note;
- QVariant var12 = QVariant::fromValue(note);
- aContact.setValue("Note",var12);
-
- QContactOnlineAccount account;
- aDataStream>>account;
- QVariant var13 = QVariant::fromValue(account);
- aContact.setValue("OnlineAccount",var13);
-
- QContactOrganization org;
- aDataStream>>org;
- QVariant var14 = QVariant::fromValue(org);
- aContact.setValue("Organization",var14);
-
- QContactPhoneNumber number;
- aDataStream>>number;
- QVariant var15 = QVariant::fromValue(number);
- aContact.setValue("PhoneNumber",var15);
-
- QContactPresence presence;
- aDataStream>>presence;
- QVariant var16 = QVariant::fromValue(presence);
- aContact.setValue("Presence",var16);
-
- QContactThumbnail thumbnail;
- aDataStream>>thumbnail;
- QVariant var17 = QVariant::fromValue(thumbnail);
- aContact.setValue("Thumbnail",var17);
-
- QContactTimestamp time;
- aDataStream>>time;
- QVariant var18 = QVariant::fromValue(time);
- aContact.setValue("Timestamp",var18);
-
- QContactType type;
- aDataStream>>type;
- QVariant var19 = QVariant::fromValue(type);
- aContact.setValue("Type",var19);
-
- QContactUrl url;
- aDataStream>>url;
- QVariant var20 = QVariant::fromValue(url);
- aContact.setValue("Url",var20);
-
- return aDataStream;
- }
-
-
-
-
-/**
- * Serialization support for QtMobility::QContactAddress
- */
-QDataStream& operator<<( QDataStream &aDataStream,
- const QContactAddress &aAddress )
- {
- aDataStream<<aAddress.country();
- aDataStream<<aAddress.locality();
- aDataStream<<aAddress.postOfficeBox();
- aDataStream<<aAddress.postcode();
- aDataStream<<aAddress.region();
- aDataStream<<aAddress.street();
- aDataStream<<aAddress.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAddress
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAddress &aAddress )
- {
- QString str;
-
- // First one to be deserialized is country
- aDataStream>>str;
- aAddress.setCountry(str);
-
- // Next one to be deserialized is locality
- str.clear();
- aDataStream>>str;
- aAddress.setLocality(str);
-
- // Next one to be deserialized is postOfficeBox
- str.clear();
- aDataStream>>str;
- aAddress.setPostOfficeBox(str);
-
- // Next one to be deserialized is postCode
- str.clear();
- aDataStream>>str;
- aAddress.setPostcode(str);
-
- // Next one to be deserialized is region
- str.clear();
- aDataStream>>str;
- aAddress.setRegion(str);
-
- // Next one to be deserialized is street
- str.clear();
- aDataStream>>str;
- aAddress.setStreet(str);
-
- // Next one to be deserialized is subtypes
- QStringList list;
- list.clear();
- aDataStream>>list;
- aAddress.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactAnniversary
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAnniversary &aAnniversary )
- {
- aDataStream<<aAnniversary.calendarId();
- aDataStream<<aAnniversary.event();
- aDataStream<<aAnniversary.originalDate();
- aDataStream<<aAnniversary.subType();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAnniversary
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAnniversary &aAnniversary)
- {
- QString str;
- QDate date;
-
- // First one to be deserialized is calendarId
- aDataStream>>str;
- aAnniversary.setCalendarId(str);
-
- // Next one to be deserialized is event
- str.clear();
- aDataStream>>str;
- aAnniversary.setEvent(str);
-
- // Next one to be deserialized is originalDate
- aDataStream>>date;
- aAnniversary.setOriginalDate(date);
-
- // Next one to be deserialized is subType
- str.clear();
- aDataStream>>str;
- aAnniversary.setSubType(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactAvatar
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactAvatar &aAvatar )
- {
- //TODO:- QContactAvatar derives from QContactDetail,so internalization/externalization
- //for the same should be provided
-
- //Qt mobility introduces API compatibility break
-#ifdef OLDER_QT_MOBILITY
- aDataStream<<aAvatar.avatar();
-
-#else
- aDataStream<<aAvatar.imageUrl();
- aDataStream<<aAvatar.videoUrl();
-#endif
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactAvatar
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactAvatar &aAvatar)
- {
-#ifdef OLDER_QT_MOBILITY
- QString avatarPath;
- aDataStream>>avatarPath;
- aAvatar.setAvatar(avatarPath);
-#else
- QUrl url;
- aDataStream>>url;
- aAvatar.setImageUrl(url);
-
- url.clear();
- aDataStream>>url;
- aAvatar.setVideoUrl(url);
-#endif
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactBirthday
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactBirthday &aBirthday )
- {
- aDataStream<<aBirthday.date();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactBirthday
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactBirthday &aBirthday)
- {
- QDate date;
- aDataStream>>date;
- aBirthday.setDate(date);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactId
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactId &aContactId )
- {
- aDataStream<<aContactId.localId();
- aDataStream<<aContactId.managerUri();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactId
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactId &aContactId)
- {
- QContactLocalId localId;
- QString str;
-
- // First one to be deserialized is localId
- aDataStream>>localId;
- aContactId.setLocalId(localId);
-
- // Next one to be deserialized is managerUri
- aDataStream>>str;
- aContactId.setManagerUri(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactEmailAddress
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactEmailAddress &aEMail )
- {
- aDataStream<<aEMail.emailAddress();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactEmailAddress
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactEmailAddress &aEMail)
- {
- QString str;
- aDataStream>>str;
- aEMail.setEmailAddress(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactGender
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGender &aGender )
- {
- aDataStream<<aGender.gender();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGender
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGender &aGender)
- {
- QString str;
- aDataStream>>str;
- aGender.setGender(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactGeoLocation
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGeoLocation &aGeolocation )
- {
- aDataStream<<aGeolocation.accuracy();
- aDataStream<<aGeolocation.altitude();
- aDataStream<<aGeolocation.altitudeAccuracy();
- aDataStream<<aGeolocation.heading();
- aDataStream<<aGeolocation.label();
- aDataStream<<aGeolocation.latitude();
- aDataStream<<aGeolocation.longitude();
- aDataStream<<aGeolocation.speed();
- aDataStream<<aGeolocation.timestamp();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGeoLocation
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGeoLocation &aGeolocation)
- {
- double val;
- QString str;
- QDateTime date;
-
- // First one to be deserialized is accuracy
- val = 0;
- aDataStream>>val;
- aGeolocation.setAccuracy(val);
-
- // Next one to be deserialized is altitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setAltitude(val);
-
- // Next one to be deserialized is altitudeAccuracy
- val = 0;
- aDataStream>>val;
- aGeolocation.setAltitudeAccuracy(val);
-
- // Next one to be deserialized is heading
- val = 0;
- aDataStream>>val;
- aGeolocation.setHeading(val);
-
- // First one to be deserialized is label
- aDataStream>>str;
- aGeolocation.setLabel(str);
-
- // Next one to be deserialized is latitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setLatitude(val);
-
- // Next one to be deserialized is longitude
- val = 0;
- aDataStream>>val;
- aGeolocation.setLongitude(val);
-
- // Next one to be deserialized is speed
- val = 0;
- aDataStream>>val;
- aGeolocation.setSpeed(val);
-
- // Next one to be deserialized is timestamp
- aDataStream>>date;
- aGeolocation.setTimestamp(date);
-
- return aDataStream;
- }
-
-/**
- * Serialization support for QtMobility::QContactGuid
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactGuid &aGuid )
- {
- aDataStream<<aGuid.guid();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactGuid
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactGuid &aGuid)
- {
- QString str;
- aDataStream>>str;
- aGuid.setGuid(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactName
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactName &aContact )
- {
- //Qt mobility introduces API compatibility break
-#ifdef OLDER_QT_MOBILITY
- aDataStream<<aContact.first();
- aDataStream<<aContact.last();
-#else
- aDataStream<<aContact.customLabel();
- aDataStream<<aContact.firstName();
- aDataStream<<aContact.lastName();
- aDataStream<<aContact.middleName();
- aDataStream<<aContact.prefix();
- aDataStream<<aContact.suffix();
-#endif
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactName
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactName &aContact )
- {
- QString str;
-
- // First one to be deserialized is customlabel
- str.clear();
- aDataStream>>str;
- aContact.setCustomLabel(str);
-
- // Next one to be deserialized is firstname
- str.clear();
- aDataStream>>str;
-#ifdef OLDER_QT_MOBILITY
- aContact.setFirst(str);
-#else
- aContact.setFirstName(str);
-#endif
-
- // Next one to be deserialized is lastName
- str.clear();
- aDataStream>>str;
-#ifdef OLDER_QT_MOBILITY
- aContact.setLast(str);
-#else
- aContact.setLastName(str);
-#endif
-
-
-
- // Next one to be deserialized is middlename
- str.clear();
- aDataStream>>str;
- aContact.setMiddleName(str);
-
- // Next one to be deserialized is prefix
- str.clear();
- aDataStream>>str;
- aContact.setPrefix(str);
-
- // Next one to be deserialized is suffix
- str.clear();
- aDataStream>>str;
- aContact.setSuffix(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactNickname
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNickname &aNickname )
- {
- aDataStream<<aNickname.nickname();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactNickname
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactNickname &aNickname)
- {
- QString str;
- aDataStream>>str;
- aNickname.setNickname(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactNote
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactNote &aNote )
- {
- aDataStream<<aNote.note();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactNote
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactNote &aNote)
- {
- QString str;
- aDataStream>>str;
- aNote.setNote(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactOnlineAccount
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOnlineAccount &aOnlineAccount )
- {
- aDataStream<<aOnlineAccount.accountUri();
- aDataStream<<aOnlineAccount.capabilities();
- aDataStream<<aOnlineAccount.serviceProvider();
- aDataStream<<aOnlineAccount.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactOnlineAccount
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactOnlineAccount &aOnlineAccount)
- {
- QString str;
- QStringList list;
-
- // First one to be deserialized is accountUri
- aDataStream>>str;
- aOnlineAccount.setAccountUri(str);
-
- // Next one to be deserialized is capabilities
- aDataStream>>list;
- aOnlineAccount.setCapabilities(list);
-
- // Next one to be deserialized is serviceProvider
- str.clear();
- aDataStream>>str;
- aOnlineAccount.setServiceProvider(str);
-
- // Next one to be deserialized is subTypes
- list.clear();
- aDataStream>>list;
- aOnlineAccount.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactOrganization
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactOrganization &aOrganization )
- {
- aDataStream<<aOrganization.assistantName();
- aDataStream<<aOrganization.department();
- aDataStream<<aOrganization.location();
- aDataStream<<aOrganization.logoUrl();
- aDataStream<<aOrganization.name();
- aDataStream<<aOrganization.role();
- aDataStream<<aOrganization.title();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactOrganization
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactOrganization &aOrganization )
- {
- QString str;
- QStringList list;
- QUrl url;
-
- // First one to be deserialized is assistantName
- aDataStream>>str;
- aOrganization.setAssistantName(str);
-
- // Next one to be deserialized is department
- aDataStream>>list;
- aOrganization.setDepartment(list);
-
- // Next one to be deserialized is location
- str.clear();
- aDataStream>>str;
- aOrganization.setLocation(str);
-
- // Next one to be deserialized is logoUrl
- aDataStream>>url;
- aOrganization.setLogoUrl(url);
-
- // Next one to be deserialized is name
- str.clear();
- aDataStream>>str;
- aOrganization.setName(str);
-
- // Next one to be deserialized is role
- str.clear();
- aDataStream>>str;
- aOrganization.setRole(str);
-
- // Next one to be deserialized is title
- str.clear();
- aDataStream>>str;
- aOrganization.setTitle(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactPhoneNumber
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPhoneNumber &aPhoneNumber )
- {
- aDataStream<<aPhoneNumber.number();
- aDataStream<<aPhoneNumber.subTypes();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactPhoneNumber
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactPhoneNumber &aPhoneNumber )
- {
- QString str;
- QStringList list;
-
- // First one to be deserialized is number
- aDataStream>>str;
- aPhoneNumber.setNumber(str);
-
- // Next one to be deserialized is subTypes
- aDataStream>>list;
- aPhoneNumber.setSubTypes(list);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactPresence
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactPresence &aPresence )
- {
- aDataStream<<aPresence.customMessage();
- aDataStream<<aPresence.nickname();
- aDataStream<<aPresence.presenceState();
- aDataStream<<aPresence.presenceStateImageUrl();
- aDataStream<<aPresence.presenceStateText();
- aDataStream<<aPresence.timestamp();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactPresence
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactPresence &aPresence )
- {
- QString str;
- QUrl url;
- QDateTime date;
-
- // First one to be deserialized is customMessage
- aDataStream>>str;
- aPresence.setCustomMessage(str);
-
- // Next one to be deserialized is nickname
- str.clear();
- aDataStream>>str;
- aPresence.setNickname(str);
-
- // Next one to be deserialized is presenceState
- int val;
- aDataStream>>val;
- QContactPresence::PresenceState state = (QContactPresence::PresenceState)val;
- aPresence.setPresenceState(state);
-
- // Next one to be deserialized is presenceStateImageUrl
- aDataStream>>url;
- aPresence.setPresenceStateImageUrl(url);
-
- // Next one to be deserialized is presenceStateText
- str.clear();
- aDataStream>>str;
- aPresence.setPresenceStateText(str);
-
- // Next one to be deserialized is timestamp
- aDataStream>>date;
- aPresence.setTimestamp(date);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactThumbnail
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactThumbnail &aThumbnail )
- {
- aDataStream<<aThumbnail.thumbnail();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactThumbnail
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactThumbnail &aThumbnail )
- {
- QImage image;
- aDataStream>>image;
- aThumbnail.setThumbnail(image);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactTimestamp
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactTimestamp &aTimestamp )
- {
- aDataStream<<aTimestamp.created();
- aDataStream<<aTimestamp.lastModified();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactTimestamp
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactTimestamp &aTimestamp )
- {
- QDateTime date1, date2;
-
- // First one to be deserialized is created
- aDataStream>>date1;
- aTimestamp.setCreated(date1);
-
- // Next one to be deserialized is lastModified
- aDataStream>>date2;
- aTimestamp.setLastModified(date2);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactType
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactType &aType )
- {
- aDataStream<<aType.type();
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactType
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactType &aType )
- {
- QString str;
- aDataStream>>str;
- aType.setType(str);
-
- return aDataStream;
- }
-
-
-/**
- * Serialization support for QtMobility::QContactUrl
- */
-QDataStream &operator<<( QDataStream &aDataStream,
- const QContactUrl &aUrl )
- {
- aDataStream<<aUrl.subType();
- aDataStream<<aUrl.url();
-
- return aDataStream;
- }
-
-/**
- * Deserialization support for QtMobility::QContactUrl
- */
-QDataStream &operator>>( QDataStream &aDataStream,
- QContactUrl &aUrl)
- {
- QString str;
-
- // First one to be deserialized is subType
- aDataStream>>str;
- aUrl.setSubType(str);
-
- // Next one to be deserialized is url
- str.clear();
- aDataStream>>str;
- aUrl.setUrl(str);
-
- return aDataStream;
- }
-