diff -r 42814f902fe6 -r 38571fd2a704 pimappservices/calendar/tsrc/caltestlib.cpp --- a/pimappservices/calendar/tsrc/caltestlib.cpp Fri Feb 19 22:49:53 2010 +0200 +++ b/pimappservices/calendar/tsrc/caltestlib.cpp Fri Mar 12 15:42:35 2010 +0200 @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -120,6 +121,7 @@ void CCalTestLibrary::CloseCalendarSession(TBool aWaitForAgendaToClose) { iChunkMutex.Wait(); + iSubCalSessions.ResetAndDestroy(); delete iSession; iSession = NULL; if (iRefCount && (--*iRefCount <= 0) && aWaitForAgendaToClose) @@ -399,6 +401,16 @@ if (aIsCalFile) { + + for(TInt i = 0; i < iSubCalSessions.Count();i++) + { + CCalCalendarInfo* info = iSubCalSessions[i]->CalendarInfoL(); + HBufC* fileName = info->FileNameL().AllocLC(); + delete info; + iSubCalSessions[i]->DeleteCalFileL(*fileName); + CleanupStack::PopAndDestroy(fileName); + } + iSession->DeleteCalFileL(aFileName); TInt indx=-1; if(iDelFileFlag) @@ -948,4 +960,24 @@ return tickPeriod * durationInTicks; } +EXPORT_C RPointerArray& CCalTestLibrary::CreateCalSubSessionL(const TDesC& aFileName) + { + CCalSession* session = CCalSession::NewL(*iSession); + CCalCalendarInfo* calendarInfo = CCalCalendarInfo::NewL(); + calendarInfo->SetColor(KRgbRed); + calendarInfo->SetNameL(_L("test")); + calendarInfo->SetEnabled(ETrue); + + TRAPD(err,session->CreateCalFileL(aFileName,*calendarInfo)); + if(err == KErrAlreadyExists) + { + session->DeleteCalFileL(aFileName); + session->CreateCalFileL(aFileName,*calendarInfo); + } + session->OpenL(aFileName); + iSubCalSessions.Append(session); + + delete calendarInfo; + return iSubCalSessions; + }