Added getFirstEventsForRange() function

git-svn-id: svn://10.0.0.236/trunk@121096 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mostafah%oeone.com
2002-05-08 21:13:44 +00:00
parent 20054422a5
commit dd7573e0c1
2 changed files with 30 additions and 3 deletions

View File

@@ -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" );

View File

@@ -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 );
};