phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/src/t_ccacmscontactfetcherwrapperblocks.cpp
branchRCL_3
changeset 21 b3431bff8c19
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
equal deleted inserted replaced
15:e8e3147d53eb 21:b3431bff8c19
    37 // Called from destructor. 
    37 // Called from destructor. 
    38 // -----------------------------------------------------------------------------
    38 // -----------------------------------------------------------------------------
    39 //
    39 //
    40 void T_CCCACmsContactFetcherWrapper::Delete() 
    40 void T_CCCACmsContactFetcherWrapper::Delete() 
    41     {
    41     {
    42 
       
    43     }
    42     }
    44 
    43 
    45 // -----------------------------------------------------------------------------
    44 // -----------------------------------------------------------------------------
    46 // T_CCCACmsContactFetcherWrapper::RunMethodL
    45 // T_CCCACmsContactFetcherWrapper::RunMethodL
    47 // Run specified method. Contains also table of test mothods and their names.
    46 // Run specified method. Contains also table of test mothods and their names.
    54     static TStifFunctionInfo const KFunctions[] =
    53     static TStifFunctionInfo const KFunctions[] =
    55         {  
    54         {  
    56         // Copy this line for every implemented function.
    55         // Copy this line for every implemented function.
    57         // First string is the function name used in TestScripter script file.
    56         // First string is the function name used in TestScripter script file.
    58         // Second is the actual implementation member function. 
    57         // Second is the actual implementation member function. 
    59         ENTRY( "CreateAndDelete", T_CCCACmsContactFetcherWrapper::CreateAndDeleteL ),
    58         ENTRY( "CreateAndDelete", 
    60         ENTRY( "CreateWithContent", T_CCCACmsContactFetcherWrapper::CreateWithContentL ),
    59                 T_CCCACmsContactFetcherWrapper::CreateAndDeleteL ),
    61         ENTRY( "CreateWithContactLink", T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL ),
    60         ENTRY( "CreateWithContent", 
    62         ENTRY( "CreateWithMSISDN", T_CCCACmsContactFetcherWrapper::CreateWithMSISDNL ),
    61                 T_CCCACmsContactFetcherWrapper::CreateWithContentL ),
    63         ENTRY( "CreateWithEmail", T_CCCACmsContactFetcherWrapper::CreateWithEmailL ),
    62         ENTRY( "CreateWithContactLink", 
    64         ENTRY( "NoDataFields", T_CCCACmsContactFetcherWrapper::NoDataFieldsL ),
    63                 T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL ),
    65         ENTRY( "ErrorInContactOpen", T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL ),
    64         ENTRY( "CreateWithMSISDN", 
    66         ENTRY( "ErrorInContactFetch", T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL ),
    65                 T_CCCACmsContactFetcherWrapper::CreateWithMSISDNL ),
    67         ENTRY( "CreateWithManyItems", T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL ),
    66         ENTRY( "CreateWithEmail", 
    68         ENTRY( "HandlePhonebookNotification", T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL ),
    67                 T_CCCACmsContactFetcherWrapper::CreateWithEmailL ),
    69         ENTRY( "TestContactStoreApiL", T_CCCACmsContactFetcherWrapper::TestContactStoreApiL ),
    68         ENTRY( "NoDataFields", 
    70         ENTRY( "FindFromOtherStoresL", T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL ),
    69                 T_CCCACmsContactFetcherWrapper::NoDataFieldsL ),
       
    70         ENTRY( "ErrorInContactOpen", 
       
    71                 T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL ),
       
    72         ENTRY( "ErrorInContactFetch", 
       
    73                 T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL ),
       
    74         ENTRY( "CreateWithManyItems", 
       
    75                 T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL ),
       
    76         ENTRY( "HandlePhonebookNotification", 
       
    77                 T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL ),
       
    78         ENTRY( "TestContactStoreApiL", 
       
    79                 T_CCCACmsContactFetcherWrapper::TestContactStoreApiL ),
       
    80         ENTRY( "FindFromOtherStoresL", 
       
    81                 T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL ),
    71         //ADD NEW ENTRY HERE
    82         //ADD NEW ENTRY HERE
    72         // [test cases entries] - Do not remove
    83         // [test cases entries] - Do not remove
    73         };
    84         };
    74 
    85 
    75     const TInt count = sizeof( KFunctions ) / 
    86     const TInt count = sizeof( KFunctions ) / 
   102     T1L( KErrNotFound, leaveCode );
   113     T1L( KErrNotFound, leaveCode );
   103     TL( leave == NULL );
   114     TL( leave == NULL );
   104           
   115           
   105     CCCAParameter* param = CCCAParameter::NewL();
   116     CCCAParameter* param = CCCAParameter::NewL();
   106     CleanupStack::PushL( param );
   117     CleanupStack::PushL( param );
   107     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   118     CCCAppCmsContactFetcherWrapper* wrapper = 
   108     wrapper->AddObserverL( *this );
   119                 CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   109     
   120     wrapper->AddObserverL( *this );
   110     CompleteRequestL( &wrapper->iStatus, KErrNone );
   121     
   111     
   122     CompleteRequestL( &wrapper->iStatus, KErrNone );
   112     CCCAppCmsContactFetcherWrapper* wrapper2 = CCCAppCmsContactFetcherWrapper::InstanceL( ); 
   123     CompleteRequestL( &wrapper->iStatus, KErrNone );
       
   124     CCCAppCmsContactFetcherWrapper* wrapper2 = 
       
   125                 CCCAppCmsContactFetcherWrapper::InstanceL( ); 
   113     wrapper2->AddObserverL( *this );
   126     wrapper2->AddObserverL( *this );
   114     wrapper2->RemoveObserver( *this );
   127     wrapper2->RemoveObserver( *this );
       
   128     if( wrapper->IsActive() )
       
   129         {
       
   130         TRequestStatus* status = &wrapper->iStatus;
       
   131         User::RequestComplete( status, KErrNone );
       
   132         }
   115     wrapper2->Release();
   133     wrapper2->Release();
   116     wrapper2 = NULL;
   134     wrapper2 = NULL;
   117     
   135     
   118     CCCAppCmsContactFetcherWrapper* leaveAgain = NULL;
   136     CCCAppCmsContactFetcherWrapper* leaveAgain = NULL;
   119     TRAP( leaveCode, leaveAgain = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); 
   137     TRAP( leaveCode, leaveAgain = 
       
   138             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) ); 
   120     T1L( KErrAlreadyExists, leaveCode );
   139     T1L( KErrAlreadyExists, leaveCode );
   121     TL( leaveAgain == NULL );
   140     TL( leaveAgain == NULL );
   122   
   141   
   123     wrapper->RemoveObserver( *this );
   142     wrapper->RemoveObserver( *this );
       
   143     if( wrapper->IsActive() )
       
   144         {
       
   145         TRequestStatus* status = &wrapper->iStatus;
       
   146         User::RequestComplete( status, KErrNone );
       
   147         }
   124     wrapper->Release(); 
   148     wrapper->Release(); 
   125     wrapper = NULL;
   149     wrapper = NULL;
   126 
   150 
   127     CleanupStack::PopAndDestroy( param );
   151     CleanupStack::PopAndDestroy( param );
   128 
   152 
   147     
   171     
   148     User::LeaveIfError( SetupL( KTestNoDataFields, MCCAParameter::EContactId ) );
   172     User::LeaveIfError( SetupL( KTestNoDataFields, MCCAParameter::EContactId ) );
   149         
   173         
   150     CCCAParameter* param = CCCAParameter::NewL();
   174     CCCAParameter* param = CCCAParameter::NewL();
   151     CleanupStack::PushL( param );
   175     CleanupStack::PushL( param );
   152     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   176     CCCAppCmsContactFetcherWrapper* wrapper = 
   153     wrapper->AddObserverL( *this );
   177             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   154 
   178     wrapper->AddObserverL( *this );
   155     CompleteRequestL( &wrapper->iStatus, KErrNone );
   179 
   156     
   180     CompleteRequestL( &wrapper->iStatus, KErrNone );
   157     wrapper->RemoveObserver( *this );
   181     CompleteRequestL( &wrapper->iStatus, KErrNone );
       
   182     wrapper->RemoveObserver( *this );
       
   183     if( wrapper->IsActive() )
       
   184         {
       
   185         TRequestStatus* status = &wrapper->iStatus;
       
   186         User::RequestComplete( status, KErrNone );
       
   187         }
   158     wrapper->Release(); 
   188     wrapper->Release(); 
   159     wrapper = NULL;
   189     wrapper = NULL;
   160 
   190 
   161     CleanupStack::PopAndDestroy( param );
   191     CleanupStack::PopAndDestroy( param );
   162     
   192     
   180     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithContent );
   210     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithContent );
   181     // Print to log file
   211     // Print to log file
   182     iLog->Log( KCreateWithContent );
   212     iLog->Log( KCreateWithContent );
   183 
   213 
   184     
   214     
   185     User::LeaveIfError( SetupL( KTestOneContactFieldItem, MCCAParameter::EContactId ) );
   215     User::LeaveIfError( SetupL( 
       
   216             KTestOneContactFieldItem, MCCAParameter::EContactId ) );
   186      
   217      
   187     CCCAParameter* param = CCCAParameter::NewL();
   218     CCCAParameter* param = CCCAParameter::NewL();
   188     CleanupStack::PushL( param );
   219     CleanupStack::PushL( param );
   189     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   220     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   221             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   190     
   222     
   191     wrapper->AddObserverL( *this );
   223     wrapper->AddObserverL( *this );
   192 
   224 
   193     CompleteRequestL( &wrapper->iStatus, KErrNone );
   225     CompleteRequestL( &wrapper->iStatus, KErrNone );
   194 
   226 
   198         {
   230         {
   199         CompleteRequestL( &wrapper->iStatus, KErrNone );
   231         CompleteRequestL( &wrapper->iStatus, KErrNone );
   200         }
   232         }
   201 
   233 
   202     wrapper->RemoveObserver( *this );
   234     wrapper->RemoveObserver( *this );
       
   235     if( wrapper->IsActive() )
       
   236         {
       
   237         TRequestStatus* status = &wrapper->iStatus;
       
   238         User::RequestComplete( status, KErrNone );
       
   239         }
   203     wrapper->Release(); 
   240     wrapper->Release(); 
   204     wrapper = NULL;
   241     wrapper = NULL;
   205 
   242 
   206     CleanupStack::PopAndDestroy( param );
   243     CleanupStack::PopAndDestroy( param );
   207     
   244     
   208     TL( iObserverCalled );
   245     TL( iObserverCalled );
   209     T1L( 2, iObserverCalledCount );
   246     T1L( 1, iObserverCalledCount );
   210 
   247 
   211     return KErrNone;
   248     return KErrNone;
   212 
   249 
   213     }
   250     }
   214 // -----------------------------------------------------------------------------
   251 // -----------------------------------------------------------------------------
   215 // T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL
   252 // T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL
   216 //  test method function.
   253 //  test method function.
   217 // (other items were commented in a header).
   254 // (other items were commented in a header).
   218 // -----------------------------------------------------------------------------
   255 // -----------------------------------------------------------------------------
   219 //
   256 //
   220 TInt T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL( CStifItemParser& /*aItem*/ )
   257 TInt T_CCCACmsContactFetcherWrapper::CreateWithManyItemsL( 
       
   258         CStifItemParser& /*aItem*/ )
   221     {
   259     {
   222     // Print to UI
   260     // Print to UI
   223     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   261     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   224     _LIT( KCreateWithManyItems, "CreateWithManyItems" );
   262     _LIT( KCreateWithManyItems, "CreateWithManyItems" );
   225     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithManyItems );
   263     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithManyItems );
   226     // Print to log file
   264     // Print to log file
   227     iLog->Log( KCreateWithManyItems );
   265     iLog->Log( KCreateWithManyItems );
   228 
   266 
   229     
   267     
   230     User::LeaveIfError( SetupL( KTestManyContactFieldItems, MCCAParameter::EContactId ) );
   268     User::LeaveIfError( SetupL( 
       
   269             KTestManyContactFieldItems, MCCAParameter::EContactId ) );
   231      
   270      
   232     CCCAParameter* param = CCCAParameter::NewL();
   271     CCCAParameter* param = CCCAParameter::NewL();
   233     CleanupStack::PushL( param );
   272     CleanupStack::PushL( param );
   234     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   273     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   274             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   235     
   275     
   236     wrapper->AddObserverL( *this );
   276     wrapper->AddObserverL( *this );
   237 
   277 
   238     CompleteRequestL( &wrapper->iStatus, KErrNone );
   278     CompleteRequestL( &wrapper->iStatus, KErrNone );
   239 
   279 
   242         {
   282         {
   243         CompleteRequestL( &wrapper->iStatus, KErrNone );
   283         CompleteRequestL( &wrapper->iStatus, KErrNone );
   244         }
   284         }
   245 
   285 
   246     wrapper->RemoveObserver( *this );
   286     wrapper->RemoveObserver( *this );
       
   287     if( wrapper->IsActive() )
       
   288         {
       
   289         TRequestStatus* status = &wrapper->iStatus;
       
   290         User::RequestComplete( status, KErrNone );
       
   291         }
   247     wrapper->Release(); 
   292     wrapper->Release(); 
   248     wrapper = NULL;
   293     wrapper = NULL;
   249 
   294 
   250     CleanupStack::PopAndDestroy( param );
   295     CleanupStack::PopAndDestroy( param );
   251     
   296     
   252     TL( iObserverCalled );
   297     TL( iObserverCalled );
   253     T1L( 4, iObserverCalledCount );
   298     T1L( 3, iObserverCalledCount );
   254 
   299 
   255     return KErrNone;
   300     return KErrNone;
   256 
   301 
   257     }
   302     }
   258 // -----------------------------------------------------------------------------
   303 // -----------------------------------------------------------------------------
   259 // T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL
   304 // T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL
   260 //  test method function.
   305 //  test method function.
   261 // (other items were commented in a header).
   306 // (other items were commented in a header).
   262 // -----------------------------------------------------------------------------
   307 // -----------------------------------------------------------------------------
   263 //
   308 //
   264 TInt T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL( CStifItemParser& /*aItem*/ )
   309 TInt T_CCCACmsContactFetcherWrapper::CreateWithContactLinkL( 
       
   310         CStifItemParser& /*aItem*/ )
   265     {
   311     {
   266     // Print to UI
   312     // Print to UI
   267     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   313     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   268     _LIT( KCreateWithContactLink, "CreateWithContactLink" );
   314     _LIT( KCreateWithContactLink, "CreateWithContactLink" );
   269     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithContactLink );
   315     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithContactLink );
   272  
   318  
   273     User::LeaveIfError( SetupL( KTestContactLink, MCCAParameter::EContactLink ) );
   319     User::LeaveIfError( SetupL( KTestContactLink, MCCAParameter::EContactLink ) );
   274      
   320      
   275     CCCAParameter* param = CCCAParameter::NewL();
   321     CCCAParameter* param = CCCAParameter::NewL();
   276     CleanupStack::PushL( param );
   322     CleanupStack::PushL( param );
   277     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   323     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   324             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   278     
   325     
   279     wrapper->AddObserverL( *this );
   326     wrapper->AddObserverL( *this );
   280 
   327 
   281     CompleteRequestL( &wrapper->iStatus, KErrNone );
   328     CompleteRequestL( &wrapper->iStatus, KErrNone );
   282     
   329     
   286         {
   333         {
   287         CompleteRequestL( &wrapper->iStatus, KErrNone );
   334         CompleteRequestL( &wrapper->iStatus, KErrNone );
   288         }
   335         }
   289 
   336 
   290     wrapper->RemoveObserver( *this );
   337     wrapper->RemoveObserver( *this );
       
   338     if( wrapper->IsActive() )
       
   339         {
       
   340         TRequestStatus* status = &wrapper->iStatus;
       
   341         User::RequestComplete( status, KErrNone );
       
   342         }
   291     wrapper->Release(); 
   343     wrapper->Release(); 
   292     wrapper = NULL;
   344     wrapper = NULL;
   293 
   345 
   294     CleanupStack::PopAndDestroy( param );
   346     CleanupStack::PopAndDestroy( param );
   295     
   347     
   296     TL( iObserverCalled );
   348     TL( iObserverCalled );
   297     T1L( 2, iObserverCalledCount );    
   349     T1L( 1, iObserverCalledCount );    
   298 
   350 
   299     return KErrNone;
   351     return KErrNone;
   300 
   352 
   301     }
   353     }
   302     
   354     
   317    
   369    
   318     User::LeaveIfError( SetupL( KTestMSISDN, MCCAParameter::EContactMSISDN ) );
   370     User::LeaveIfError( SetupL( KTestMSISDN, MCCAParameter::EContactMSISDN ) );
   319      
   371      
   320     CCCAParameter* param = CCCAParameter::NewL();
   372     CCCAParameter* param = CCCAParameter::NewL();
   321     CleanupStack::PushL( param );
   373     CleanupStack::PushL( param );
   322     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   374     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   375             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   323     
   376     
   324     wrapper->AddObserverL( *this );
   377     wrapper->AddObserverL( *this );
   325     
   378     
   326     const CCmsContactFieldInfo* info = wrapper->ContactInfo();
   379     const CCmsContactFieldInfo* info = wrapper->ContactInfo();
   327     TL( NULL == info );
   380     TL( NULL == info );
   328     
   381     
   329     CompleteRequestL( &wrapper->iStatus, KErrNone );
   382     CompleteRequestL( &wrapper->iStatus, KErrNone );
   330 
   383 
   331     TInt count = 1; 
   384     TInt count = 2; 
   332     for ( TInt i(0); i < count; i++ )
   385     for ( TInt i(0); i < count; i++ )
   333         {
   386         {
   334         CompleteRequestL( &wrapper->iStatus, KErrNone );
   387         CompleteRequestL( &wrapper->iStatus, KErrNone );
   335         }
   388         }
   336     
   389     
   339     
   392     
   340     RPointerArray<CCmsContactField>& array = wrapper->ContactFieldDataArray();
   393     RPointerArray<CCmsContactField>& array = wrapper->ContactFieldDataArray();
   341     T1L( 1, array.Count() ); 
   394     T1L( 1, array.Count() ); 
   342         
   395         
   343     wrapper->RemoveObserver( *this );
   396     wrapper->RemoveObserver( *this );
       
   397     if( wrapper->IsActive() )
       
   398         {
       
   399         TRequestStatus* status = &wrapper->iStatus;
       
   400         User::RequestComplete( status, KErrNone );
       
   401         }
   344     wrapper->Release(); 
   402     wrapper->Release(); 
   345     wrapper = NULL;
   403     wrapper = NULL;
   346 
   404 
   347     CleanupStack::PopAndDestroy( param );
   405     CleanupStack::PopAndDestroy( param );
   348     
   406     
   356 // T_CCCACmsContactFetcherWrapper::CreateWithEmailL
   414 // T_CCCACmsContactFetcherWrapper::CreateWithEmailL
   357 //  test method function.
   415 //  test method function.
   358 // (other items were commented in a header).
   416 // (other items were commented in a header).
   359 // -----------------------------------------------------------------------------
   417 // -----------------------------------------------------------------------------
   360 //
   418 //
   361 TInt T_CCCACmsContactFetcherWrapper::CreateWithEmailL( CStifItemParser& /*aItem*/ )
   419 TInt T_CCCACmsContactFetcherWrapper::CreateWithEmailL( 
       
   420         CStifItemParser& /*aItem*/ )
   362     {
   421     {
   363     // Print to UI
   422     // Print to UI
   364     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   423     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   365     _LIT( KCreateWithEmail, "CreateWithEmail" );
   424     _LIT( KCreateWithEmail, "CreateWithEmail" );
   366     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithEmail );
   425     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KCreateWithEmail );
   372     CCCAParameter* param = CCCAParameter::NewL();
   431     CCCAParameter* param = CCCAParameter::NewL();
   373     CleanupStack::PushL( param );
   432     CleanupStack::PushL( param );
   374     
   433     
   375     TInt error ( KErrNone );
   434     TInt error ( KErrNone );
   376     CCCAppCmsContactFetcherWrapper* wrapper = NULL;
   435     CCCAppCmsContactFetcherWrapper* wrapper = NULL;
   377     TRAP( error, wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) );    
   436     TRAP( error, wrapper = 
   378     wrapper->AddObserverL( *this );
   437             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ) );    
   379     wrapper->RemoveObserver( *this );
   438     wrapper->AddObserverL( *this );
       
   439     wrapper->RemoveObserver( *this );
       
   440     if( wrapper->IsActive() )
       
   441         {
       
   442         TRequestStatus* status = &wrapper->iStatus;
       
   443         User::RequestComplete( status, KErrNone );
       
   444         }
   380     wrapper->Release(); 
   445     wrapper->Release(); 
   381     wrapper = NULL;
   446     wrapper = NULL;
   382        
   447        
   383     CleanupStack::PopAndDestroy( param );
   448     CleanupStack::PopAndDestroy( param );
   384     
   449     
   398     {
   463     {
   399     iObserverCalled = ETrue;
   464     iObserverCalled = ETrue;
   400     iObserverCalledCount++;
   465     iObserverCalledCount++;
   401     iLog->Log( _L("..contact info notified") );
   466     iLog->Log( _L("..contact info notified") );
   402     
   467     
   403     switch ( iOngoingTestCase )
   468     if ( aParameter.iType == 
   404         {
   469             MCCAppContactFieldDataObserver::TParameter::EContactsChanged )
   405         case KTestOneContactFieldItem:
   470         {
   406         case KTestContactLink:
   471         iObserverCalledWithContactsChanged = ETrue;
       
   472         }
       
   473     else
       
   474         {
       
   475         switch ( iOngoingTestCase )
   407             {
   476             {
   408             if ( 1 == iObserverCalledCount )
   477             case KTestOneContactFieldItem:
       
   478             case KTestContactLink:
   409                 {
   479                 {
   410                 T1L( MCCAppContactFieldDataObserver::TParameter::EContactInfoAvailable, aParameter.iType );
   480                 if ( 1 == iObserverCalledCount )
       
   481                     {
       
   482                     T1L( MCCAppContactFieldDataObserver::TParameter::EContactInfoAvailable, 
       
   483                             aParameter.iType );
       
   484                     }
       
   485                 if ( 2 == iObserverCalledCount )
       
   486                     {
       
   487                     T1L( MCCAppContactFieldDataObserver::TParameter::EContactDeleted, 
       
   488                             aParameter.iType );
       
   489                     }
       
   490                 break;
   411                 }
   491                 }
   412             if ( 2 == iObserverCalledCount )
   492             default:
   413                 {
   493                 {
   414                 T1L( MCCAppContactFieldDataObserver::TParameter::EContactDataFieldAvailable, aParameter.iType );
   494                 break;
   415                 }
   495                 }
   416             break;
   496             } 
   417             }
   497         }
   418         default:
   498     
   419             {
   499     if ( aParameter.iType == 
   420             break;
   500             MCCAppContactFieldDataObserver::TParameter::EContactsChanged )
   421             }
       
   422         } 
       
   423     
       
   424     if ( aParameter.iType == MCCAppContactFieldDataObserver::TParameter::EContactsChanged )
       
   425         {
   501         {
   426         iObserverCalledWithContactsChanged = ETrue;
   502         iObserverCalledWithContactsChanged = ETrue;
   427         }
   503         }
   428     
   504     
   429     if ( iSchedulerStarted )
   505     if ( iSchedulerStarted )
   467 // T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL
   543 // T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL
   468 //  test method function.
   544 //  test method function.
   469 // (other items were commented in a header).
   545 // (other items were commented in a header).
   470 // -----------------------------------------------------------------------------
   546 // -----------------------------------------------------------------------------
   471 //
   547 //
   472 TInt T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL( CStifItemParser& /*aItem*/ )
   548 TInt T_CCCACmsContactFetcherWrapper::ErrorInContactOpenL( 
       
   549         CStifItemParser& /*aItem*/ )
   473     {
   550     {
   474     // Print to UI
   551     // Print to UI
   475     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   552     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   476     _LIT( KErrorInContactOpen, "ErrorInContactOpen" );
   553     _LIT( KErrorInContactOpen, "ErrorInContactOpen" );
   477     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KErrorInContactOpen );
   554     TestModuleIf().Printf( 
       
   555             0, KT_CCCACmsContactFetcherWrapper, KErrorInContactOpen );
   478     // Print to log file
   556     // Print to log file
   479     iLog->Log( KErrorInContactOpen );
   557     iLog->Log( KErrorInContactOpen );
   480     
   558     
   481     User::LeaveIfError( SetupL( KTestCompleteOpenWithError, MCCAParameter::EContactId ) );
   559     User::LeaveIfError( SetupL( 
       
   560             KTestCompleteOpenWithError, MCCAParameter::EContactId ) );
   482      
   561      
   483     CCCAParameter* param = CCCAParameter::NewL();
   562     CCCAParameter* param = CCCAParameter::NewL();
   484     CleanupStack::PushL( param );
   563     CleanupStack::PushL( param );
   485     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   564     CCCAppCmsContactFetcherWrapper* wrapper = 
   486     
   565             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   487     wrapper->AddObserverL( *this );
   566     
       
   567     wrapper->AddObserverL( *this );
       
   568     CompleteRequestL( &wrapper->iStatus, KErrNone );
   488     CompleteRequestL( &wrapper->iStatus, KErrCancel );
   569     CompleteRequestL( &wrapper->iStatus, KErrCancel );
   489 
   570     wrapper->RemoveObserver( *this );
   490     wrapper->RemoveObserver( *this );
   571     if( wrapper->IsActive() )
       
   572         {
       
   573         TRequestStatus* status = &wrapper->iStatus;
       
   574         User::RequestComplete( status, KErrNone );
       
   575         }
   491     wrapper->Release(); 
   576     wrapper->Release(); 
   492     wrapper = NULL;
   577     wrapper = NULL;
   493 
   578 
   494     CleanupStack::PopAndDestroy( param );
   579     CleanupStack::PopAndDestroy( param );
   495     
   580     
   503 // T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL
   588 // T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL
   504 //  test method function.
   589 //  test method function.
   505 // (other items were commented in a header).
   590 // (other items were commented in a header).
   506 // -----------------------------------------------------------------------------
   591 // -----------------------------------------------------------------------------
   507 //
   592 //
   508 TInt T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL( CStifItemParser& /*aItem*/ )
   593 TInt T_CCCACmsContactFetcherWrapper::ErrorInContactFetchL( 
       
   594         CStifItemParser& /*aItem*/ )
   509     {
   595     {
   510     // Print to UI
   596     // Print to UI
   511     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   597     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   512     _LIT( KErrorInContactFetch, "ErrorInContactFetch" );
   598     _LIT( KErrorInContactFetch, "ErrorInContactFetch" );
   513     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KErrorInContactFetch );
   599     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KErrorInContactFetch );
   514     // Print to log file
   600     // Print to log file
   515     iLog->Log( KErrorInContactFetch );
   601     iLog->Log( KErrorInContactFetch );
   516 
   602 
   517     
   603     
   518     User::LeaveIfError( SetupL( KTestCompleteFetchWithError, MCCAParameter::EContactId ) );
   604     User::LeaveIfError( SetupL( 
       
   605             KTestCompleteFetchWithError, MCCAParameter::EContactId ) );
   519      
   606      
   520     CCCAParameter* param = CCCAParameter::NewL();
   607     CCCAParameter* param = CCCAParameter::NewL();
   521     CleanupStack::PushL( param );
   608     CleanupStack::PushL( param );
   522     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   609     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   610             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   523     
   611     
   524     wrapper->AddObserverL( *this );
   612     wrapper->AddObserverL( *this );
   525     TRequestStatus* status = &wrapper->iStatus;
   613     TRequestStatus* status = &wrapper->iStatus;
   526     User::RequestComplete( status, KErrNone );
   614     User::RequestComplete( status, KErrNone );
   527             iSchedulerStarted = ETrue;
   615             iSchedulerStarted = ETrue;
       
   616     CStopSchedulerAfterDelay* schedulerStopper = 
       
   617             new (ELeave) CStopSchedulerAfterDelay();
       
   618     schedulerStopper->ConstructL();
       
   619     CleanupStack::PushL( schedulerStopper );
       
   620     schedulerStopper->After( 1000000 );// 1 sec
   528     CActiveScheduler::Start();
   621     CActiveScheduler::Start();
       
   622     CleanupStack::PopAndDestroy( schedulerStopper );
   529 
   623 
   530     TInt count = 1; 
   624     TInt count = 1; 
   531     for ( TInt i(0); i < count; i++ )
   625     for ( TInt i(0); i < count; i++ )
   532         {
   626         {
   533         CompleteRequestL( &wrapper->iStatus, KErrCancel );
   627         CompleteRequestL( &wrapper->iStatus, KErrCancel );
   534         }
   628         }
   535 
   629 
   536     wrapper->RemoveObserver( *this );
   630     wrapper->RemoveObserver( *this );
       
   631     if( wrapper->IsActive() )
       
   632         {
       
   633         TRequestStatus* status = &wrapper->iStatus;
       
   634         User::RequestComplete( status, KErrNone );
       
   635         }
   537     wrapper->Release(); 
   636     wrapper->Release(); 
   538     wrapper = NULL;
   637     wrapper = NULL;
   539 
   638 
   540     CleanupStack::PopAndDestroy( param );
   639     CleanupStack::PopAndDestroy( param );
   541     
   640     
   549 // T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL
   648 // T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL
   550 //  test method function.
   649 //  test method function.
   551 // (other items were commented in a header).
   650 // (other items were commented in a header).
   552 // -----------------------------------------------------------------------------
   651 // -----------------------------------------------------------------------------
   553 //
   652 //
   554 TInt T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL( CStifItemParser& aItem )
   653 TInt T_CCCACmsContactFetcherWrapper::HandlePhonebookNotificationL( 
       
   654         CStifItemParser& aItem )
   555     {
   655     {
   556     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   656     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   557     _LIT( KHandlePhonebookNotification, "HandlePhonebookNotification" );
   657     _LIT( KHandlePhonebookNotification, "HandlePhonebookNotification" );
   558     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KHandlePhonebookNotification );
   658     TestModuleIf().Printf( 
       
   659             0, KT_CCCACmsContactFetcherWrapper, KHandlePhonebookNotification );
   559     // Print to log file
   660     // Print to log file
   560     iLog->Log( KHandlePhonebookNotification );
   661     iLog->Log( KHandlePhonebookNotification );
   561     
   662     
   562     User::LeaveIfError( SetupL( KTestOneContactFieldItem, MCCAParameter::EContactId ) );
   663     User::LeaveIfError( SetupL( 
       
   664             KTestOneContactFieldItem, MCCAParameter::EContactId ) );
   563         
   665         
   564     CCCAParameter* param = CCCAParameter::NewL();
   666     CCCAParameter* param = CCCAParameter::NewL();
   565     CleanupStack::PushL( param );
   667     CleanupStack::PushL( param );
   566     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param );
   668     CCCAppCmsContactFetcherWrapper* wrapper = 
       
   669             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param );
   567     
   670     
   568     wrapper->AddObserverL( *this );
   671     wrapper->AddObserverL( *this );
   569 
   672 
   570     CompleteRequestL( &wrapper->iStatus, KErrNone );
   673     CompleteRequestL( &wrapper->iStatus, KErrNone );
   571     CompleteRequestL( &wrapper->iStatus, KErrNone );
   674     CompleteRequestL( &wrapper->iStatus, KErrNone );
   574     if ( aItem.GetNextInt( modifiedNotDeleted ) != KErrNone )
   677     if ( aItem.GetNextInt( modifiedNotDeleted ) != KErrNone )
   575             return KErrNotFound;
   678             return KErrNotFound;
   576     
   679     
   577     if (modifiedNotDeleted)
   680     if (modifiedNotDeleted)
   578         {
   681         {
       
   682         TRequestStatus* status = &wrapper->iStatus;
       
   683         User::RequestComplete( status, KErrNone );
   579         wrapper->HandlePhonebookNotificationL(ECmsContactModified);
   684         wrapper->HandlePhonebookNotificationL(ECmsContactModified);
   580         CompleteRequestL( &wrapper->iStatus, KErrNone );
   685         CompleteRequestL( &wrapper->iStatus, KErrNone );
   581         CompleteRequestL( &wrapper->iStatus, KErrNone );
   686         CompleteRequestL( &wrapper->iStatus, KErrNone );
   582         // Observer is called 2 times when fetching contacts, and contacts are fetched again after they are changed so 1 + 2*2 = 5
   687         // Observer is called 2 times when fetching contacts, 
   583         T1L( iObserverCalledCount, 5); 
   688         // and contacts are fetched again after they are changed so 1 + 2*2 = 5
       
   689         T1L( iObserverCalledCount, 4); 
   584         TL( iObserverCalledWithContactsChanged);
   690         TL( iObserverCalledWithContactsChanged);
   585         }
   691         }
   586     else
   692     else
   587         {
   693         {
   588         wrapper->HandlePhonebookNotificationL(ECmsContactDeleted);
   694         wrapper->HandlePhonebookNotificationL(ECmsContactDeleted);
   589         T1L( iObserverCalledCount, 3);
   695         T1L( iObserverCalledCount, 2);
   590         }
   696         }
   591         
   697         
   592     wrapper->RemoveObserver( *this );
   698     wrapper->RemoveObserver( *this );
   593        
   699     if( wrapper->IsActive() )
       
   700         {
       
   701         TRequestStatus* status = &wrapper->iStatus;
       
   702         User::RequestComplete( status, KErrNone );
       
   703         }
   594     wrapper->Release(); 
   704     wrapper->Release(); 
   595     wrapper = NULL;
   705     wrapper = NULL;
   596 
   706 
   597     CleanupStack::PopAndDestroy( param );
   707     CleanupStack::PopAndDestroy( param );
   598     
   708     
   605 // T_CCCACmsContactFetcherWrapper::TestContactStoreApiL
   715 // T_CCCACmsContactFetcherWrapper::TestContactStoreApiL
   606 //  test method function.
   716 //  test method function.
   607 // (other items were commented in a header).
   717 // (other items were commented in a header).
   608 // -----------------------------------------------------------------------------
   718 // -----------------------------------------------------------------------------
   609 //
   719 //
   610 TInt T_CCCACmsContactFetcherWrapper::TestContactStoreApiL( CStifItemParser& /*aItem */)
   720 TInt T_CCCACmsContactFetcherWrapper::TestContactStoreApiL( 
       
   721         CStifItemParser& /*aItem */)
   611     {
   722     {
   612     // Print to UI
   723     // Print to UI
   613     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   724     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   614     _LIT( KDescription, "TestContactStoreApiL" );
   725     _LIT( KDescription, "TestContactStoreApiL" );
   615     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KDescription );
   726     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KDescription );
   616     // Print to log file
   727     // Print to log file
   617     iLog->Log( KDescription );
   728     iLog->Log( KDescription );
   618     
   729     
   619     User::LeaveIfError( SetupL( KTestNoDataFields, MCCAParameter::EContactId ) );
   730     User::LeaveIfError( SetupL( KTestNoDataFields, MCCAParameter::EContactId ) );
   620         
       
   621     // setup
   731     // setup
   622     CCCAParameter* param = CCCAParameter::NewL();
   732     CCCAParameter* param = CCCAParameter::NewL();
   623     CleanupStack::PushL( param );
   733     CleanupStack::PushL( param );
   624     CCCAppCmsContactFetcherWrapper* wrapper = CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   734     CCCAppCmsContactFetcherWrapper* wrapper = 
   625     wrapper->AddObserverL( *this );
   735             CCCAppCmsContactFetcherWrapper::CreateInstanceL( param ); 
   626     CompleteRequestL( &wrapper->iStatus, KErrNone );
   736     wrapper->AddObserverL( *this );
   627     
   737 
       
   738     CompleteRequestL( &wrapper->iStatus, KErrNone );
       
   739 
   628     // test itself
   740     // test itself
   629     wrapper->iCmsContactDataFetcher.iContactStore_called = EFalse;
   741     wrapper->iCmsContactDataFetcher.iContactStore_called = EFalse;
   630     TCmsContactStore cntStore = wrapper->ContactStore();
   742     TCmsContactStore cntStore = wrapper->ContactStore();
   631     TAL( wrapper->iCmsContactDataFetcher.iContactStore_called );
   743     TAL( wrapper->iCmsContactDataFetcher.iContactStore_called );
   632 
   744 
   633     // cleanup
   745     // cleanup
   634     wrapper->RemoveObserver( *this );
   746     wrapper->RemoveObserver( *this );
       
   747     if( wrapper->IsActive() )
       
   748         {
       
   749         TRequestStatus* status = &wrapper->iStatus;
       
   750         User::RequestComplete( status, KErrNone );
       
   751         }
   635     wrapper->Release(); 
   752     wrapper->Release(); 
   636     wrapper = NULL;
   753     wrapper = NULL;
   637 
   754 
   638     CleanupStack::PopAndDestroy( param );
   755     CleanupStack::PopAndDestroy( param );
   639     return KErrNone;
   756     return KErrNone;
   643 // T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL
   760 // T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL
   644 //  test method function.
   761 //  test method function.
   645 // (other items were commented in a header).
   762 // (other items were commented in a header).
   646 // -----------------------------------------------------------------------------
   763 // -----------------------------------------------------------------------------
   647 //
   764 //
   648 TInt T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL( CStifItemParser& /*aItem*/ )
   765 TInt T_CCCACmsContactFetcherWrapper::FindFromOtherStoresL( 
       
   766         CStifItemParser& /*aItem*/ )
   649     {
   767     {
   650     // Print to UI
   768     // Print to UI
   651     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   769     _LIT( KT_CCCACmsContactFetcherWrapper, "T_CCCACmsContactFetcherWrapper" );
   652     _LIT( KFindFromOtherStoresL, "FindFromOtherStoresL" );
   770     _LIT( KFindFromOtherStoresL, "FindFromOtherStoresL" );
   653     TestModuleIf().Printf( 0, KT_CCCACmsContactFetcherWrapper, KFindFromOtherStoresL );
   771     TestModuleIf().Printf( 
       
   772             0, KT_CCCACmsContactFetcherWrapper, KFindFromOtherStoresL );
   654     // Print to log file
   773     // Print to log file
   655     iLog->Log( KFindFromOtherStoresL );
   774     iLog->Log( KFindFromOtherStoresL );
   656  
   775  
   657     User::LeaveIfError( SetupL( KTestContactLink, MCCAParameter::EContactLink ) );
   776     User::LeaveIfError( SetupL( KTestContactLink, MCCAParameter::EContactLink ) );
   658      
   777      
   659     CCCAParameter* param = CCCAParameter::NewL();
   778     CCCAParameter* param = CCCAParameter::NewL();
   660     CleanupStack::PushL( param );
   779     CleanupStack::PushL( param );
   661     CCCAppCmsContactFetcherWrapper* wrapper = 
   780     CCCAppCmsContactFetcherWrapper* wrapper = 
   662         CCCAppCmsContactFetcherWrapper::CreateInstanceL( 
   781         CCCAppCmsContactFetcherWrapper::CreateInstanceL( 
   663              param, CCCAppCmsContactFetcherWrapper::EFindContactFromOtherStores ); 
   782              param, 
       
   783              CCCAppCmsContactFetcherWrapper::EFindContactFromOtherStores ); 
   664     wrapper->AddObserverL( *this );
   784     wrapper->AddObserverL( *this );
   665 
   785 
   666     // Since there is not needed external notifiers for the
   786     // Since there is not needed external notifiers for the
   667     // finding from other stores functionality, the testing
   787     // finding from other stores functionality, the testing
   668     // needs external way of stopping the CActiveScheduler.
   788     // needs external way of stopping the CActiveScheduler.
   676     schedulerStopper->After( 1000000 );// 1 sec
   796     schedulerStopper->After( 1000000 );// 1 sec
   677     CActiveScheduler::Start();
   797     CActiveScheduler::Start();
   678     iSchedulerStarted = EFalse;
   798     iSchedulerStarted = EFalse;
   679     delete schedulerStopper;
   799     delete schedulerStopper;
   680     schedulerStopper = NULL;
   800     schedulerStopper = NULL;
   681     
   801     CompleteRequestL( &wrapper->iStatus, KErrNone );
   682     CompleteRequestL( &wrapper->iStatus, KErrNone );
   802     iSchedulerStarted = EFalse;
   683     CompleteRequestL( &wrapper->iStatus, KErrNone );
   803     CompleteRequestL( &wrapper->iStatus, KErrNone );
   684 
   804     wrapper->RemoveObserver( *this );
   685     wrapper->RemoveObserver( *this );
   805     if( wrapper->IsActive() )
       
   806         {
       
   807         TRequestStatus* status = &wrapper->iStatus;
       
   808         User::RequestComplete( status, KErrNone );
       
   809         }
   686     wrapper->Release(); 
   810     wrapper->Release(); 
   687     wrapper = NULL;
   811     wrapper = NULL;
   688 
   812 
   689     CleanupStack::PopAndDestroy( param );
   813     CleanupStack::PopAndDestroy( param );
   690     
   814     
   691     TL( iObserverCalled );
   815     TL( iObserverCalled );
   692     T1L( 2, iObserverCalledCount );    
   816     T1L( 1, iObserverCalledCount );    
   693 
   817 
   694     return KErrNone;
   818     return KErrNone;
   695     }
   819     }
   696 
   820 
   697 // -----------------------------------------------------------------------------
   821 // -----------------------------------------------------------------------------
   706     iObserverCalledCount = 0;
   830     iObserverCalledCount = 0;
   707     
   831     
   708     iOngoingTestCase = aTestCase;
   832     iOngoingTestCase = aTestCase;
   709     
   833     
   710     // Ongoing test case
   834     // Ongoing test case
   711     TInt err = RProperty::Define( KTestPropertyCat, ETestCaseStateProperty, RProperty::EInt );
   835     TInt err = RProperty::Define( 
       
   836             KTestPropertyCat, ETestCaseStateProperty, RProperty::EInt );
   712     if ( err != KErrAlreadyExists && err != KErrNone )
   837     if ( err != KErrAlreadyExists && err != KErrNone )
   713         {
   838         {
   714         return ( err );
   839         return ( err );
   715         }
   840         }
   716     err = RProperty::Set( KTestPropertyCat, ETestCaseStateProperty, aTestCase );
   841     err = RProperty::Set( KTestPropertyCat, ETestCaseStateProperty, aTestCase );
   717     
   842     
   718     
   843     
   719     // Parameter type used in CCAParameter creation
   844     // Parameter type used in CCAParameter creation
   720     err = RProperty::Define( KTestPropertyCat, ETestParameterTypeProperty, RProperty::EInt );
   845     err = RProperty::Define( 
       
   846             KTestPropertyCat, ETestParameterTypeProperty, RProperty::EInt );
   721     if ( err != KErrAlreadyExists && err != KErrNone )
   847     if ( err != KErrAlreadyExists && err != KErrNone )
   722         {
   848         {
   723         return ( err );
   849         return ( err );
   724         }
   850         }
   725     err = RProperty::Set( KTestPropertyCat, ETestParameterTypeProperty, aParameterType );
   851     err = RProperty::Set( 
   726     
   852             KTestPropertyCat, ETestParameterTypeProperty, aParameterType );
   727 
   853     
       
   854     CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler;
       
   855     if( !CActiveScheduler::Current() )
       
   856         {
       
   857         CActiveScheduler::Install( scheduler );
       
   858         }
       
   859     else
       
   860         {
       
   861         delete scheduler;
       
   862         }
   728     return KErrNone;
   863     return KErrNone;
   729     }
   864     }
   730 
   865 
   731 // -----------------------------------------------------------------------------
   866 // -----------------------------------------------------------------------------
   732 // T_CCCACmsContactFetcherWrapper::CompleteRequestL
   867 // T_CCCACmsContactFetcherWrapper::CompleteRequestL
   733 //
   868 //
   734 // -----------------------------------------------------------------------------
   869 // -----------------------------------------------------------------------------
   735 //
   870 //
   736 void T_CCCACmsContactFetcherWrapper::CompleteRequestL( TRequestStatus* aStatus, TInt aReason )
   871 void T_CCCACmsContactFetcherWrapper::CompleteRequestL( 
       
   872         TRequestStatus* aStatus, TInt aReason )
   737     {
   873     {
   738     TRequestStatus* status = aStatus;
   874     TRequestStatus* status = aStatus;
   739     User::RequestComplete( status, aReason );
   875     User::RequestComplete( status, aReason );
       
   876 
   740     iSchedulerStarted = ETrue;
   877     iSchedulerStarted = ETrue;
       
   878     
       
   879     CStopSchedulerAfterDelay* schedulerStopper = 
       
   880         new (ELeave) CStopSchedulerAfterDelay();
       
   881     schedulerStopper->ConstructL();
       
   882     CleanupStack::PushL( schedulerStopper );
       
   883     schedulerStopper->After( 1000000 );// 1 sec
   741     CActiveScheduler::Start();
   884     CActiveScheduler::Start();
       
   885     CleanupStack::PopAndDestroy( schedulerStopper );
       
   886 
   742     }
   887     }
   743 // ========================== OTHER EXPORTED FUNCTIONS =========================
   888 // ========================== OTHER EXPORTED FUNCTIONS =========================
   744 // None
   889 // None
   745 
   890 
   746 //  [End of File] - Do not remove
   891 //  [End of File] - Do not remove