contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/src/VPbkVCardStifBlocks.cpp
changeset 0 e686773b3f54
child 21 9da50d567e3c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/src/VPbkVCardStifBlocks.cpp	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,391 @@
+/*
+* Copyright (c) 2002 - 2007 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:  STIF test module for testing VirtualPhonebook VCard API
+*
+*/
+
+
+#include "T_VPbkVCardApi.h"
+
+#include <barsread.h>
+#include <CVPbkVCardEng.h>
+#include <CVPbkContactManager.h>
+#include <CVPbkContactStoreUriArray.h>
+#include <TVPbkContactStoreUriPtr.h>
+#include <MVPbkContactStoreList.h>
+#include <MVPbkContactStore.h>
+#include <TVPbkFieldTypeMapping.h>
+#include <MVPbkContactOperationBase.h>
+#include <T_VPbkVCardApi.rsg>
+#include <MVPbkStoreContact.h>
+
+_LIT( KCntDbUri, "cntdb://c:testcontacts.cdb" );
+_LIT( KResourceFileName, "\\bctestlog\\testvcard.vcf" );
+_LIT( KCompactBCardFileName, "\\bctestlog\\testcbcard.ccf" );    
+
+// -----------------------------------------------------------------------------
+// CVPbkVCardApi::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::Delete() 
+    {
+//    iImportedContacts.ResetAndDestroy();
+    delete iEngine;
+    iEngine = NULL;             
+    if ( iContactStore )
+        {
+        iContactStore->Close( *this );        
+        }
+    iContactStore = NULL;
+    delete iContactManager;
+    iContactManager = NULL;
+    iFs.Close();
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::RunMethodL
+// Run specified method. Contains also table of test methods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::RunMethodL( CStifItemParser& aItem ) 
+    {
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "CreateVCardEng", 
+        		CT_VPbkVCardApi::CreateVCardEng ),
+        ENTRY( "DeleteVCardEng", 
+        		CT_VPbkVCardApi::DeleteVCardEng ),
+        ENTRY( "ImportVCardToStore", 
+        		CT_VPbkVCardApi::ImportVCardToStore ),
+        ENTRY( "ImportVCardToContacts", 
+        		CT_VPbkVCardApi::ImportVCardToContacts ),
+        ENTRY( "ImportBusinessCardToStore", 
+        		CT_VPbkVCardApi::ImportBusinessCardToStore ),
+        ENTRY( "ImportBusinessCardToContacts", 
+        		CT_VPbkVCardApi::ImportBusinessCardToContacts ),
+        ENTRY( "SupportsFieldType", 
+        		CT_VPbkVCardApi::SupportsFieldType )
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );    
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::CreateVCardEng
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::CreateVCardEng()
+	{
+	TRAPD( err, CreateVCardEngL() );
+	return err;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::CreateVCardEngL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::CreateVCardEngL()
+	{
+    CVPbkContactStoreUriArray* uriList = CVPbkContactStoreUriArray::NewLC();
+    uriList->AppendL( TVPbkContactStoreUriPtr( KCntDbUri ) );
+    
+    iContactManager = CVPbkContactManager::NewL( *uriList, &iFs );    
+    CleanupStack::PopAndDestroy( uriList );
+    
+    MVPbkContactStoreList& stores = iContactManager->ContactStoresL();
+    if ( stores.Count() > 0 )
+        {
+        iContactStore = &( stores.At( 0 ) );         
+        }   
+    
+    iContactStore->ReplaceL( *this );
+
+    iEngine = CVPbkVCardEng::NewL( *iContactManager );
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::DeleteVCardEng
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::DeleteVCardEng()
+	{
+	if(ioperation != NULL)
+	    {
+	    delete ioperation;
+	    ioperation = NULL;
+	    }
+    delete iEngine;
+    iEngine = NULL;             
+    if ( iContactStore )
+        {
+        iContactStore->Close( *this );        
+        }
+    iContactStore = NULL;
+    delete iContactManager;
+    iContactManager = NULL;
+    
+    return 0;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::StoreReady
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::StoreReady( MVPbkContactStore& /*aContactStore*/ )
+    {    
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::StoreUnavailable
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::StoreUnavailable( 
+        MVPbkContactStore& /*aContactStore*/,
+        TInt aError )
+    {    
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( aError );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::HandleStoreEventL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::HandleStoreEventL(
+        MVPbkContactStore& /*aContactStore*/, 
+        TVPbkContactStoreEvent /*aStoreEvent*/ )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::OpenComplete
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::OpenComplete()
+    {    
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ContactOperationCompleted
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ContactOperationCompleted( 
+        TContactOpResult /*aResult*/ )
+    {    
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ContactOperationFailed
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ContactOperationFailed(
+        TContactOp /*aOpCode*/, TInt aErrorCode, 
+        TBool /*aErrorNotified*/ )
+    {    
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( aErrorCode );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::VPbkSingleContactOperationComplete
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::VPbkSingleContactOperationComplete(
+        MVPbkContactOperationBase& /*aOperation*/,
+        MVPbkStoreContact* )
+	{
+    delete ioperation;
+    ioperation = NULL;
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::VPbkSingleContactOperationFailed
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::VPbkSingleContactOperationFailed(
+        MVPbkContactOperationBase& /*aOperation*/, TInt aError )
+    {    
+    delete ioperation;
+    ioperation = NULL;
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( aError );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::FieldAddedToContact
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::FieldAddedToContact(
+        MVPbkContactOperationBase& /*aOperation*/ )
+    {    
+    }
+        
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::FieldAddingFailed
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::FieldAddingFailed(
+        MVPbkContactOperationBase& /*aOperation*/, TInt /*aError*/ )
+    {    
+    }
+        
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ContactsSaved
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ContactsSaved( MVPbkContactOperationBase& /*aOp*/,
+        MVPbkContactLinkArray* /*aResults*/ )
+    {       
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( 0 );
+    }
+        
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ContactsSavingFailed
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ContactsSavingFailed(
+        MVPbkContactOperationBase& /*aOperation*/, TInt aError )
+    {
+    // Signal STIF test framework to continue processing the script file
+    CScriptBase::Signal( aError );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportVCardToStore
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::ImportVCardToStore()
+	{
+	TRAPD( err, ImportVCardToStoreL() );
+	return err;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportVCardToStoreL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ImportVCardToStoreL()
+    {   
+    User::LeaveIfError( iSource.Open( 
+    		iFs, KResourceFileName, EFileRead ) );    
+    ioperation = 
+	    iEngine->ImportVCardL( *iContactStore, iSource, *this );
+    }
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportVCardToContacts
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::ImportVCardToContacts()
+	{
+	TRAPD( err, ImportVCardToContactsL() );
+	return err;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportVCardToContactsL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ImportVCardToContactsL()
+	{
+    User::LeaveIfError( iSource.Open( 
+    		iFs, KResourceFileName, EFileRead ) );	
+    ioperation = 
+	    iEngine->ImportVCardL( iImportedContacts, *iContactStore, 
+	        iSource, *this );
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportBusinessCardToStore
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::ImportBusinessCardToStore()
+	{
+	TRAPD( err, ImportBusinessCardToStoreL() )
+	return err;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportBusinessCardToStoreL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ImportBusinessCardToStoreL()
+	{
+    User::LeaveIfError( iSource.Open( 
+    		iFs, KCompactBCardFileName, EFileRead ) );
+    ioperation = 
+	    iEngine->ImportCompactBusinessCardL( *iContactStore, iSource, *this );
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportBusinessCardToContacts
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::ImportBusinessCardToContacts()
+	{
+	TRAPD( err, ImportBusinessCardToContactsL() );
+	return err;
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::ImportBusinessCardToContactsL
+// -----------------------------------------------------------------------------
+//
+void CT_VPbkVCardApi::ImportBusinessCardToContactsL()
+	{
+    User::LeaveIfError( iSource.Open( 
+        iFs, KCompactBCardFileName, EFileRead ) );	
+    ioperation = 
+	    iEngine->ImportCompactBusinessCardL( iImportedContacts, 
+	        *iContactStore, iSource, *this );
+	}
+
+// -----------------------------------------------------------------------------
+// CT_VPbkVCardApi::SupportsFieldType
+// -----------------------------------------------------------------------------
+//
+TInt CT_VPbkVCardApi::SupportsFieldType()
+	{
+	TResourceReader reader;
+    iEikEnv->CreateResourceReaderLC( reader, 
+        R_ORGNAME_TYPE ); 
+
+    TVPbkFieldTypeMapping typeMapping( reader );
+    const MVPbkFieldTypeList& fieldTypeList = iContactManager->FieldTypes();
+    const MVPbkFieldType* fieldType = typeMapping.FindMatch( fieldTypeList );
+    iEngine->SupportsFieldType( *fieldType );
+	
+	CleanupStack::PopAndDestroy();
+	
+	return 0;
+	}
+
+// End of File