aboutsummaryrefslogtreecommitdiff
path: root/calendar.h
blob: 20b78a9f083cd1666f933bc173055b89b4b564b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef CALENDAR_H
#define CALENDAR_H

#include "vcal.h"

/*
 * Reads all ics flies in path into the given vcomponent. The
 * component is assumed to be a abstract ROOT element, whose first
 * component will most likely become a VCALENDAR.
 *
 * path should either be a single .ics file (vcalendar), or a
 * directory directly containing .ics files (vdir).
 */
int read_vcalendar(vcomponent* cal, char* path);

/*
 * Gets extension from filename. Writes output to ext.
 * Assumes that the extension is the text between the last dot and
 * the end of the string, and that no slashes can occur between the
 * dot and the end.
 *
 * Returns the length of the extension, 0 if no extension.
 */
int get_extension(const char* filename, char* ext, ssize_t max_len);

/* Returns 1 if path has extension ext, 0 otherwise */
int check_ext (const char* path, const char* ext);

/* Handle a lone ics file */
int handle_file(vcomponent* cal, char* path);

/* Handle a directory of ics files */
int handle_dir(vcomponent* cal, char* path);

/*
 * Helper for opening a single ICS file. Handles file internally, and
 * writes output to cal.
 */
int open_ics (char* resolved_path, vcomponent* cal);

#endif /* CALENDAR_H */