summaryrefslogtreecommitdiffstats
path: root/doc/vf_parse_init.3
blob: 3ffcc513a2d5932b27b2700aa0eed2c188f31b61 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
.TH "vf_parse_init" 3 "30 April 2003" "c2man vf_iface.h"
.SH "NAME"
vf_parse_init \- vf_parse_init()
.SH "SYNOPSIS"
.ft B
#include <../vformat/vf_iface.h>
.sp
extern bool_t vf_parse_init
.br
(
.br
	VF_PARSER_T **pp_parser,
.br
	VF_OBJECT_T **pp_object
.br
);
.ft R
.SH "PARAMETERS"
.TP
.B "VF_PARSER_T **pp_parser"
Ptr to allocated parser.
.TP
.B "VF_OBJECT_T **pp_object"
The object we're parsing into.
.SH "DESCRIPTION"
Allocate and initialise a parser.  To parse a VCARD (or any vObject)
a user allocates a parser, pushes data through it using vf_parse_text()
and finally calls vf_parse_end():

VF_PARSER_T *p_parser;

if (vf_parse_init(&p_parser, pp_object))
{
do
{
char buffer[...];
Int numchars;

numchars = get_chars_from_somewhere(buffer, ...);

Ret = vf_parse_text(p_parser, buffer, numchars);
}
while (ret && (0 < charsread))
;

if (!vf_parse_end(p_parser))
{
ret = FALSE;
}
}

A parser allocated by vf_parse_init(), must be deallocated by calling
vf_parse_end() whether or not parsing succeeds. Also, parsing may not
be complete (ie. Values may be held buffered and not evaluated fully
or assigned to a VF_OBJECT_T) untill the final call to vf_parse_end()
=> after a vf_parse_init() you _must_ vf_parse_end().
.SH "RETURNS"
TRUE iff parser allocated successfully.
.SH "SEE ALSO"
vf_parse_text(3),
vf_parse_end(3),
vf_read_file(3),
vf_write_file(3),
vf_get_next_object(3),
vf_create_object(3),
vf_get_object_type(3),
vf_get_property(3),
vf_get_property_ex(3),
vf_get_next_property(3),
vf_get_prop_value(3),
vf_set_prop_value(3),
vf_get_prop_value_string(3),
vf_get_prop_name_string(3),
vf_set_prop_name_string(3),
vf_get_prop_name(3),
vf_get_prop_value_object(3),
vf_set_prop_value_object(3),
vf_set_prop_value_string(3),
vf_set_prop_value_base64(3),
vf_get_prop_value_base64(3),
vf_set_property_from_file(3),
vf_delete_object(3),
vf_delete_prop(3),
vf_find_prop_qual_index(3),
vf_is_modified(3),
vf_find_charset(3),
vf_date_string_to_time(3),
vf_period_string_to_time(3),
vf_period_time_to_string(3),
vf_set_prop_value_time(3),
vf_get_prop_value_time(3)