void CConcurrentDatabaseAccessBase::RunTestL() { // set's up an active scheduler for the thread // and calls the RunTesImplementation function to actually // preform the tests. This function should be implemented in the // child class. CTestActiveScheduler* scheduler = NULL; scheduler = new (ELeave) CTestActiveScheduler; CleanupStack::PushL(scheduler); CActiveScheduler::Install(scheduler); CActiveScheduler::Add( this ); OpenDatabaseL(); CallRunLAgain(); CActiveScheduler::Start(); CloseDatabase(); CleanupStack::PopAndDestroy( scheduler ); // propagate error User::LeaveIfError(iTestError); }
void CViewTester::StartTest() { iState = ECreate_RemoteView; iRemoteViewEvent = TContactViewEvent::EUnavailable; iFilteredViewEvent = TContactViewEvent::EUnavailable; CallRunLAgain(); }
void CConcurrentDatabaseAccessBase::SyncronizeWait() { CallRunLAgain(); iSemaphoreSignal.Wait(); iSemaphoreWait.Signal(); }