Back to index

lightning-sunbird  0.9+nobinonly
icalspanlist.h
Go to the documentation of this file.
00001 /* -*- Mode: C -*- */
00002 /*======================================================================
00003  FILE: icalspanlist.h
00004  CREATOR: eric 21 Aug 2000
00005 
00006 
00007  $Id: icalspanlist.h,v 1.6 2002/06/28 10:15:39 acampi Exp $
00008  $Locker:  $
00009 
00010  (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
00011 
00012  This program is free software; you can redistribute it and/or modify
00013  it under the terms of either: 
00014 
00015     The LGPL as published by the Free Software Foundation, version
00016     2.1, available at: http://www.fsf.org/copyleft/lesser.html
00017 
00018   Or:
00019 
00020     The Mozilla Public License Version 1.0. You may obtain a copy of
00021     the License at http://www.mozilla.org/MPL/
00022 
00023 
00024  =========================================================================*/
00025 #ifndef ICALSPANLIST_H
00026 #define ICALSPANLIST_H
00027 
00028 #include "ical.h"
00029 #include "icalset.h"
00030 
00035 typedef struct icalspanlist_impl icalspanlist;
00036 
00037 
00042 icalspanlist* icalspanlist_new(icalset *set, 
00043                             struct icaltimetype start,
00044                             struct icaltimetype end);
00045 
00048 void icalspanlist_free(icalspanlist* spl);
00049 
00050 /* Unimplemented functions */
00051 icalcomponent* icalspanlist_make_free_list(icalspanlist* sl);
00052 icalcomponent* icalspanlist_make_busy_list(icalspanlist* sl);
00053 
00055 struct icalperiodtype icalspanlist_next_free_time(icalspanlist* sl,
00056                                           struct icaltimetype t);
00058 struct icalperiodtype icalspanlist_next_busy_time(icalspanlist* sl,
00059                                           struct icaltimetype t);
00060 
00061 void icalspanlist_dump(icalspanlist* s);
00062 
00064 icalcomponent *icalspanlist_as_vfreebusy(icalspanlist* s_in,
00065                                     const char* organizer,
00066                                     const char* attendee);
00067 
00069 int *icalspanlist_as_freebusy_matrix(icalspanlist* span, int delta_t);
00070 
00072 icalspanlist *icalspanlist_from_vfreebusy(icalcomponent* c);
00073 
00074 #endif
00075                                 
00076 
00077