gwenhywfar
4.6.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
html
htmlgroup.c
Go to the documentation of this file.
1
/***************************************************************************
2
begin : Sat Feb 20 2010
3
copyright : (C) 2010 by Martin Preuss
4
email : martin@libchipcard.de
5
6
***************************************************************************
7
* Please see toplevel file COPYING for license details *
8
***************************************************************************/
9
10
#ifdef HAVE_CONFIG_H
11
# include <config.h>
12
#endif
13
14
#define DISABLE_DEBUGLOG
15
16
17
#include "htmlgroup_p.h"
18
19
#include <gwenhywfar/misc.h>
20
#include <gwenhywfar/debug.h>
21
22
23
24
GWEN_INHERIT_FUNCTIONS
(
HTML_GROUP
)
25
26
27
28
29
30
HTML_GROUP
*
HtmlGroup_new
(const
char
*groupName,
31
HTML_GROUP
*parent,
32
GWEN_XML_CONTEXT
*ctx) {
33
HTML_GROUP
*g;
34
35
GWEN_NEW_OBJECT
(
HTML_GROUP
, g);
36
GWEN_INHERIT_INIT
(
HTML_GROUP
, g);
37
g->parent=parent;
38
g->xmlContext=ctx;
39
if
(groupName)
40
g->groupName=strdup(groupName);
41
if
(g->xmlContext==
NULL
&& g->parent)
42
g->xmlContext=parent->xmlContext;
43
44
return
g;
45
}
46
47
48
49
void
HtmlGroup_free
(
HTML_GROUP
*g) {
50
if
(g) {
51
GWEN_INHERIT_FINI
(
HTML_GROUP
, g);
52
53
HtmlProps_free
(g->properties);
54
free(g->groupName);
55
56
GWEN_FREE_OBJECT
(g);
57
}
58
}
59
60
61
62
HTML_GROUP
*
HtmlGroup_GetParent
(
const
HTML_GROUP
*g) {
63
assert(g);
64
return
g->parent;
65
}
66
67
68
69
GWEN_XML_CONTEXT
*
HtmlGroup_GetXmlContext
(
const
HTML_GROUP
*g) {
70
assert(g);
71
return
g->xmlContext;
72
}
73
74
75
76
const
char
*
HtmlGroup_GetGroupName
(
const
HTML_GROUP
*g) {
77
assert(g);
78
return
g->groupName;
79
}
80
81
82
83
HTML_OBJECT
*
HtmlGroup_GetObject
(
const
HTML_GROUP
*g) {
84
assert(g);
85
return
g->object;
86
}
87
88
89
90
void
HtmlGroup_SetObject
(
HTML_GROUP
*g,
HTML_OBJECT
*o) {
91
assert(g);
92
g->object=o;
93
}
94
95
96
97
HTML_PROPS
*
HtmlGroup_GetProperties
(
const
HTML_GROUP
*g) {
98
assert(g);
99
return
g->properties;
100
}
101
102
103
104
void
HtmlGroup_SetProperties
(
HTML_GROUP
*g,
HTML_PROPS
*pr){
105
assert(g);
106
107
HtmlProps_Attach
(pr);
108
HtmlProps_free
(g->properties);
109
g->properties=pr;
110
}
111
112
113
114
115
116
117
118
119
HTML_GROUP_STARTTAG_FN
120
HtmlGroup_SetStartTagFn
(
HTML_GROUP
*g,
121
HTML_GROUP_STARTTAG_FN
f) {
122
HTML_GROUP_STARTTAG_FN
oldFn;
123
124
assert(g);
125
oldFn=g->startTagFn;
126
g->startTagFn=f;
127
return
oldFn;
128
}
129
130
131
132
HTML_GROUP_ENDTAG_FN
133
HtmlGroup_SetEndTagFn
(
HTML_GROUP
*g,
134
HTML_GROUP_ENDTAG_FN
f) {
135
HTML_GROUP_ENDTAG_FN
oldFn;
136
137
assert(g);
138
oldFn=g->endTagFn;
139
g->endTagFn=f;
140
return
oldFn;
141
}
142
143
144
145
HTML_GROUP_ADDDATA_FN
146
HtmlGroup_SetAddDataFn
(
HTML_GROUP
*g,
147
HTML_GROUP_ADDDATA_FN
f) {
148
HTML_GROUP_ADDDATA_FN
oldFn;
149
150
assert(g);
151
oldFn=g->addDataFn;
152
g->addDataFn=f;
153
return
oldFn;
154
}
155
156
157
158
HTML_GROUP_ENDSUBGROUP_FN
159
HtmlGroup_SetEndSubGroupFn
(
HTML_GROUP
*g,
160
HTML_GROUP_ENDSUBGROUP_FN
f) {
161
HTML_GROUP_ENDSUBGROUP_FN
oldFn;
162
163
assert(g);
164
oldFn=g->endSubGroupFn;
165
g->endSubGroupFn=f;
166
return
oldFn;
167
}
168
169
170
171
172
173
int
HtmlGroup_StartTag
(
HTML_GROUP
*g,
174
const
char
*tagName) {
175
assert(g);
176
if
(g->startTagFn)
177
return
g->startTagFn(g, tagName);
178
else
179
return
GWEN_ERROR_NOT_IMPLEMENTED
;
180
}
181
182
183
184
int
HtmlGroup_EndTag
(
HTML_GROUP
*g,
185
const
char
*tagName) {
186
assert(g);
187
if
(g->endTagFn)
188
return
g->endTagFn(g, tagName);
189
else
190
return
GWEN_ERROR_NOT_IMPLEMENTED
;
191
}
192
193
194
195
int
HtmlGroup_AddData
(
HTML_GROUP
*g,
196
const
char
*data) {
197
assert(g);
198
if
(g->addDataFn)
199
return
g->addDataFn(g, data);
200
else
201
return
GWEN_ERROR_NOT_IMPLEMENTED
;
202
}
203
204
205
206
int
HtmlGroup_EndSubGroup
(
HTML_GROUP
*g,
HTML_GROUP
*sg) {
207
assert(g);
208
if
(g->endSubGroupFn)
209
return
g->endSubGroupFn(g, sg);
210
else
211
return
GWEN_ERROR_NOT_IMPLEMENTED
;
212
}
213
214
215
216
217
Generated on Sun May 26 2013 16:42:54 for gwenhywfar by
1.8.1.2