Libical API Documentation  3.0
icalduration.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalduration.h
3  CREATOR: eric 26 Jan 2001
4 
5  (C) COPYRIGHT 2000, Eric Busboom <eric@softwarestudio.org>
6  http://www.softwarestudio.org
7 
8  This library is free software; you can redistribute it and/or modify
9  it under the terms of either:
10 
11  The LGPL as published by the Free Software Foundation, version
12  2.1, available at: http://www.gnu.org/licenses/lgpl-2.1.html
13 
14  Or:
15 
16  The Mozilla Public License Version 2.0. You may obtain a copy of
17  the License at http://www.mozilla.org/MPL/
18 
19  The Original Code is eric. The Initial Developer of the Original
20  Code is Eric Busboom
21 ======================================================================*/
22 
23 #ifndef ICALDURATION_H
24 #define ICALDURATION_H
25 
31 #include "libical_ical_export.h"
32 #include "icaltime.h"
33 
38 {
39  int is_neg;
40  unsigned int days;
41  unsigned int weeks;
42  unsigned int hours;
43  unsigned int minutes;
44  unsigned int seconds;
45 };
46 
62 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_from_int(int t);
63 
83 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_from_string(const char *dur);
84 
100 LIBICAL_ICAL_EXPORT int icaldurationtype_as_int(struct icaldurationtype duration);
101 
126 LIBICAL_ICAL_EXPORT char *icaldurationtype_as_ical_string(struct icaldurationtype d);
127 
148 LIBICAL_ICAL_EXPORT char *icaldurationtype_as_ical_string_r(struct icaldurationtype d);
149 
171 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_null_duration(void);
172 
188 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_bad_duration(void);
189 
206 LIBICAL_ICAL_EXPORT int icaldurationtype_is_null_duration(struct icaldurationtype d);
207 
224 LIBICAL_ICAL_EXPORT int icaldurationtype_is_bad_duration(struct icaldurationtype d);
225 
245 LIBICAL_ICAL_EXPORT struct icaltimetype icaltime_add(struct icaltimetype t,
246  struct icaldurationtype d);
247 
265 LIBICAL_ICAL_EXPORT struct icaldurationtype icaltime_subtract(struct icaltimetype t1,
266  struct icaltimetype t2);
267 
268 #endif /* !ICALDURATION_H */
struct icaldurationtype icaltime_subtract(struct icaltimetype t1, struct icaltimetype t2)
Returns the difference between two icaltimetype as a duration.
Definition: icalduration.c:340
int icaldurationtype_as_int(struct icaldurationtype duration)
Converts an icaldurationtype into the duration in seconds as int.
Definition: icalduration.c:271
struct icaldurationtype icaldurationtype_from_int(int t)
Creates a new icaldurationtype from a duration in seconds.
Definition: icalduration.c:33
struct icaldurationtype icaldurationtype_from_string(const char *dur)
Creates a new icaldurationtype from a duration given as a string.
Definition: icalduration.c:63
struct icaltimetype is a pseudo-object that abstracts time handling.
struct icaltimetype icaltime_add(struct icaltimetype t, struct icaldurationtype d)
Adds a duration to an ::icaltime object and returns the result.
Definition: icalduration.c:319
int icaldurationtype_is_bad_duration(struct icaldurationtype d)
Checks if a duration is a bad duration.
Definition: icalduration.c:314
A struct representing a duration.
Definition: icalduration.h:37
struct icaldurationtype icaldurationtype_null_duration(void)
Creates a duration with zero length.
Definition: icalduration.c:280
char * icaldurationtype_as_ical_string_r(struct icaldurationtype d)
Converts an icaldurationtype into the iCal format as string.
Definition: icalduration.c:221
Definition: icaltime.h:105
char * icaldurationtype_as_ical_string(struct icaldurationtype d)
Converts an icaldurationtype into the iCal format as string.
Definition: icalduration.c:212
int icaldurationtype_is_null_duration(struct icaldurationtype d)
Checks if a duration is a null duration.
Definition: icalduration.c:289
struct icaldurationtype icaldurationtype_bad_duration(void)
Creates a bad duration (used to indicate error).
Definition: icalduration.c:305