emailcontacts/remotecontactlookup/engine/src/cpbkxrclcontactconverter.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 11 0396474f30f5
child 13 8592a65ad3fb
--- a/emailcontacts/remotecontactlookup/engine/src/cpbkxrclcontactconverter.cpp	Mon Mar 15 12:39:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Converting CPbkContactItem to MVPbkStoreContact
-*
-*/
-
-#include "emailtrace.h"
-#include <e32base.h> // CActiveSchedulerWait
-#include <coemain.h>
-#include <BCardEng.h> // Old VCard engine
-#include <s32mem.h>   // Memory based streams
-#include <s32strm.h>  // Stream
-#include <CPbkContactEngine.h> // Old phonebook contact engine
-#include <CVPbkContactStoreUriArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <CVPbkContactManager.h>
-#include <MVPbkContactStore.h>
-#include <MVPbkContactStoreList.h>
-#include <MVPbkContactStoreProperties.h>
-#include <MVPbkContactOperationBase.h>
-#include <CVPbkVCardEng.h>
-#include <MVPbkStoreContact.h>
-#include <CVPbkContactManager.h>
-#include <MVPbkContactStore.h>
-
-#include "cpbkxrclcontactconverter.h"
-
-const TInt KGranularitySize = 128; // "Granularity" of dynamic buffer
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::CPbkxRclContactConverter()
-// ---------------------------------------------------------------------------
-//
-CPbkxRclContactConverter::CPbkxRclContactConverter(
-    CPbkContactEngine&   aContactEngine, 
-    CVPbkContactManager& aContactManager, 
-    MVPbkContactStore&   aContactStore ): 
-    iContactEngine( aContactEngine ),
-    iContactManager( aContactManager ),
-    iContactStore( aContactStore )
-    {
-    FUNC_LOG;
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPbkxRclContactConverter::~CPbkxRclContactConverter()
-    {
-    FUNC_LOG;
-    delete iCardEngine;
-    delete iVPbkCardEngine;
-    delete iWait;    
-    }
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter* CPbkxRclContactConverter::NewLC()
-// ---------------------------------------------------------------------------
-//
-CPbkxRclContactConverter* CPbkxRclContactConverter::NewLC(
-    CPbkContactEngine&   aContactEngine, 
-    CVPbkContactManager& aContactManager, 
-    MVPbkContactStore&   aContactStore )
-    {
-    FUNC_LOG;
-    CPbkxRclContactConverter* self = new (ELeave)CPbkxRclContactConverter( 
-        aContactEngine, aContactManager, aContactStore );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter* CPbkxRclContactConverter::NewL()
-// ---------------------------------------------------------------------------
-//
-CPbkxRclContactConverter* CPbkxRclContactConverter::NewL(
-    CPbkContactEngine&   aContactEngine, 
-    CVPbkContactManager& aContactManager,
-    MVPbkContactStore&   aContactStore )
-    {
-    FUNC_LOG;
-    CPbkxRclContactConverter* self = CPbkxRclContactConverter::NewLC( 
-        aContactEngine, aContactManager, aContactStore );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CPbkxRclContactConverter::ConstructL()
-    {
-    FUNC_LOG;
-    // Crete Old VCard engine
-    iCardEngine = CBCardEngine::NewL( &iContactEngine );
-
-    // New Virtual Phonebook VCard engine  
-    iVPbkCardEngine = CVPbkVCardEng::NewL( iContactManager );
-
-    iWait = new ( ELeave ) CActiveSchedulerWait();
-    }
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::ConvertContactL()
-// ---------------------------------------------------------------------------
-//
-void CPbkxRclContactConverter::ConvertContactL( 
-        CPbkContactItem& aContactItem, 
-        RFscStoreContactList& aConvertedContact  )
-    {
-    FUNC_LOG;
-    CBufFlat* buf = CBufFlat::NewL(KGranularitySize);
-    RBufWriteStream bufWriteStream;
-    bufWriteStream.Open(*buf);
-    CleanupClosePushL(bufWriteStream);
-     
-    // Export ContactCard (ContactItem ) to VCard. Sync operation.
-    iCardEngine->ExportBusinessCardL( bufWriteStream, aContactItem );
-     
-    CleanupStack::PopAndDestroy( &bufWriteStream );
-
-    // Create ReadStrem for VPbk VCard engine and associate it with received buf
-    RBufReadStream bufReadStream;
-    bufReadStream.Open(*buf);
-    CleanupClosePushL(bufReadStream);
-    
-    // Pass new ReadStream for VPbk VCard engine and receive MVPbkStoreContact object
-    MVPbkContactOperationBase* oper = iVPbkCardEngine->ImportVCardL( 
-            aConvertedContact, 
-            iContactStore, 
-            bufReadStream, 
-            *this );
-    CleanupDeletePushL( oper );   
-
-    // Now wait until async ready
-    if ( !(iWait->IsStarted()) )
-        {
-        iWait->Start();
-        }   
-    
-    CleanupStack::PopAndDestroy(2, &bufReadStream); // bufReadStream, oper
-    delete buf;
-    }
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::ConvertAndExportContactL()
-// ---------------------------------------------------------------------------
-//
-void CPbkxRclContactConverter::ConvertAndExportContactL( 
-        CPbkContactItem& aContactItem, 
-        RWriteStream& aStream )
-    {
-    FUNC_LOG;
-    RFscStoreContactList convertedContact;
-    CleanupClosePushL( convertedContact );
-    
-    ConvertContactL( aContactItem, convertedContact );
-    CleanupDeletePushL( convertedContact[0] );
-    
-    MVPbkContactOperationBase* oper = iVPbkCardEngine->ExportVCardL(
-            aStream, 
-            *convertedContact[0], 
-            *this);
-    CleanupDeletePushL( oper ); 
-    // Now wait until async ready
-    iWait->Start();
-
-    CleanupStack::PopAndDestroy(3, &convertedContact ); 
-    }
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::VPbkSingleContactOperationComplete()
-// ---------------------------------------------------------------------------
-//
-void CPbkxRclContactConverter::VPbkSingleContactOperationComplete(
-        MVPbkContactOperationBase& /*aOperation*/,
-        MVPbkStoreContact* /* aContact */ )
-    {
-    FUNC_LOG;
-    // The aContact in the call back is always NULL.
-    iLastError = KErrNone;
-    if (iWait->IsStarted())
-        {
-        iWait->AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPbkxRclContactConverter::VPbkSingleContactOperationFailed()
-// ---------------------------------------------------------------------------
-//
-void CPbkxRclContactConverter::VPbkSingleContactOperationFailed(
-        MVPbkContactOperationBase& /*aOperation*/, TInt aError )
-    {
-    FUNC_LOG;
-    iLastError = aError;
-    if (iWait->IsStarted())
-        {
-        iWait->AsyncStop();
-        }
-    }
-