serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/src/calgetlisttestcases.cpp
changeset 22 fc9cf246af83
child 24 f4292e0e20df
equal deleted inserted replaced
19:989d2f495d90 22:fc9cf246af83
       
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 // SYSTEM INCLUDE FILES
       
    21 #include <e32base.h>
       
    22 #include <f32file.h> //for RFile and Rfs
       
    23 
       
    24 #include <calentry.h>//for CCalEntry
       
    25 #include <calinstanceview.h>//for CCalInstance
       
    26 #include <calcommon.h>//for Filter Type Enum Constants
       
    27 #include <calinstance.h>
       
    28 #include <caltime.h>
       
    29  
       
    30 // USER INCLUDE FILES
       
    31 #include "calgetlisttestcases.h"
       
    32 #include "entryattributes.h"    
       
    33 //#include <ASCliClientUtils.h>
       
    34 #include "calendarservice.h"
       
    35 #include "calendarconstants.h"
       
    36 
       
    37 
       
    38 
       
    39 CCalGetlistTestCases* CCalGetlistTestCases::NewL( TInt& aResult, TBool aEntryArray) 
       
    40 	{
       
    41 	CCalGetlistTestCases* self = new(ELeave)CCalGetlistTestCases( aResult, aEntryArray); 
       
    42 	
       
    43 	self->ConstructL();
       
    44 	
       
    45 	return self;
       
    46 	}
       
    47 
       
    48 CCalGetlistTestCases::~CCalGetlistTestCases()
       
    49 	{
       
    50 	Cancel();
       
    51 
       
    52 
       
    53     if(iWaitSchedular->IsStarted())
       
    54         iWaitSchedular->AsyncStop();
       
    55     
       
    56     if(iCalendarService)
       
    57         delete iCalendarService;
       
    58     
       
    59     if(iWaitSchedular)
       
    60         delete iWaitSchedular;
       
    61     
       
    62 
       
    63 	
       
    64 	}
       
    65 	
       
    66 
       
    67 _LIT(KGetlistTestCalNameGetlistGuidFilterAsync ,"c:getlistcalguidFilterasync");
       
    68 
       
    69 _LIT(KGetlistTestCalNameGetlistLuidFilterAsync ,"c:getlistcalluidFilterasync");
       
    70 
       
    71 _LIT(KGetlistTestCalNameGetlistTmRgFilterAsync ,"c:getlistcaltmrgFilterasync");
       
    72 
       
    73 _LIT(KGetlistTestCalNameGetlistTextFilterAsync ,"c:getlistcaltextFilterasync");
       
    74 
       
    75 _LIT(KGetlistTestCalNameGetlistTypeFilterAsync ,"c:getlistcaltypeFilterasync");
       
    76 
       
    77 _LIT(KGetlistTestCalNameGetlistInvalidGuidFilterAsync ,"c:getlistcalinvalidguidFilterasync");
       
    78 
       
    79 _LIT(KGetlistTestCalNameGetlistInvalidLuidFilterAsync ,"c:getlistcalinvalidluidFilterasync");
       
    80 	
       
    81 void CCalGetlistTestCases::TestGetlistGuidFilterAsyncL()	
       
    82 	{
       
    83 	iTestCaseType = KGetlistGuidFilterAsync;
       
    84 
       
    85 	//RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistGuidFilterAsync.operator()());
       
    86 	TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistGuidFilterAsync.operator()() ) );
       
    87     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistGuidFilterAsync.operator()() ) ); 
       
    88 	
       
    89         
       
    90 	if(iResult == KErrNone)
       
    91 		Start();
       
    92 	}	
       
    93 
       
    94 void CCalGetlistTestCases::TestGetlistLuidFilterAsyncL()    
       
    95     {
       
    96     iTestCaseType = KGetlistLuidFilterAsync;
       
    97 
       
    98     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistLuidiiFilterAsync.operator()());
       
    99     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistLuidFilterAsync.operator()() ) );
       
   100                                         
       
   101     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistLuidFilterAsync.operator()() ) ); 
       
   102     
       
   103     if(iResult == KErrNone)
       
   104         Start();
       
   105     }   
       
   106 
       
   107 void CCalGetlistTestCases::TestGetlistTmRgFilterAsyncL()    
       
   108     {
       
   109     iTestCaseType = KGetlistTmRgFilterAsync;
       
   110 
       
   111     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistTmRgiiFilterAsync.operator()());
       
   112     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() ) );
       
   113     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() ) ); 
       
   114     
       
   115     if(iResult == KErrNone)
       
   116         Start();
       
   117     }   
       
   118 
       
   119 void CCalGetlistTestCases::TestGetlistTextFilterAsyncL()    
       
   120     {
       
   121     iTestCaseType = KGetlistTextFilterAsync;
       
   122 
       
   123     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistTextiiFilterAsync.operator()());
       
   124     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistTextFilterAsync.operator()() ) );
       
   125     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistTextFilterAsync.operator()() ) ); 
       
   126     
       
   127     if(iResult == KErrNone)
       
   128         Start();
       
   129     }   
       
   130 
       
   131 void CCalGetlistTestCases::TestGetlistTypeFilterAsyncL()    
       
   132     {
       
   133     iTestCaseType = KGetlistTypeFilterAsync;
       
   134 
       
   135     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistTypeiiFilterAsync.operator()());
       
   136     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistTypeFilterAsync.operator()() ) );
       
   137     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistTypeFilterAsync.operator()() ) ); 
       
   138     
       
   139     if(iResult == KErrNone)
       
   140         Start();
       
   141     }  
       
   142 
       
   143 void CCalGetlistTestCases::TestGetlistInvalidGuidFilterAsyncL()    
       
   144     {
       
   145     iTestCaseType = KGetlistInvalidGuidFilterAsync;
       
   146 
       
   147     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistGuidFilterAsync.operator()());
       
   148     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistInvalidGuidFilterAsync.operator()() ) );
       
   149     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistInvalidGuidFilterAsync.operator()() ) ); 
       
   150     
       
   151         
       
   152     if(iResult == KErrNone)
       
   153         Start();
       
   154     }   
       
   155 
       
   156 void CCalGetlistTestCases::TestGetlistInvalidLuidFilterAsyncL()    
       
   157     {
       
   158     iTestCaseType = KGetlistInvalidLuidFilterAsync;
       
   159 
       
   160     //RemoveCalendarFile(iCalendarService, KGetlistTestCalNameGetlistLuidiiFilterAsync.operator()());
       
   161     TRAP( iResult , iCalendarService->DeleteL( KGetlistTestCalNameGetlistInvalidLuidFilterAsync.operator()() ) );
       
   162                                         
       
   163     TRAP( iResult , iCalendarService->AddL( KGetlistTestCalNameGetlistInvalidLuidFilterAsync.operator()() ) ); 
       
   164     
       
   165     if(iResult == KErrNone)
       
   166         Start();
       
   167     }   
       
   168 
       
   169 TInt CCalGetlistTestCases::Result()
       
   170 	{
       
   171 	return iResult;
       
   172 	}
       
   173 	
       
   174 void CCalGetlistTestCases::ConstructL()
       
   175 	{	
       
   176     CActiveScheduler::Add(this);
       
   177     
       
   178     iCalendarService = CCalendarService::NewL();
       
   179     
       
   180     iWaitSchedular = new(ELeave) CActiveSchedulerWait();
       
   181 	}
       
   182 	
       
   183 CCalGetlistTestCases::CCalGetlistTestCases( TInt& aResult, TBool aEntryArray) : CActive(EPriorityStandard), iResult(aResult),
       
   184                                                     iEntryArray(aEntryArray)
       
   185 	{
       
   186 
       
   187 	}
       
   188 	
       
   189 //for the sake of ActiveObject
       
   190 void CCalGetlistTestCases::DoCancel()
       
   191 	{
       
   192 	
       
   193 	}
       
   194 
       
   195 _LIT(KSearchTexttest                 ,"Meeting");
       
   196 void CCalGetlistTestCases::RunL()
       
   197 	{	
       
   198     CCalendarFilter *filter;
       
   199     
       
   200     CEntryAttributes* entryObj;
       
   201     
       
   202     RPointerArray<TUIDSet> arruids(5);
       
   203     TUIDSet* uids = NULL;
       
   204 	
       
   205 	switch( iTestCaseType )
       
   206 	    {
       
   207 	    case KGetlistGuidFilterAsync :
       
   208                                         
       
   209                                         entryObj = CEntryAttributes::NewL( KEntryAppt );
       
   210                                         
       
   211                                         entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   212                                         entryObj->SetLocationL(_L("Hara"));
       
   213                                         entryObj->SetEntryStatusL(KStatusConfirmed);
       
   214                                         entryObj->SetMethodL(KMethodNone);
       
   215                                         entryObj->SetPriority(5);
       
   216                                         entryObj->SetSummaryL(_L("Happens from 9 to 9:30"));
       
   217                                         
       
   218                                         entryObj->SetStartTimeL( TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)) );
       
   219                                         
       
   220                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   221                                         
       
   222                                         iCalendarService->AddL(KGetlistTestCalNameGetlistGuidFilterAsync,entryObj,uids) ;
       
   223                                     
       
   224                                         arruids.Append(uids);
       
   225                                         uids = NULL;
       
   226                                         if ( arruids.Count() > 0 )
       
   227                                             {
       
   228                                             TRAPD(  err , iCalendarService->GetListL( KGetlistTestCalNameGetlistGuidFilterAsync, *(arruids[0]->iGlobalUID), this ));
       
   229                                             if(err != KErrNone)
       
   230                                                 {
       
   231                                                 iResult = KErrGeneral;
       
   232                                                 }
       
   233                                             }
       
   234                                         
       
   235                                    /*     if(iResult != KErrNone)
       
   236                                             {
       
   237                                             iWaitSchedular->AsyncStop();
       
   238                                             }*/
       
   239                                         delete entryObj;
       
   240                                         arruids.ResetAndDestroy();
       
   241                                         break;
       
   242         case KGetlistLuidFilterAsync :
       
   243                                         entryObj = CEntryAttributes::NewL( KEntryAppt );
       
   244                                          
       
   245                                          entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   246                                          entryObj->SetLocationL(_L("Hara"));
       
   247                                          entryObj->SetEntryStatusL(KStatusConfirmed);
       
   248                                          entryObj->SetMethodL(KMethodNone);
       
   249                                          entryObj->SetPriority(5);
       
   250                                          entryObj->SetSummaryL(_L("Happens from 9 to 9:30"));
       
   251                                          
       
   252                                          entryObj->SetStartTimeL( TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)) );
       
   253                                          
       
   254                                          entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   255                                          
       
   256                                          iCalendarService->AddL(KGetlistTestCalNameGetlistLuidFilterAsync,entryObj,uids) ;
       
   257                                          arruids.Append(uids);
       
   258                                          uids = NULL;
       
   259                                          delete entryObj;
       
   260                                          entryObj = CEntryAttributes::NewL( KEntryEvent );
       
   261                                              
       
   262                                          entryObj->SetDescriptionL(_L("New Event entry created"));
       
   263                                          entryObj->SetSummaryL(_L("Event Entry"));
       
   264                                          TTime stTime1(TDateTime(2007, EJuly, 25, 0, 0, 0, 0));
       
   265                                          entryObj->SetStartTimeL(stTime1);
       
   266                                          entryObj->SetReplicationL(KReplPrivate);
       
   267                                          
       
   268                                          iCalendarService->AddL(KGetlistTestCalNameGetlistLuidFilterAsync,entryObj,uids);
       
   269                                          arruids.Append(uids);
       
   270                                          uids = NULL;
       
   271                                      
       
   272                                          if ( arruids.Count() > 0 )
       
   273                                              {
       
   274                                              TRAPD(  err , iCalendarService->GetListL( KGetlistTestCalNameGetlistLuidFilterAsync, arruids[0]->iLocalUID, this ));
       
   275                                              if(err != KErrNone)
       
   276                                                  {
       
   277                                                  iResult = KErrGeneral;
       
   278                                                  }
       
   279                                              }
       
   280                                          delete entryObj;
       
   281                                          arruids.ResetAndDestroy();
       
   282                                                                     
       
   283                                         break;
       
   284         case KGetlistTmRgFilterAsync :
       
   285                                         iEntryArray = EFalse;
       
   286                                         
       
   287                                         entryObj = CEntryAttributes::NewL(KEntryAppt);
       
   288                                         entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   289                                         entryObj->SetLocationL(_L("Hara"));
       
   290                                         entryObj->SetEntryStatusL(KStatusConfirmed);
       
   291                                         entryObj->SetMethodL(KMethodNone);
       
   292                                         entryObj->SetPriority(5);
       
   293                                         entryObj->SetSummaryL(_L("Happens from 9 to 9:30"));
       
   294                                         
       
   295                                         entryObj->SetStartTimeL( TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)) );
       
   296                                         
       
   297                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   298                                         
       
   299                                         TCalTime stTime;
       
   300                                         stTime.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   301                                         entryObj->SetStartTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   302                                         
       
   303                                         TCalTime endTime;
       
   304                                         endTime.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   305                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   306                                         
       
   307                                         CRepeatInfo* rrule = CRepeatInfo::NewL(TCalRRule::EWeekly);
       
   308                                         rrule->SetStartTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   309                                         
       
   310                                         RArray<TDay> dayArray;
       
   311                                         dayArray.Append( stTime.TimeLocalL().DayNoInWeek() );
       
   312                                         rrule->SetDaysInWeek( dayArray );
       
   313                                         rrule->SetCount( 10 );
       
   314 
       
   315                                         entryObj->SetRepeatRule( rrule );
       
   316                                         dayArray.Reset();
       
   317                                         delete rrule;
       
   318                                         
       
   319                                         
       
   320                                         iCalendarService->AddL(KGetlistTestCalNameGetlistTmRgFilterAsync.operator()(),entryObj,uids);
       
   321                                         
       
   322                                         
       
   323                                         //delete uids;
       
   324                                         
       
   325                                         
       
   326                                         arruids.Append(uids);
       
   327                                         uids = NULL;
       
   328                                         //delete uids;
       
   329 
       
   330                                         if ( arruids.Count() > 0 )
       
   331                                             {
       
   332                                          //  addSomeEntries( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() );//adds the entries and fills up iArruids with UIDSets
       
   333                                             filter = CCalendarFilter::NewL();
       
   334                                             filter->SetStartTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   335                                             filter->SetEndTimeL(TTime(TDateTime(2008, EAugust, 8, 9, 0, 0, 0)));
       
   336                                         
       
   337                                             TRAP( iResult, iCalendarService->GetListL( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() , filter , this ) );     
       
   338                                             }
       
   339                                         if(iResult != KErrNone)
       
   340                                             {
       
   341                                             iWaitSchedular->AsyncStop();
       
   342                                             }
       
   343                                         delete entryObj;
       
   344                                         arruids.ResetAndDestroy();
       
   345                                         delete filter;
       
   346  
       
   347                                         break;
       
   348         case KGetlistTextFilterAsync :
       
   349                                         iEntryArray = EFalse;
       
   350                                         entryObj = CEntryAttributes::NewL(KEntryAppt);
       
   351                                         
       
   352                                         entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   353                                         entryObj->SetLocationL(_L("Hara"));
       
   354                                         entryObj->SetEntryStatusL(KStatusConfirmed);
       
   355                                         entryObj->SetMethodL(KMethodNone);
       
   356                                         entryObj->SetPriority(5);
       
   357                                         entryObj->SetSummaryL(_L("Meeting Happens from 9 to 9:30"));
       
   358                                         
       
   359                                         TCalTime stTime3;
       
   360                                         stTime3.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   361                                         entryObj->SetStartTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   362                                         
       
   363                                         TCalTime endTime3;
       
   364                                         endTime3.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   365                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   366                                         
       
   367                                         iCalendarService->AddL(KGetlistTestCalNameGetlistTextFilterAsync.operator()(),entryObj,uids);
       
   368                                         arruids.Append(uids);
       
   369                                         uids = NULL;
       
   370                         
       
   371                                         if ( arruids.Count() > 0 )
       
   372                                             {
       
   373                                          //  addSomeEntries( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() );//adds the entries and fills up iArruids with UIDSets
       
   374                                             filter = CCalendarFilter::NewL();
       
   375                                             filter->SetFilterTextL( KSearchTexttest );
       
   376                                          
       
   377                                             TRAP( iResult, iCalendarService->GetListL( KGetlistTestCalNameGetlistTextFilterAsync.operator()() , filter , this ) );     
       
   378                                             }
       
   379                                         if(iResult != KErrNone)
       
   380                                             {
       
   381                                             iWaitSchedular->AsyncStop();
       
   382                                             }
       
   383                                         delete entryObj;
       
   384                                         arruids.ResetAndDestroy();
       
   385                                         delete filter;
       
   386                     
       
   387                                         break;
       
   388         case KGetlistTypeFilterAsync :
       
   389                                         iEntryArray = EFalse;
       
   390                                         entryObj = CEntryAttributes::NewL(KEntryAppt);
       
   391                                         
       
   392                                         entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   393                                         entryObj->SetLocationL(_L("Hara"));
       
   394                                         entryObj->SetEntryStatusL(KStatusConfirmed);
       
   395                                         entryObj->SetMethodL(KMethodNone);
       
   396                                         entryObj->SetPriority(5);
       
   397                                         entryObj->SetSummaryL(_L("Meeting Happens from 9 to 9:30"));
       
   398                                         
       
   399                                         TCalTime stTime2;
       
   400                                         stTime2.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   401                                         entryObj->SetStartTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)));
       
   402                                         
       
   403                                         TCalTime endTime2;
       
   404                                         endTime2.SetTimeLocalL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   405                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   406                                         
       
   407                                         iCalendarService->AddL(KGetlistTestCalNameGetlistTextFilterAsync.operator()(),entryObj,uids);
       
   408                                         arruids.Append(uids);
       
   409                                         uids = NULL;
       
   410                             
       
   411                                         if ( arruids.Count() > 0 )
       
   412                                             {
       
   413                                          //  addSomeEntries( KGetlistTestCalNameGetlistTmRgFilterAsync.operator()() );//adds the entries and fills up iArruids with UIDSets
       
   414                                             filter = CCalendarFilter::NewL();
       
   415                                             filter->SetFilterTypeL( KEntryAppt );
       
   416                                          
       
   417                                             TRAP( iResult, iCalendarService->GetListL( KGetlistTestCalNameGetlistTextFilterAsync.operator()() , filter , this ) );     
       
   418                                             }
       
   419                                         if(iResult != KErrNone)
       
   420                                             {
       
   421                                             iWaitSchedular->AsyncStop();
       
   422                                             }
       
   423                                         delete entryObj;
       
   424                                         arruids.ResetAndDestroy();
       
   425                                         delete filter;
       
   426                             
       
   427                                         break;
       
   428         case KGetlistInvalidGuidFilterAsync :
       
   429                                         
       
   430                                         entryObj = CEntryAttributes::NewL( KEntryAppt );
       
   431                                         
       
   432                                         entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   433                                         entryObj->SetLocationL(_L("Hara"));
       
   434                                         entryObj->SetEntryStatusL(KStatusConfirmed);
       
   435                                         entryObj->SetMethodL(KMethodNone);
       
   436                                         entryObj->SetPriority(5);
       
   437                                         entryObj->SetSummaryL(_L("Happens from 9 to 9:30"));
       
   438                                         
       
   439                                         entryObj->SetStartTimeL( TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)) );
       
   440                                         
       
   441                                         entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   442                                         
       
   443                                         iCalendarService->AddL(KGetlistTestCalNameGetlistInvalidGuidFilterAsync,entryObj,uids) ;
       
   444                                     
       
   445                                         arruids.Append(uids);
       
   446                                         uids = NULL;
       
   447                                         if ( arruids.Count() > 0 )
       
   448                                             {
       
   449                                             TRAPD(  err , iCalendarService->GetListL( KGetlistTestCalNameGetlistInvalidGuidFilterAsync,_L8("xyz"), this ));
       
   450                                             if(err != KErrNone)
       
   451                                                 {
       
   452                                                 iResult = KErrGeneral;
       
   453                                                 }
       
   454                                             }
       
   455                                         
       
   456                                         if(iResult != KErrNone)
       
   457                                             {
       
   458                                             iWaitSchedular->AsyncStop();
       
   459                                             }
       
   460                                         delete entryObj;
       
   461                                         arruids.ResetAndDestroy();
       
   462                                         break;
       
   463         case KGetlistInvalidLuidFilterAsync :
       
   464                                         entryObj = CEntryAttributes::NewL( KEntryAppt );
       
   465                                          
       
   466                                          entryObj->SetDescriptionL(_L("SAPI weekly meeting"));
       
   467                                          entryObj->SetLocationL(_L("Hara"));
       
   468                                          entryObj->SetEntryStatusL(KStatusConfirmed);
       
   469                                          entryObj->SetMethodL(KMethodNone);
       
   470                                          entryObj->SetPriority(5);
       
   471                                          entryObj->SetSummaryL(_L("Happens from 9 to 9:30"));
       
   472                                          
       
   473                                          entryObj->SetStartTimeL( TTime(TDateTime(2007, EAugust, 8, 9, 0, 0, 0)) );
       
   474                                          
       
   475                                          entryObj->SetEndTimeL(TTime(TDateTime(2007, EAugust, 8, 9, 30, 0, 0)));
       
   476                                          
       
   477                                          iCalendarService->AddL(KGetlistTestCalNameGetlistInvalidLuidFilterAsync,entryObj,uids) ;
       
   478                                          arruids.Append(uids);
       
   479                                          uids = NULL;
       
   480                                      
       
   481                                          if ( arruids.Count() > 0 )
       
   482                                              {
       
   483                                              TRAPD(  err , iCalendarService->GetListL( KGetlistTestCalNameGetlistInvalidLuidFilterAsync, _L8("0"), this ));
       
   484                                              if(err != KErrNone)
       
   485                                                  {
       
   486                                                  iResult = KErrGeneral;
       
   487                                                  }
       
   488                                              }
       
   489                                          if(iResult != KErrNone)
       
   490                                              {
       
   491                                              iWaitSchedular->AsyncStop();
       
   492                                              }
       
   493                                          delete entryObj;
       
   494                                          arruids.ResetAndDestroy();
       
   495                                                                     
       
   496                                         break;
       
   497                            
       
   498 	    }
       
   499 
       
   500 	}
       
   501 			
       
   502 void CCalGetlistTestCases::Start()
       
   503 	{
       
   504     SetActive();
       
   505     TRequestStatus* temp = &iStatus;
       
   506     
       
   507     User::RequestComplete(temp, KErrNone);
       
   508     
       
   509     iWaitSchedular->Start();    
       
   510 	}
       
   511 
       
   512 			
       
   513 void CCalGetlistTestCases::NotifyResultL(TInt aErrCode, TAny* aResult)
       
   514 	{
       
   515     //******************* set iResult ****************************
       
   516     iResult = aErrCode;
       
   517     //******************* set iResult ****************************
       
   518     //write the result to the corresponding file basing on the iTestCaseType
       
   519     RPointerArray<CCalEntry> entryList;
       
   520     
       
   521     RPointerArray<CCalInstance> instanceList;
       
   522     
       
   523     if(iEntryArray)
       
   524         {
       
   525         entryList = *(RPointerArray<CCalEntry>*)(aResult);
       
   526         }
       
   527     else
       
   528         {
       
   529         instanceList = *(RPointerArray<CCalInstance>*)(aResult);
       
   530         }
       
   531     switch( iTestCaseType )
       
   532         {
       
   533         case KGetlistGuidFilterAsync :
       
   534         case KGetlistLuidFilterAsync :
       
   535         case KGetlistTmRgFilterAsync :
       
   536         case KGetlistTextFilterAsync :
       
   537         case KGetlistTypeFilterAsync :
       
   538                                        if(iEntryArray)
       
   539                                            {
       
   540                                            if ( entryList.Count() == 0)
       
   541                                                        {
       
   542                                                        iResult = KErrGeneral;
       
   543                                                        }
       
   544                                            else
       
   545                                                {
       
   546                                                for(TInt i = 0; i<entryList.Count(); i++)
       
   547                                                    {
       
   548                                                    delete entryList[i];
       
   549                                                    }
       
   550                                                }
       
   551                                            }
       
   552                                        else
       
   553                                            {
       
   554                                            if((instanceList.Count() == 0))
       
   555                                                        {
       
   556                                                        iResult = KErrGeneral;
       
   557                                                        }
       
   558                                            else
       
   559                                                {
       
   560                                                for(TInt i = 0; i<instanceList.Count(); i++)
       
   561                                                    {
       
   562                                                    delete instanceList[i];
       
   563                                                    }
       
   564                                                }
       
   565                                            
       
   566                                            }
       
   567                                        break;
       
   568         case KGetlistInvalidLuidFilterAsync :
       
   569         case KGetlistInvalidGuidFilterAsync :
       
   570                                         if ( entryList.Count() > 0)
       
   571                                                     {
       
   572                                                     iResult = KErrGeneral;
       
   573                                                     }
       
   574                                         break;
       
   575        }
       
   576     iWaitSchedular->AsyncStop();
       
   577     
       
   578 	}