| Libical API Documentation 4.0
    | 
Code that supports collections of free/busy spans of time. More...
Go to the source code of this file.
| Typedefs | |
| typedef struct icalspanlist_impl | icalspanlist | 
| Functions | |
| int * | icalspanlist_as_freebusy_matrix (icalspanlist *span, int delta_t) | 
| Returns an hour-by-hour array of free/busy times over a given period. | |
| icalcomponent * | icalspanlist_as_vfreebusy (icalspanlist *sl, const char *organizer, const char *attendee) | 
| Returns a VFREEBUSY component for a spanlist. | |
| void | icalspanlist_dump (icalspanlist *sl) | 
| (Debug) print out spanlist to STDOUT. | |
| void | icalspanlist_free (icalspanlist *sl) | 
| Destructor. | |
| icalspanlist * | icalspanlist_from_vfreebusy (icalcomponent *comp) | 
| Constructs an icalspanlist from a VFREEBUSY component. | |
| icalspanlist * | icalspanlist_new (icalset *set, struct icaltimetype start, struct icaltimetype end) | 
| Makes a free list from a set of VEVENT components. | |
| struct icalperiodtype | icalspanlist_next_free_time (icalspanlist *sl, struct icaltimetype t) | 
| Finds the next free time span in a spanlist. | |
Code that supports collections of free/busy spans of time.
| int * icalspanlist_as_freebusy_matrix | ( | icalspanlist * | span, | 
| int | delta_t ) | 
Returns an hour-by-hour array of free/busy times over a given period.
| span | A valid icalspanlist | 
| delta_t | The time slice to divide by, in seconds. Default 3600. | 
This calculation is somewhat tricky. This is due to the fact that the time range contains the start time, but does not contain the end time. To perform a proper calculation we subtract one second off the end times to get a true containing time.
Also note that if you supplying a spanlist that does not start or end on a time boundary divisible by delta_t you may get results that are not quite what you expect.
| icalcomponent * icalspanlist_as_vfreebusy | ( | icalspanlist * | sl, | 
| const char * | organizer, | ||
| const char * | attendee ) | 
Returns a VFREEBUSY component for a spanlist.
| sl | A valid icalspanlist, from icalspanlist_new() | 
| organizer | The organizer specified as "MAILTO:user@domain" | 
| attendee | The attendee specified as "MAILTO:user@domain" | 
This function returns a VFREEBUSY component for the given spanlist. The start time is mapped to DTSTART, the end time to DTEND. Each busy span is represented as a separate FREEBUSY entry. An attendee parameter is required, and organizer parameter is optional.
| void icalspanlist_dump | ( | icalspanlist * | sl | ) | 
(Debug) print out spanlist to STDOUT.
| sl | A valid icalspanlist. | 
| void icalspanlist_free | ( | icalspanlist * | sl | ) | 
Destructor.
| sl | A valid icalspanlist | 
Frees the memory associated with the spanlist.
| icalspanlist * icalspanlist_from_vfreebusy | ( | icalcomponent * | comp | ) | 
Constructs an icalspanlist from a VFREEBUSY component.
Constructs an icalspanlist from the VFREEBUSY component of an icalcomponent.
| comp | A valid icalcomponent. | 
| icalspanlist * icalspanlist_new | ( | icalset * | set, | 
| struct icaltimetype | start, | ||
| struct icaltimetype | end ) | 
Makes a free list from a set of VEVENT components.
| set | A valid icalset containing VEVENTS | 
| start | The free list starts at this date/time | 
| end | The free list ends at this date/time | 
Given a set of components, a start time and an end time return a spanlist that contains the free/busy times. Start and end should be in UTC. 
| struct icalperiodtype icalspanlist_next_free_time | ( | icalspanlist * | sl, | 
| struct icaltimetype | t ) | 
Finds the next free time span in a spanlist.
| sl | The spanlist to search. | 
| t | The time to start looking. | 
Given a spanlist and a time, finds the next period of time that is free.