From d46183860c1f3f10095e95023adcb79b1896ab0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 22 Mar 2019 20:11:11 +0100 Subject: Move C and Scheme code into subdirs. --- src/calendar.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/calendar.h (limited to 'src/calendar.h') diff --git a/src/calendar.h b/src/calendar.h new file mode 100644 index 00000000..20b78a9f --- /dev/null +++ b/src/calendar.h @@ -0,0 +1,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 */ -- cgit v1.2.3