Libical API Documentation  3.0
icalspanlist.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalspanlist.h
3  CREATOR: eric 21 Aug 2000
4 
5  (C) COPYRIGHT 2000, Eric Busboom <eric@civicknowledge.com>
6 
7  This library is free software; you can redistribute it and/or modify
8  it under the terms of either:
9 
10  The LGPL as published by the Free Software Foundation, version
11  2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.html
12 
13  Or:
14 
15  The Mozilla Public License Version 2.0. You may obtain a copy of
16  the License at https://www.mozilla.org/MPL/
17 =========================================================================*/
18 #ifndef ICALSPANLIST_H
19 #define ICALSPANLIST_H
20 
21 #include "libical_icalss_export.h"
22 #include "icalset.h"
23 
28 typedef struct icalspanlist_impl icalspanlist;
29 
42 LIBICAL_ICALSS_EXPORT icalspanlist *icalspanlist_new(icalset *set,
43  struct icaltimetype start,
44  struct icaltimetype end);
45 
51 LIBICAL_ICALSS_EXPORT void icalspanlist_free(icalspanlist *sl);
52 
61 LIBICAL_ICALSS_EXPORT struct icalperiodtype icalspanlist_next_free_time(icalspanlist *sl,
62  struct icaltimetype t);
63 
67 LIBICAL_ICALSS_EXPORT void icalspanlist_dump(icalspanlist *sl);
68 
83 LIBICAL_ICALSS_EXPORT icalcomponent *icalspanlist_as_vfreebusy(icalspanlist *sl,
84  const char *organizer,
85  const char *attendee);
86 
106 LIBICAL_ICALSS_EXPORT int *icalspanlist_as_freebusy_matrix(icalspanlist *span, int delta_t);
107 
117 LIBICAL_ICALSS_EXPORT icalspanlist *icalspanlist_from_vfreebusy(icalcomponent *comp);
118 
119 #endif
icalcomponent * icalspanlist_as_vfreebusy(icalspanlist *sl, const char *organizer, const char *attendee)
Returns a VFREEBUSY component for a spanlist.
Definition: icalspanlist.c:351
void icalspanlist_dump(icalspanlist *sl)
(Debug) print out spanlist to STDOUT.
Definition: icalspanlist.c:210
icalspanlist * icalspanlist_from_vfreebusy(icalcomponent *comp)
Constructs an icalspanlist from a VFREEBUSY component.
Definition: icalspanlist.c:402
int * icalspanlist_as_freebusy_matrix(icalspanlist *span, int delta_t)
Returns an hour-by-hour array of free/busy times over a given period.
Definition: icalspanlist.c:290
void icalspanlist_free(icalspanlist *sl)
Destructor.
Definition: icalspanlist.c:192
icalspanlist * icalspanlist_new(icalset *set, struct icaltimetype start, struct icaltimetype end)
Makes a free list from a set of VEVENT components.
Definition: icalspanlist.c:90
struct icalperiodtype icalspanlist_next_free_time(icalspanlist *sl, struct icaltimetype t)
Finds the next free time span in a spanlist.
Definition: icalspanlist.c:226
Definition: icalcomponent.c:36
Struct to represent a period in time.
Definition: icalperiod.h:38
Definition: icalset.h:61
Definition: icalspanlist.c:29
struct icaltimetype start
Definition: icalspanlist.c:31
struct icaltimetype end
Definition: icalspanlist.c:32
Definition: icaltime.h:105