libkcal

icalparser.h File Reference

Line-oriented parsing. More...

#include "icalenums.h"
#include "icaltypes.h"
#include "icalcomponent.h"
#include <stdio.h>

Include dependency graph for icalparser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Typedefs

typedef struct icalparser_impl icalparser

Enumerations

enum  icalparser_state {
  ICALPARSER_ERROR, ICALPARSER_SUCCESS, ICALPARSER_BEGIN_COMP, ICALPARSER_END_COMP,
  ICALPARSER_IN_PROGRESS
}

Functions

icalcomponenticalparser_add_line (icalparser *parser, char *str)
icalcomponenticalparser_clean (icalparser *parser)
void icalparser_free (icalparser *parser)
char * icalparser_get_line (icalparser *parser, char *(*line_gen_func)(char *s, size_t size, void *d))
icalparser_state icalparser_get_state (icalparser *parser)
icalparsericalparser_new (void)
icalcomponenticalparser_parse (icalparser *parser, char *(*line_gen_func)(char *s, size_t size, void *d))
icalcomponenticalparser_parse_string (const char *str)
icalvalue * icalparser_parse_value (icalvalue_kind kind, const char *str, icalcomponent **errors)
void icalparser_set_gen_data (icalparser *parser, void *data)
char * icalparser_string_line_generator (char *out, size_t buf_size, void *d)

Detailed Description

Line-oriented parsing.

Create a new parser via icalparse_new_parser, then add lines one at a time with icalparse_add_line(). icalparser_add_line() will return non-zero when it has finished with a component.

Definition in file icalparser.h.


Typedef Documentation

typedef struct icalparser_impl icalparser

Definition at line 36 of file icalparser.h.


Enumeration Type Documentation

Enumerator:
ICALPARSER_ERROR 
ICALPARSER_SUCCESS 
ICALPARSER_BEGIN_COMP 
ICALPARSER_END_COMP 
ICALPARSER_IN_PROGRESS 

Definition at line 48 of file icalparser.h.


Function Documentation

icalcomponent* icalparser_add_line ( icalparser parser,
char *  str 
)

icalcomponent* icalparser_clean ( icalparser parser  ) 

void icalparser_free ( icalparser parser  ) 

char* icalparser_get_line ( icalparser parser,
char *(*)(char *s, size_t size, void *d)  line_gen_func 
)

Given a line generator function, return a single iCal content line.

icalparser_state icalparser_get_state ( icalparser parser  ) 

icalparser* icalparser_new ( void   ) 

icalcomponent* icalparser_parse ( icalparser parser,
char *(*)(char *s, size_t size, void *d)  line_gen_func 
)

Message oriented parsing.

icalparser_parse takes a string that holds the text ( in RFC 2445 format ) and returns a pointer to an icalcomponent. The caller owns the memory. line_gen_func is a pointer to a function that returns one content line per invocation

icalcomponent* icalparser_parse_string ( const char *  str  ) 

icalvalue* icalparser_parse_value ( icalvalue_kind  kind,
const char *  str,
icalcomponent **  errors 
)

Use the flex/bison parser to turn a string into a value type.

void icalparser_set_gen_data ( icalparser parser,
void *  data 
)

Set the data that icalparser_parse will give to the line_gen_func as the parameter 'd'.

char* icalparser_string_line_generator ( char *  out,
size_t  buf_size,
void *  d 
)