Added getFirstEventsForRange() function

This commit is contained in:
mostafah%oeone.com 2002-05-08 21:13:44 +00:00
Родитель bb0b2f65ed
Коммит b49562453f
2 изменённых файлов: 30 добавлений и 3 удалений

Просмотреть файл

@ -1227,7 +1227,6 @@ oeICalImpl::GetEventsForRange( PRTime checkdateinms, PRTime checkenddateinms, ns
return NS_ERROR_OUT_OF_MEMORY;
EventList *tmplistptr = &m_eventlist;
int i=0;
while( tmplistptr ) {
if( tmplistptr->event ) {
oeIICalEvent* tmpevent = tmplistptr->event;
@ -1241,7 +1240,6 @@ oeICalImpl::GetEventsForRange( PRTime checkdateinms, PRTime checkenddateinms, ns
}
}
tmplistptr = tmplistptr->next;
i++;
}
eventEnum->QueryInterface(NS_GET_IID(nsISimpleEnumerator), (void **)eventlist);
@ -1249,6 +1247,35 @@ oeICalImpl::GetEventsForRange( PRTime checkdateinms, PRTime checkenddateinms, ns
return NS_OK;
}
NS_IMETHODIMP
oeICalImpl::GetFirstEventsForRange( PRTime checkdateinms, PRTime checkenddateinms, nsISimpleEnumerator **eventlist ) {
#ifdef ICAL_DEBUG_ALL
printf( "oeICalImpl::GetEventsInRange()\n" );
#endif
nsCOMPtr<oeEventEnumerator> eventEnum = new oeEventEnumerator( );
if (!eventEnum)
return NS_ERROR_OUT_OF_MEMORY;
EventList *tmplistptr = &m_eventlist;
while( tmplistptr ) {
if( tmplistptr->event ) {
oeIICalEvent* tmpevent = tmplistptr->event;
PRBool isvalid;
PRTime checkdateloop = checkdateinms;
tmpevent->GetNextRecurrence( checkdateloop, &checkdateloop, &isvalid );
if( isvalid && LL_CMP( checkdateloop, <, checkenddateinms ) ) {
eventEnum->AddEvent( tmpevent );
}
}
tmplistptr = tmplistptr->next;
}
eventEnum->QueryInterface(NS_GET_IID(nsISimpleEnumerator), (void **)eventlist);
return NS_OK;
}
icaltimetype oeICalImpl::GetNextEvent( icaltimetype starting ) {
#ifdef ICAL_DEBUG_ALL
printf( "oeICalImpl::GetNextEvent()\n" );

Просмотреть файл

@ -132,7 +132,7 @@ interface oeIICal : nsISupports
nsISimpleEnumerator getEventsForDay(in PRTime date, out nsISimpleEnumerator datelist );
nsISimpleEnumerator getEventsForRange(in PRTime begindate, in PRTime enddate, out nsISimpleEnumerator datelist );
nsISimpleEnumerator getNextNEvents(in PRTime begindate, in long count, out nsISimpleEnumerator datelist );
nsISimpleEnumerator getFirstEventsForRange(in PRTime begindate, in PRTime enddate );
};