diff -r e8e3147d53eb -r b3431bff8c19 phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/src/t_ccacmscontactfetcherwrapperblocks.cpp --- a/phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/src/t_ccacmscontactfetcherwrapperblocks.cpp Mon Mar 15 12:39:26 2010 +0200 +++ b/phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/src/t_ccacmscontactfetcherwrapperblocks.cpp Wed Mar 31 21:13:53 2010 +0300 @@ -39,7 +39,6 @@ // void T_CCCACmsContactFetcherWrapper::Delete() { - } // ----------------------------------------------------------------------------- @@ -56,18 +55,30 @@ // 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( "CreateAndDelete", T_CCCACmsContactFetcherWrapper::CreateAndDeleteL ), - ENTRY( "CreateWithContent", T_CCCACmsContactFetcherWrapper::CreateWithContentL ), - ENTRY( "CreateWithContactLink", T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL ), - ENTRY( "CreateWithMSISDN", T_CCCACmsContactFetcherWrapper::CreateWithMSISDNL ), - ENTRY( "CreateWithEmail", T_CCCACmsContactFetcherWrapper::CreateWithEmailL ), - ENTRY( "NoDataFields", T_CCCACmsContactFetcherWrapper::NoDataFieldsL ), - ENTRY( "ErrorInContactOpen", T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL ), - ENTRY( "ErrorInContactFetch", T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL ), - ENTRY( "CreateWithManyItems", T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL ), - ENTRY( "HandlePhonebookNotification", T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL ), - ENTRY( "TestContactStoreApiL", T_CCCACmsContactFetcherWrapper::TestContactStoreApiL ), - ENTRY( "FindFromOtherStoresL", T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL ), + ENTRY( "CreateAndDelete", + T_CCCACmsContactFetcherWrapper::CreateAndDeleteL ), + ENTRY( "CreateWithContent", + T_CCCACmsContactFetcherWrapper::CreateWithContentL ), + ENTRY( "CreateWithContactLink", + T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL ), + ENTRY( "CreateWithMSISDN", + T_CCCACmsContactFetcherWrapper::CreateWithMSISDNL ), + ENTRY( "CreateWithEmail", + T_CCCACmsContactFetcherWrapper::CreateWithEmailL ), + ENTRY( "NoDataFields", + T_CCCACmsContactFetcherWrapper::NoDataFieldsL ), + ENTRY( "ErrorInContactOpen", + T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL ), + ENTRY( "ErrorInContactFetch", + T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL ), + ENTRY( "CreateWithManyItems", + T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL ), + ENTRY( "HandlePhonebookNotification", + T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL ), + ENTRY( "TestContactStoreApiL", + T_CCCACmsContactFetcherWrapper::TestContactStoreApiL ), + ENTRY( "FindFromOtherStoresL", + T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL ), //ADD NEW ENTRY HERE // [test cases entries] - Do not remove }; @@ -104,23 +115,36 @@ CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); CompleteRequestL( &wrapper->iStatus, KErrNone ); - - CCCAppCmsContactFetcherWrapper* wrapper2 = CCCAppCmsContactFetcherWrapper::InstanceL( ); + CompleteRequestL( &wrapper->iStatus, KErrNone ); + CCCAppCmsContactFetcherWrapper* wrapper2 = + CCCAppCmsContactFetcherWrapper::InstanceL( ); wrapper2->AddObserverL( *this ); wrapper2->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper2->Release(); wrapper2 = NULL; CCCAppCmsContactFetcherWrapper* leaveAgain = NULL; - TRAP( leaveCode, leaveAgain = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); + TRAP( leaveCode, leaveAgain = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); T1L( KErrAlreadyExists, leaveCode ); TL( leaveAgain == NULL ); wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -149,12 +173,18 @@ CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); CompleteRequestL( &wrapper->iStatus, KErrNone ); - + CompleteRequestL( &wrapper->iStatus, KErrNone ); wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -182,11 +212,13 @@ iLog->Log( KCreateWithContent ); - User::LeaveIfError( SetupL( KTestOneContactFieldItem, MCCAParameter::EContactId ) ); + User::LeaveIfError( SetupL( + KTestOneContactFieldItem, MCCAParameter::EContactId ) ); CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); @@ -200,13 +232,18 @@ } wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; CleanupStack::PopAndDestroy( param ); TL( iObserverCalled ); - T1L( 2, iObserverCalledCount ); + T1L( 1, iObserverCalledCount ); return KErrNone; @@ -217,7 +254,8 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); @@ -227,11 +265,13 @@ iLog->Log( KCreateWithManyItems ); - User::LeaveIfError( SetupL( KTestManyContactFieldItems, MCCAParameter::EContactId ) ); + User::LeaveIfError( SetupL( + KTestManyContactFieldItems, MCCAParameter::EContactId ) ); CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); @@ -244,13 +284,18 @@ } wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; CleanupStack::PopAndDestroy( param ); TL( iObserverCalled ); - T1L( 4, iObserverCalledCount ); + T1L( 3, iObserverCalledCount ); return KErrNone; @@ -261,7 +306,8 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); @@ -274,7 +320,8 @@ CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); @@ -288,13 +335,18 @@ } wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; CleanupStack::PopAndDestroy( param ); TL( iObserverCalled ); - T1L( 2, iObserverCalledCount ); + T1L( 1, iObserverCalledCount ); return KErrNone; @@ -319,7 +371,8 @@ CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); @@ -328,7 +381,7 @@ CompleteRequestL( &wrapper->iStatus, KErrNone ); - TInt count = 1; + TInt count = 2; for ( TInt i(0); i < count; i++ ) { CompleteRequestL( &wrapper->iStatus, KErrNone ); @@ -341,6 +394,11 @@ T1L( 1, array.Count() ); wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -358,7 +416,8 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::CreateWithEmailL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::CreateWithEmailL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); @@ -374,9 +433,15 @@ TInt error ( KErrNone ); CCCAppCmsContactFetcherWrapper* wrapper = NULL; - TRAP( error, wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); + TRAP( error, wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); wrapper->AddObserverL( *this ); wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -400,28 +465,39 @@ iObserverCalledCount++; iLog->Log( _L("..contact info notified") ); - switch ( iOngoingTestCase ) + if ( aParameter.iType == + MCCAppContactFieldDataObserver::TParameter::EContactsChanged ) { - case KTestOneContactFieldItem: - case KTestContactLink: + iObserverCalledWithContactsChanged = ETrue; + } + else + { + switch ( iOngoingTestCase ) { - if ( 1 == iObserverCalledCount ) - { - T1L( MCCAppContactFieldDataObserver::TParameter::EContactInfoAvailable, aParameter.iType ); - } - if ( 2 == iObserverCalledCount ) + case KTestOneContactFieldItem: + case KTestContactLink: { - T1L( MCCAppContactFieldDataObserver::TParameter::EContactDataFieldAvailable, aParameter.iType ); + if ( 1 == iObserverCalledCount ) + { + T1L( MCCAppContactFieldDataObserver::TParameter::EContactInfoAvailable, + aParameter.iType ); + } + if ( 2 == iObserverCalledCount ) + { + T1L( MCCAppContactFieldDataObserver::TParameter::EContactDeleted, + aParameter.iType ); + } + break; } - break; - } - default: - { - break; - } - } + default: + { + break; + } + } + } - if ( aParameter.iType == MCCAppContactFieldDataObserver::TParameter::EContactsChanged ) + if ( aParameter.iType == + MCCAppContactFieldDataObserver::TParameter::EContactsChanged ) { iObserverCalledWithContactsChanged = ETrue; } @@ -469,25 +545,34 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); _LIT( KErrorInContactOpen, "ErrorInContactOpen" ); - TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KErrorInContactOpen ); + TestModuleIf().Printf( + 0, KT_CCCACmsContactFetcherWrapper, KErrorInContactOpen ); // Print to log file iLog->Log( KErrorInContactOpen ); - User::LeaveIfError( SetupL( KTestCompleteOpenWithError, MCCAParameter::EContactId ) ); + User::LeaveIfError( SetupL( + KTestCompleteOpenWithError, MCCAParameter::EContactId ) ); CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); + CompleteRequestL( &wrapper->iStatus, KErrNone ); CompleteRequestL( &wrapper->iStatus, KErrCancel ); - wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -505,7 +590,8 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); @@ -515,17 +601,25 @@ iLog->Log( KErrorInContactFetch ); - User::LeaveIfError( SetupL( KTestCompleteFetchWithError, MCCAParameter::EContactId ) ); + User::LeaveIfError( SetupL( + KTestCompleteFetchWithError, MCCAParameter::EContactId ) ); CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); TRequestStatus* status = &wrapper->iStatus; User::RequestComplete( status, KErrNone ); iSchedulerStarted = ETrue; + CStopSchedulerAfterDelay* schedulerStopper = + new (ELeave) CStopSchedulerAfterDelay(); + schedulerStopper->ConstructL(); + CleanupStack::PushL( schedulerStopper ); + schedulerStopper->After( 1000000 );// 1 sec CActiveScheduler::Start(); + CleanupStack::PopAndDestroy( schedulerStopper ); TInt count = 1; for ( TInt i(0); i < count; i++ ) @@ -534,6 +628,11 @@ } wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -551,19 +650,23 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL( CStifItemParser& aItem ) +TInt T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL( + CStifItemParser& aItem ) { _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); _LIT( KHandlePhonebookNotification, "HandlePhonebookNotification" ); - TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KHandlePhonebookNotification ); + TestModuleIf().Printf( + 0, KT_CCCACmsContactFetcherWrapper, KHandlePhonebookNotification ); // Print to log file iLog->Log( KHandlePhonebookNotification ); - User::LeaveIfError( SetupL( KTestOneContactFieldItem, MCCAParameter::EContactId ) ); + User::LeaveIfError( SetupL( + KTestOneContactFieldItem, MCCAParameter::EContactId ) ); CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); @@ -576,21 +679,28 @@ if (modifiedNotDeleted) { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); wrapper->HandlePhonebookNotificationL(ECmsContactModified); CompleteRequestL( &wrapper->iStatus, KErrNone ); CompleteRequestL( &wrapper->iStatus, KErrNone ); - // Observer is called 2 times when fetching contacts, and contacts are fetched again after they are changed so 1 + 2*2 = 5 - T1L( iObserverCalledCount, 5); + // Observer is called 2 times when fetching contacts, + // and contacts are fetched again after they are changed so 1 + 2*2 = 5 + T1L( iObserverCalledCount, 4); TL( iObserverCalledWithContactsChanged); } else { wrapper->HandlePhonebookNotificationL(ECmsContactDeleted); - T1L( iObserverCalledCount, 3); + T1L( iObserverCalledCount, 2); } wrapper->RemoveObserver( *this ); - + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -607,7 +717,8 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::TestContactStoreApiL( CStifItemParser& /*aItem */) +TInt T_CCCACmsContactFetcherWrapper::TestContactStoreApiL( + CStifItemParser& /*aItem */) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); @@ -617,14 +728,15 @@ iLog->Log( KDescription ); User::LeaveIfError( SetupL( KTestNoDataFields, MCCAParameter::EContactId ) ); - // setup CCCAParameter* param = CCCAParameter::NewL(); CleanupStack::PushL( param ); - CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); + CCCAppCmsContactFetcherWrapper* wrapper = + CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); wrapper->AddObserverL( *this ); + CompleteRequestL( &wrapper->iStatus, KErrNone ); - + // test itself wrapper->iCmsContactDataFetcher.iContactStore_called = EFalse; TCmsContactStore cntStore = wrapper->ContactStore(); @@ -632,6 +744,11 @@ // cleanup wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; @@ -645,12 +762,14 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -TInt T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL( CStifItemParser& /*aItem*/ ) +TInt T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL( + CStifItemParser& /*aItem*/ ) { // Print to UI _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" ); _LIT( KFindFromOtherStoresL, "FindFromOtherStoresL" ); - TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KFindFromOtherStoresL ); + TestModuleIf().Printf( + 0, KT_CCCACmsContactFetcherWrapper, KFindFromOtherStoresL ); // Print to log file iLog->Log( KFindFromOtherStoresL ); @@ -660,7 +779,8 @@ CleanupStack::PushL( param ); CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( - param, CCCAppCmsContactFetcherWrapper::EFindContactFromOtherStores ); + param, + CCCAppCmsContactFetcherWrapper::EFindContactFromOtherStores ); wrapper->AddObserverL( *this ); // Since there is not needed external notifiers for the @@ -678,18 +798,22 @@ iSchedulerStarted = EFalse; delete schedulerStopper; schedulerStopper = NULL; - CompleteRequestL( &wrapper->iStatus, KErrNone ); + iSchedulerStarted = EFalse; CompleteRequestL( &wrapper->iStatus, KErrNone ); - wrapper->RemoveObserver( *this ); + if( wrapper->IsActive() ) + { + TRequestStatus* status = &wrapper->iStatus; + User::RequestComplete( status, KErrNone ); + } wrapper->Release(); wrapper = NULL; CleanupStack::PopAndDestroy( param ); TL( iObserverCalled ); - T1L( 2, iObserverCalledCount ); + T1L( 1, iObserverCalledCount ); return KErrNone; } @@ -708,7 +832,8 @@ iOngoingTestCase = aTestCase; // Ongoing test case - TInt err = RProperty::Define( KTestPropertyCat, ETestCaseStateProperty, RProperty::EInt ); + TInt err = RProperty::Define( + KTestPropertyCat, ETestCaseStateProperty, RProperty::EInt ); if ( err != KErrAlreadyExists && err != KErrNone ) { return ( err ); @@ -717,14 +842,24 @@ // Parameter type used in CCAParameter creation - err = RProperty::Define( KTestPropertyCat, ETestParameterTypeProperty, RProperty::EInt ); + err = RProperty::Define( + KTestPropertyCat, ETestParameterTypeProperty, RProperty::EInt ); if ( err != KErrAlreadyExists && err != KErrNone ) { return ( err ); } - err = RProperty::Set( KTestPropertyCat, ETestParameterTypeProperty, aParameterType ); + err = RProperty::Set( + KTestPropertyCat, ETestParameterTypeProperty, aParameterType ); - + CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler; + if( !CActiveScheduler::Current() ) + { + CActiveScheduler::Install( scheduler ); + } + else + { + delete scheduler; + } return KErrNone; } @@ -733,12 +868,22 @@ // // ----------------------------------------------------------------------------- // -void T_CCCACmsContactFetcherWrapper::CompleteRequestL( TRequestStatus* aStatus, TInt aReason ) +void T_CCCACmsContactFetcherWrapper::CompleteRequestL( + TRequestStatus* aStatus, TInt aReason ) { TRequestStatus* status = aStatus; User::RequestComplete( status, aReason ); + iSchedulerStarted = ETrue; + + CStopSchedulerAfterDelay* schedulerStopper = + new (ELeave) CStopSchedulerAfterDelay(); + schedulerStopper->ConstructL(); + CleanupStack::PushL( schedulerStopper ); + schedulerStopper->After( 1000000 );// 1 sec CActiveScheduler::Start(); + CleanupStack::PopAndDestroy( schedulerStopper ); + } // ========================== OTHER EXPORTED FUNCTIONS ========================= // None