creator/engine/src/creator_phonebookwrapper.cpp
branchRCL_3
changeset 22 fad26422216a
parent 21 b3cee849fa46
child 23 f8280f3bfeb7
--- a/creator/engine/src/creator_phonebookwrapper.cpp	Tue Aug 31 15:15:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,654 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#include "engine.h"
-#include "enginewrapper.h"
-#include "creator_contactsetcache.h"
-
-#include "creator_phonebookwrapper.h" 
-#include "creator_traces.h"
-
-#include <bautils.h> 
-
-_LIT(KTempPath, "C:\\Data\\Creator\\");
-
-typedef struct {
-TInt iFieldCode;
-QString iDetail;
-QString iFieldContext;
-QString iFieldString;
-} QDetailFieldInfo;
-//static const TInt RND_TYPE_UNDEF = -99;
-QDetailFieldInfo CreatorPbkTextFields[] = {        
-        { (TInt)CCreatorPhonebookWrapper::EFirstName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldFirstName).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ELastName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldLastName).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ECompanyName,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldName).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EJobTitle,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldTitle).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EPrefix,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldPrefix).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ESuffix,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldSuffix).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EMiddleName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldMiddleName).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrStreetHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldStreet).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrLocalHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldLocality).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrRegionHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldRegion).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldPostcode).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrCountryHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldCountry).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrStreetGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldStreet).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrLocalGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldLocality).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrRegionGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldRegion).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldPostcode).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrCountryGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldCountry).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrStreetWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldStreet).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrLocalWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldLocality).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrRegionWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldRegion).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldPostcode).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAddrCountryWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldCountry).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EMobilePhoneWork,(QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactPhoneNumber::SubTypeMobile).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ELandPhoneWork,(QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactPhoneNumber::SubTypeLandline).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ENote,(QContactNote::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactNote::FieldNote).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EDepartment,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldDepartment).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EAsstName,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldAssistantName).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::ESpouse,(QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactFamily::FieldSpouse).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EChildren,(QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactFamily::FieldChildren).operator QString()},
-        { (TInt)CCreatorPhonebookWrapper::EGenLabel,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),  (QContactName::FieldCustomLabel).operator QString()}
-        };
-                  
-
-typedef struct{
-TInt iFieldCode;
-QString iFieldContext;
-QString iFieldString;
-}PhoneNumInfo;
-PhoneNumInfo CreatorPhoneNumberFields[] =
-    {
-    { CCreatorPhonebookWrapper::ELandPhoneGen,"", "Landline"},
-    { CCreatorPhonebookWrapper::ELandPhoneHome,"Home", "Landline"},
-    { CCreatorPhonebookWrapper::ELandPhoneWork,"Work", "Landline"},                        
-    { CCreatorPhonebookWrapper::EMobilePhoneGen,"","Mobile"},
-    { CCreatorPhonebookWrapper::EMobilePhoneHome,"Home","Mobile"},
-    { CCreatorPhonebookWrapper::EMobilePhoneWork,"Work", "Mobile"},
-    { CCreatorPhonebookWrapper::EFaxNumberGen, "", "Facsimile"},
-    { CCreatorPhonebookWrapper::EFaxNumberHome, "Home", "Facsimile"},
-    { CCreatorPhonebookWrapper::EFaxNumberWork, "Work", "Facsimile"},
-    { CCreatorPhonebookWrapper::EPagerNumber, "Work", "Pager"},
-    { CCreatorPhonebookWrapper::EVideoNumberGen, "", "Video"},
-    { CCreatorPhonebookWrapper::EVideoNumberHome, "Home", "Video"},
-    { CCreatorPhonebookWrapper::EVideoNumberWork, "Work", "Video"},   //{ "Home", "Voice" },//{ "Work", "Voice" },
-    { CCreatorPhonebookWrapper::EAsstPhone, "Work", "Assistant" },
-    { CCreatorPhonebookWrapper::ECarPhone, "Home",  "Car" }
-    };
-
-
-typedef struct{
-	TInt iFieldCode;
-	QString iFieldContext;
-}EmailInfo;
-EmailInfo CreatorEmailFields[] =
-	{
-    {CCreatorPhonebookWrapper::EEmailGen,""},
-    {CCreatorPhonebookWrapper::EEmailHome,(QContactDetail::ContextHome).operator QString()},
-    {CCreatorPhonebookWrapper::EEmailWork,(QContactDetail::ContextWork).operator QString()}
-    };
-
-typedef struct{
-	TInt iFieldCode;
-	QString iFieldContext;
-}UrlInfo;
-UrlInfo CreatorUrlFields[] =
-    {
-    {CCreatorPhonebookWrapper::EUrlGen,""},
-    {CCreatorPhonebookWrapper::EUrlHome,(QContactDetail::ContextHome).operator QString()},
-    {CCreatorPhonebookWrapper::EUrlWork,(QContactDetail::ContextWork).operator QString()}
-    };
-
-CCreatorPhonebookWrapper* CCreatorPhonebookWrapper::NewL()
-    {
-    CCreatorPhonebookWrapper* self = CCreatorPhonebookWrapper::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CCreatorPhonebookWrapper* CCreatorPhonebookWrapper::NewLC()
-    {
-    CCreatorPhonebookWrapper* self = new (ELeave) CCreatorPhonebookWrapper();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-
-CCreatorPhonebookWrapper::CCreatorPhonebookWrapper() 
-    {
-    }
-
-void CCreatorPhonebookWrapper::ConstructL()
-    {
-    LOGSTRING("Creator: CCreatorPhonebookWrapper::ConstructL");
-
-    QT_TRYCATCH_LEAVING( iPhonebookAPI = new CCreatorPhonebookAPI() );
-	
-	}
-	
-
-CCreatorPhonebookWrapper::~CCreatorPhonebookWrapper()
-    {
-    LOGSTRING("Creator: CCreatorPhonebookWrapper::~CCreatorPhonebookWrapper");
-	if( iPhonebookAPI )
-        {
-        delete iPhonebookAPI;
-        iPhonebookAPI = NULL;
-        }
-    }
-
-//----------------------------------------------------------------------------
-
-QList<QContactDetail> CCreatorPhonebookWrapper::CreateContactDetailsFromParameters( const TCreatorContactFields& aFields )
-	{
-	QList<QContactDetail> contDetList;
-	QString content;
-	HBufC* temp;
-	TInt arraySize = sizeof(CreatorPbkTextFields)/sizeof(QDetailFieldInfo);
-	for (TInt i = 0; i < arraySize; i++)
-		{
-	    TCreatorContactFields::const_iterator it = aFields.find(CreatorPbkTextFields[i].iFieldCode);
-		if( it != aFields.end() )
-			{
-		    temp = (*it).second;
-			content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-			QContactDetail contactDetail =  CreateContactDetail(contDetList, CreatorPbkTextFields[i].iDetail,CreatorPbkTextFields[i].iFieldContext,CreatorPbkTextFields[i].iFieldString, content );
-			AddFieldToList( contDetList, contactDetail );
-			}
-		
-		}
-	arraySize = sizeof(CreatorPhoneNumberFields)/sizeof(PhoneNumInfo);
-		for (TInt i = 0; i < arraySize; i++)
-			{
-			TCreatorContactFields::const_iterator it = aFields.find(CreatorPhoneNumberFields[i].iFieldCode);
-			if( it != aFields.end() )
-				{
-			    temp = (*it).second;
-				content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-				QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactPhoneNumber::DefinitionName ,CreatorPhoneNumberFields[i].iFieldContext,CreatorPhoneNumberFields[i].iFieldString, content );
-				AddFieldToList( contDetList, contactDetail );
-				}
-			}
-		
-	arraySize = sizeof(CreatorEmailFields)/sizeof(EmailInfo);
-		for (TInt i = 0; i < arraySize; i++)
-			{
-			TCreatorContactFields::const_iterator it = aFields.find(CreatorEmailFields[i].iFieldCode);
-			if( it != aFields.end() )
-				{
-			    temp = (*it).second;
-				content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-				QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactEmailAddress::DefinitionName ,CreatorEmailFields[i].iFieldContext,"", content );
-				AddFieldToList( contDetList, contactDetail );
-				}
-			}
-		
-	arraySize = sizeof(CreatorUrlFields)/sizeof(UrlInfo);
-			for (TInt i = 0; i < arraySize; i++)
-				{
-				TCreatorContactFields::const_iterator it = aFields.find(CreatorUrlFields[i].iFieldCode);
-				if( it != aFields.end() )
-					{
-				    temp = (*it).second;
-					content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-					QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactUrl::DefinitionName ,CreatorUrlFields[i].iFieldContext,"", content );
-					AddFieldToList( contDetList, contactDetail );
-					}
-				}	
-	arraySize = sizeof(CreatorUrlFields)/sizeof(UrlInfo);
-			for (TInt i = 0; i < arraySize; i++)
-				{
-				TCreatorContactFields::const_iterator it = aFields.find(CreatorUrlFields[i].iFieldCode);
-				if( it != aFields.end() )
-					{
-					temp = (*it).second;
-					content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-					QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactUrl::DefinitionName ,CreatorUrlFields[i].iFieldContext,"", content );
-					AddFieldToList( contDetList, contactDetail );
-					}
-				}
-			
-			TCreatorContactFields::const_iterator it = aFields.find(CCreatorPhonebookWrapper::EThumbnailPic);
-			if( it != aFields.end() )
-				{
-				temp = (*it).second;
-				if(temp)
-					{
-					content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-					QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactAvatar::DefinitionName ,"","", content );
-					AddFieldToList( contDetList, contactDetail );
-					}
-				}
-			it = aFields.find(CCreatorPhonebookWrapper::EAnniversary);
-				if( it != aFields.end() )
-					{
-					temp = (*it).second;
-					if(temp)
-						{
-						content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
-						QContactDetail contactDetail =  CreateContactDetail(contDetList, QContactAnniversary::DefinitionName ,"","", content );
-						AddFieldToList( contDetList, contactDetail );
-						}
-					}
-		
-	return contDetList;
-	}
-QContactDetail CCreatorPhonebookWrapper::CreateContactDetail( QList<QContactDetail>& aContactDetailList,QString aDetail, QString aFieldContext, QString aFieldString, QString aData )
-    {
-    QContactDetail contactDetail;
-        
-        if( aDetail == QContactPhoneNumber::DefinitionName)
-            {
-            QContactPhoneNumber phoneNumber;// = contactDetail;
-            if(!aFieldContext.isEmpty())
-            	{
-				phoneNumber.setContexts(aFieldContext);
-            	}
-            phoneNumber.setSubTypes(aFieldString);
-            //QString number = QString::fromUtf16(aData.Ptr(),aData.Length());
-            phoneNumber.setNumber(aData);
-            return phoneNumber;
-            }
-        else if( aDetail == QContactName::DefinitionName )          //--Contact NAME-----------------------------
-            {
-            QContactName contactName;
-            for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
-                {
-                if(aContactDetailList.at(i).definitionName() == QContactName::DefinitionName )
-                    {
-                    contactName = aContactDetailList.at(i);
-                    }
-                }
-            //QString name = QString::fromUtf16(aData.Ptr(),aData.Length());
-            if(aFieldString == QContactName::FieldFirstName)
-                {
-                if(contactName.firstName().isEmpty())
-                    {
-                    contactName.setFirstName( aData );
-                    }
-                }
-            else if(aFieldString == QContactName::FieldLastName)
-                {
-                if(contactName.lastName().isEmpty())
-                    {
-                    contactName.setLastName( aData );
-                    }
-                }
-            else if(aFieldString == QContactName::FieldMiddleName)
-                {
-                if(contactName.middleName().isEmpty())
-                    {
-                    contactName.setMiddleName( aData );
-                    }
-                }
-            else if(aFieldString == QContactName::FieldPrefix)
-                {
-                if(contactName.prefix().isEmpty())
-                    {
-                    contactName.setPrefix( aData );
-                    }
-                }
-            else if(aFieldString == QContactName::FieldSuffix)
-                {
-                if(contactName.suffix().isEmpty())
-                    {
-                    contactName.setSuffix( aData );
-                    }
-                }
-            else        //QContactName::FieldCustomLabel:
-                {
-                if(contactName.customLabel().isEmpty())
-                    {
-                    contactName.setCustomLabel( aData );
-                    }
-                }
-            return contactName;
-            }
-        else if( aDetail == QContactOrganization::DefinitionName )          //--Contact Company-----------------------------
-            {
-            QContactOrganization contactCompany;
-            
-            for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
-                {
-                if(aContactDetailList.at(i).definitionName() == QContactOrganization::DefinitionName )
-                    {
-                    contactCompany = aContactDetailList.at(i);
-                    }
-                }
-            
-            //QString company = QString::fromUtf16(aData.Ptr(),aData.Length());
-            if(aFieldString == QContactOrganization::FieldName)
-                {
-                if(contactCompany.name().isEmpty())
-                    {
-                    contactCompany.setName( aData );
-                    }
-                }
-            if(aFieldString == QContactOrganization::FieldTitle)
-                {
-                if(contactCompany.title().isEmpty())
-                    {
-                    contactCompany.setTitle( aData );
-                    }
-                }
-            if(aFieldString == QContactOrganization::FieldDepartment)
-                {
-                QStringList depList = contactCompany.department();
-                depList.append(aData);
-                contactCompany.setDepartment(depList);
-                }
-            if(aFieldString == QContactOrganization::FieldAssistantName)
-                {
-                if(contactCompany.assistantName().isEmpty())
-                    {
-                    contactCompany.setAssistantName( aData );
-                    }
-                }
-            return contactCompany;
-            }
-        else if( aDetail == QContactAddress::DefinitionName )           //--Contact Address-----------------------------
-                {
-                QContactAddress contactAddress;
-                
-                for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
-                    {
-                    if(aContactDetailList.at(i).definitionName() == QContactAddress::DefinitionName && aContactDetailList.at(i).value(QContactDetail::FieldContext) == aFieldContext )
-                        {
-                        contactAddress = aContactDetailList.at(i);
-                        }
-                    }
-                if( !aFieldContext.isEmpty() )
-                    {
-					contactAddress.setContexts( aFieldContext );
-                    }
-                //QString address = QString::fromUtf16(aData.Ptr(),aData.Length());
-                if(aFieldString == QContactAddress::FieldStreet )
-                    {
-                    if( contactAddress.street().isEmpty() )
-                        {
-                        contactAddress.setStreet( aData );
-                        }
-                    }
-                else if(aFieldString == QContactAddress::FieldLocality )
-                    {
-                    if( contactAddress.locality().isEmpty() )
-                        {
-                        contactAddress.setLocality( aData );
-                        }
-                    }
-                else if(aFieldString == QContactAddress::FieldRegion )
-                    {
-                    if( contactAddress.region().isEmpty() )
-                        {
-                        contactAddress.setRegion( aData );
-                        }
-                    }
-                else if(aFieldString == QContactAddress::FieldPostcode )
-                    {
-                    if( contactAddress.postcode().isEmpty() )
-                        {
-                        contactAddress.setPostcode( aData );
-                        }
-                    }
-                else if(aFieldString == QContactAddress::FieldCountry )
-                    {
-                    if( contactAddress.country().isEmpty() )
-                        {
-                        contactAddress.setCountry( aData );
-                        }
-                    }
-                else 
-                    {
-                    return contactDetail;
-                    }
-                return contactAddress;
-                }
-        else if( aDetail == QContactNote::DefinitionName )          //--Contact Note-----------------------------
-                    {
-                    QContactNote contactNote;
-                    //QString note = QString::fromUtf16(aData.Ptr(),aData.Length());
-                    contactNote.setNote(aData);
-                    return contactNote;
-                    }
-        else if( aDetail == QContactFamily::DefinitionName )            //--Contact Family-----------------------------
-                    {
-                    QContactFamily contactFamily;
-                    
-                    for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
-                        {
-                        if(aContactDetailList.at(i).definitionName() == QContactFamily::DefinitionName && aContactDetailList.at(i).value(QContactDetail::FieldContext) == aFieldContext )
-                            {
-                            contactFamily = aContactDetailList.at(i);
-                            }
-                        }
-                   
-                    //QString familyData = QString::fromUtf16(aData.Ptr(),aData.Length());
-                    if(aFieldString == QContactFamily::FieldSpouse )
-                        {
-                        if( contactFamily.spouse().isEmpty() )
-                            {
-                            contactFamily.setSpouse( aData );
-                            }
-                        }
-                    if(aFieldString == QContactFamily::FieldChildren )
-                        {
-                            QStringList children = contactFamily.children();
-                            children.append( aData );
-                            contactFamily.setChildren( children );
-                        }
-                    
-                    return contactFamily;
-                    }
-        
-        if( aDetail == QContactAvatar::DefinitionName)                      //--Contact Picture-----------------------------
-                {
-                QContactAvatar contactAvatar;
-                /*TBuf<KMaxFileName> srcPath;
-                aEngine->RandomPictureFileL(srcPath);
-                TBuf<KMaxFileName> destPath(KTempPath);
-                            
-                if(!BaflUtils::FolderExists( fs, destPath ))
-                    {
-                    BaflUtils::EnsurePathExistsL( fs, destPath );
-                    }
-                
-                TInt err=BaflUtils::CopyFile( fs, srcPath, destPath );
-
-                TParse temp;
-                temp.Set( srcPath,NULL,NULL );
-                destPath.Append(temp.NameAndExt());
-                
-                QString avatarFile = QString::fromUtf16( destPath.Ptr(),destPath.Length() );
-                */
-                QUrl imageUrl;
-                imageUrl.setUrl(aData);
-                contactAvatar.setImageUrl(imageUrl);
-
-                return contactAvatar;
-                }
-        if( aDetail == QContactAnniversary::DefinitionName) //--Anniversary------------------------------
-                {
-                QContactAnniversary contactAnniversary;
-                aData.replace(QChar('/'), QChar('-'));
-       		    QDate date = QDate::fromString(aData, "dd-MM-yyyy");
-                //TTime datetime = aEngine->RandomDate( CCreatorEngine::EDateFuture );
-                //date.setDate( datetime.DateTime().Year(),(int) (datetime.DateTime().Month()+1), datetime.DateTime().Day() );
-                contactAnniversary.setOriginalDate( date );
-                return contactAnniversary;
-                }
-        if( aDetail == QContactEmailAddress::DefinitionName) //--Email------------------------------------
-            {
-            QContactEmailAddress email;
-            //QString emailAddr = QString::fromUtf16(aData.Ptr(),aData.Length());
-            if( !aFieldContext.isEmpty() )
-            	{
-				email.setContexts( aFieldContext );
-            	}
-            email.setEmailAddress( aData );
-            return email;
-            }
-        if( aDetail == QContactUrl::DefinitionName )    //--Url-------------------------------------------
-            {
-            QContactUrl url;
-            //QString urlStr = QString::fromUtf16(aData.Ptr(),aData.Length());
-            if( !aFieldContext.isEmpty() )
-                {
-				url.setContexts( aFieldContext );
-                }
-            url.setUrl(aData);
-            return url;
-            }
-        if( aDetail == QContactBirthday::DefinitionName )   //--Birthday-----------------------------------
-            {
-            QContactBirthday birthday;
-            QDate date = QDate::fromString(aData);
-            //TTime datetime = aEngine->RandomDate( CCreatorEngine::EDatePast );
-            //date.setDate( datetime.DateTime().Year(),(int) (datetime.DateTime().Month()+1), datetime.DateTime().Day() );
-            birthday.setDate( date );
-            return birthday;
-            }
-                
-        return contactDetail;
-    }
-
-void CCreatorPhonebookWrapper::AddFieldToList( QList<QContactDetail>& aDetailList, QContactDetail aDetail)
-    {
-     bool replace = false;
-     for(int i = 0 ; i< aDetailList.count() ; i++) //go through
-          {
-           if( !aDetail.isEmpty() && aDetail.definitionName() == aDetailList.at(i).definitionName() 
-        		   && aDetail.definitionName() != QContactPhoneNumber::DefinitionName 
-        		   && aDetail.definitionName() != QContactEmailAddress::DefinitionName
-        		   && aDetail.definitionName() != QContactUrl::DefinitionName )
-               {
-               QString context = aDetail.value(QContactDetail::FieldContext);
-               bool isContextEmpty = context.isEmpty();
-               if( isContextEmpty ||  ( aDetail.value(QContactDetail::FieldContext) == aDetailList.at(i).value(QContactDetail::FieldContext)) )
-                   {
-                   //replace
-                   aDetailList.replace(i,aDetail);
-                   replace = true;
-                   }
-               }
-          }
-          if(!replace)
-             {
-             if(!aDetail.isEmpty())
-                {
-                aDetailList.append(aDetail);
-                }
-             }
-      
-    }
-
-TUint32 CCreatorPhonebookWrapper::CreateContactEntryL(const TCreatorContactFields& aFields)
-    {
-	QList<QContactDetail> list = CreateContactDetailsFromParameters( aFields );
-	
-	return iPhonebookAPI->saveContact( list );
-    }
-
-
-//----------------------------------------------------------------------------
-
-
-
-//----------------------------------------------------------------------------
-
-void CCreatorPhonebookWrapper::DeleteAllL()
-    {
-	iPhonebookAPI->deleteAllContacts();
-    }
-
-//----------------------------------------------------------------------------
-void CCreatorPhonebookWrapper::DeleteAllGroupsL()
-    {
-    LOGSTRING("Creator: CCreatorPhonebookWrapper::DeleteAllGroupsL");
-    
-    iPhonebookAPI->deleteAllContacts( QContactType::TypeGroup );
-
-    }
-
-//----------------------------------------------------------------------------
-void CCreatorPhonebookWrapper::DeleteContactsL( RArray<TUint32>& aContactsToDelete, TUid aStoreUid )
-    {
-	QList<QContactLocalId> contacts; 
-	for( TInt i = 0; i < aContactsToDelete.Count(); ++i )
-	    {
-	    QContact contact = iPhonebookAPI->contact( QContactLocalId( aContactsToDelete[i] ) );
-	    if( (contact.type() == QContactType::TypeGroup && aStoreUid == KUidDictionaryUidContactGroups ) ||  (contact.type() != QContactType::TypeGroup && aStoreUid != KUidDictionaryUidContactGroups) )
-            {
-            contacts.append( QContactLocalId( aContactsToDelete[i] ) );
-            }
-	    }
-    QMap<int, QContactManager::Error> errorMap;
-	iPhonebookAPI->deleteContacts( contacts );
-    }
-
-//----------------------------------------------------------------------------
-TBool CCreatorPhonebookWrapper::HasOtherThanGroupsL()
-    {
-    LOGSTRING("Creator: CCreatorPhonebookWrapper::HasOtherThanGroupsL");
-    TBool result( EFalse );
-    return result;
-    }
-
-
-TUint32 CCreatorPhonebookWrapper::CreateGroupEntryL( HBufC* aGroupName )
-    {
-	TUint32 id = 0;
-	QString groupName = QString::fromUtf16( aGroupName->Des().Ptr(), aGroupName->Length() );
-	
-	id = iPhonebookAPI->createGroup( groupName );
-	
-	return id; 
-    }
-TInt CCreatorPhonebookWrapper::NumberOfContacts()
-	{
-	//return all stored contacts
-	return iPhonebookAPI->numberOfContacts();
-	}
-
-TInt CCreatorPhonebookWrapper::AddContactToGroup( TUint32 aGroupId, TUint32 aContact )
-	{
-	QContactLocalId group = QContactLocalId(aGroupId);
-	QContactLocalId contact = QContactLocalId(aContact);
-	
-	TInt ret = iPhonebookAPI->addContactToGroup(group, contact);
-
-	return ret;
-	}
-TInt CCreatorPhonebookWrapper::AddToGroup( TUint32 aGroupId, TInt aAmount )
-	{
-	QContactLocalId group = QContactLocalId(aGroupId);
-	TInt ret = iPhonebookAPI->addToGroup( group, (int) aAmount );
-	return ret;
-	}
-
-
-//----------------------------------------------------------------------------
-
-TInt CCreatorPhonebookWrapper::CreateSubscribedContactEntryL()
-    {
-    LOGSTRING("Creator: CCreatorPhonebookWrapper::CreateSubscribedContactEntryL");
-
-    return KErrNotSupported;
-    }
-