зеркало из https://github.com/mozilla/gecko-dev.git
Added getFirstEventsForRange() function
This commit is contained in:
Родитель
bb0b2f65ed
Коммит
b49562453f
|
@ -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 );
|
||||
};
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче