12#include "libical_ical_export.h"
32typedef struct icalparser_impl icalparser;
58typedef char *(*icalparser_line_gen_func)(
char *s,
size_t size,
void *d);
258 icalparser_line_gen_func line_gen_func);
346 icalparser_line_gen_func line_gen_func);
Defines the data structure for iCalendar components.
icalcomponent * icalparser_parse(icalparser *parser, icalparser_line_gen_func line_gen_func)
Message oriented parsing.
icalcomponent * icalparser_add_line(icalparser *parser, char *line)
Adds a single line to be parsed by the icalparser.
void icalparser_free(icalparser *parser)
Frees an icalparser object.
void icalparser_set_ctrl(enum icalparser_ctrl ctrl)
Set the parser setting how to handle CONTROL characters.
enum icalparser_ctrl icalparser_get_ctrl(void)
Get the current parser setting how to handle CONTROL characters.
icalcomponent * icalparser_parse_string(const char *str)
Parses a string and returns the parsed icalcomponent.
char * icalparser_string_line_generator(char *out, size_t buf_size, void *d)
icalparser_ctrl
Defines how to handle invalid CONTROL characters in content lines.
icalparser * icalparser_new(void)
Creates a new icalparser.
icalcomponent * icalparser_clean(icalparser *parser)
Cleans out an icalparser and returns whatever it has parsed so far.
void icalparser_set_gen_data(icalparser *parser, void *data)
Sets the data that icalparser_parse will give to the line_gen_func as the parameter 'd'.
char * icalparser_get_line(icalparser *parser, icalparser_line_gen_func line_gen_func)
Given a line generator function, returns a single iCal content line.
icalparser_state
Represents the current state of the parser.
icalparser_state icalparser_get_state(const icalparser *parser)
Returns current state of the icalparser.