1 /* devhelp-markupwriter.c generated by valac, the Vala compiler
2  * generated from devhelp-markupwriter.vala, do not modify */
3 
4 /* devhelp-markupwriter.vala
5  *
6  * Copyright (C) 2008-2009 Florian Brosch
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
21  *
22  * Author:
23  * 	Florian Brosch <flo.brosch@gmail.com>
24  */
25 
26 #include "valadoc.h"
27 #include <stdlib.h>
28 #include <string.h>
29 #include <glib.h>
30 #include <stdio.h>
31 
32 typedef struct _Block2Data Block2Data;
33 #define _valadoc_markup_writer_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_markup_writer_unref (var), NULL)))
34 
35 struct _Block2Data {
36 	int _ref_count_;
37 	ValadocDevhelpMarkupWriter* self;
38 	FILE* _stream;
39 };
40 
41 static gpointer valadoc_devhelp_markup_writer_parent_class = NULL;
42 
43 static Block2Data* block2_data_ref (Block2Data* _data2_);
44 static void block2_data_unref (void * _userdata_);
45 static void __lambda132_ (Block2Data* _data2_,
46                    const gchar* str);
47 static void ___lambda132__valadoc_markup_writer_write_func (const gchar* text,
48                                                      gpointer self);
49 static gboolean valadoc_devhelp_markup_writer_real_inline_element (ValadocMarkupWriter* base,
50                                                             const gchar* name);
51 static gboolean valadoc_devhelp_markup_writer_real_content_inline_element (ValadocMarkupWriter* base,
52                                                                     const gchar* name);
53 static GType valadoc_devhelp_markup_writer_get_type_once (void);
54 static void _vala_array_destroy (gpointer array,
55                           gint array_length,
56                           GDestroyNotify destroy_func);
57 static void _vala_array_free (gpointer array,
58                        gint array_length,
59                        GDestroyNotify destroy_func);
60 
61 static Block2Data*
block2_data_ref(Block2Data * _data2_)62 block2_data_ref (Block2Data* _data2_)
63 {
64 	g_atomic_int_inc (&_data2_->_ref_count_);
65 	return _data2_;
66 }
67 
68 static void
block2_data_unref(void * _userdata_)69 block2_data_unref (void * _userdata_)
70 {
71 	Block2Data* _data2_;
72 	_data2_ = (Block2Data*) _userdata_;
73 	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
74 		ValadocDevhelpMarkupWriter* self;
75 		self = _data2_->self;
76 		_valadoc_markup_writer_unref0 (self);
77 		g_slice_free (Block2Data, _data2_);
78 	}
79 }
80 
81 static void
__lambda132_(Block2Data * _data2_,const gchar * str)82 __lambda132_ (Block2Data* _data2_,
83               const gchar* str)
84 {
85 	ValadocDevhelpMarkupWriter* self;
86 	self = _data2_->self;
87 	g_return_if_fail (str != NULL);
88 	fprintf (_data2_->_stream, "%s", str);
89 }
90 
91 static void
___lambda132__valadoc_markup_writer_write_func(const gchar * text,gpointer self)92 ___lambda132__valadoc_markup_writer_write_func (const gchar* text,
93                                                 gpointer self)
94 {
95 	__lambda132_ (self, text);
96 }
97 
98 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_construct(GType object_type,FILE * stream,gboolean xml_declaration)99 valadoc_devhelp_markup_writer_construct (GType object_type,
100                                          FILE* stream,
101                                          gboolean xml_declaration)
102 {
103 	ValadocDevhelpMarkupWriter* self = NULL;
104 	Block2Data* _data2_;
105 	g_return_val_if_fail (stream != NULL, NULL);
106 	_data2_ = g_slice_new0 (Block2Data);
107 	_data2_->_ref_count_ = 1;
108 	_data2_->_stream = stream;
109 	self = (ValadocDevhelpMarkupWriter*) valadoc_markup_writer_construct (object_type, ___lambda132__valadoc_markup_writer_write_func, block2_data_ref (_data2_), block2_data_unref, xml_declaration);
110 	_data2_->self = valadoc_markup_writer_ref (self);
111 	block2_data_unref (_data2_);
112 	_data2_ = NULL;
113 	return self;
114 }
115 
116 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_new(FILE * stream,gboolean xml_declaration)117 valadoc_devhelp_markup_writer_new (FILE* stream,
118                                    gboolean xml_declaration)
119 {
120 	return valadoc_devhelp_markup_writer_construct (VALADOC_DEVHELP_TYPE_MARKUP_WRITER, stream, xml_declaration);
121 }
122 
123 static gboolean
valadoc_devhelp_markup_writer_real_inline_element(ValadocMarkupWriter * base,const gchar * name)124 valadoc_devhelp_markup_writer_real_inline_element (ValadocMarkupWriter* base,
125                                                    const gchar* name)
126 {
127 	ValadocDevhelpMarkupWriter * self;
128 	gboolean result = FALSE;
129 	self = (ValadocDevhelpMarkupWriter*) base;
130 	g_return_val_if_fail (name != NULL, FALSE);
131 	result = g_strcmp0 (name, "book") != 0;
132 	return result;
133 }
134 
135 static gboolean
valadoc_devhelp_markup_writer_real_content_inline_element(ValadocMarkupWriter * base,const gchar * name)136 valadoc_devhelp_markup_writer_real_content_inline_element (ValadocMarkupWriter* base,
137                                                            const gchar* name)
138 {
139 	ValadocDevhelpMarkupWriter * self;
140 	gboolean _tmp0_ = FALSE;
141 	gboolean result = FALSE;
142 	self = (ValadocDevhelpMarkupWriter*) base;
143 	g_return_val_if_fail (name != NULL, FALSE);
144 	if (g_strcmp0 (name, "keyword") == 0) {
145 		_tmp0_ = TRUE;
146 	} else {
147 		_tmp0_ = g_strcmp0 (name, "sub") == 0;
148 	}
149 	result = _tmp0_;
150 	return result;
151 }
152 
153 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_start_book(ValadocDevhelpMarkupWriter * self,const gchar * title,const gchar * lang,const gchar * link,const gchar * name,const gchar * version,const gchar * author)154 valadoc_devhelp_markup_writer_start_book (ValadocDevhelpMarkupWriter* self,
155                                           const gchar* title,
156                                           const gchar* lang,
157                                           const gchar* link,
158                                           const gchar* name,
159                                           const gchar* version,
160                                           const gchar* author)
161 {
162 	gchar* _tmp0_;
163 	gchar* _tmp1_;
164 	gchar* _tmp2_;
165 	gchar* _tmp3_;
166 	gchar* _tmp4_;
167 	gchar* _tmp5_;
168 	gchar* _tmp6_;
169 	gchar* _tmp7_;
170 	gchar* _tmp8_;
171 	gchar* _tmp9_;
172 	gchar* _tmp10_;
173 	gchar* _tmp11_;
174 	gchar* _tmp12_;
175 	gchar* _tmp13_;
176 	gchar** _tmp14_;
177 	gchar** _tmp15_;
178 	gint _tmp15__length1;
179 	ValadocDevhelpMarkupWriter* result = NULL;
180 	g_return_val_if_fail (self != NULL, NULL);
181 	g_return_val_if_fail (title != NULL, NULL);
182 	g_return_val_if_fail (lang != NULL, NULL);
183 	g_return_val_if_fail (link != NULL, NULL);
184 	g_return_val_if_fail (name != NULL, NULL);
185 	g_return_val_if_fail (version != NULL, NULL);
186 	g_return_val_if_fail (author != NULL, NULL);
187 	_tmp0_ = g_strdup ("xmlns");
188 	_tmp1_ = g_strdup ("http://www.devhelp.net/book");
189 	_tmp2_ = g_strdup ("title");
190 	_tmp3_ = g_strdup (title);
191 	_tmp4_ = g_strdup ("language");
192 	_tmp5_ = g_strdup (lang);
193 	_tmp6_ = g_strdup ("name");
194 	_tmp7_ = g_strdup (name);
195 	_tmp8_ = g_strdup ("version");
196 	_tmp9_ = g_strdup (version);
197 	_tmp10_ = g_strdup ("author");
198 	_tmp11_ = g_strdup (author);
199 	_tmp12_ = g_strdup ("link");
200 	_tmp13_ = g_strdup (link);
201 	_tmp14_ = g_new0 (gchar*, 14 + 1);
202 	_tmp14_[0] = _tmp0_;
203 	_tmp14_[1] = _tmp1_;
204 	_tmp14_[2] = _tmp2_;
205 	_tmp14_[3] = _tmp3_;
206 	_tmp14_[4] = _tmp4_;
207 	_tmp14_[5] = _tmp5_;
208 	_tmp14_[6] = _tmp6_;
209 	_tmp14_[7] = _tmp7_;
210 	_tmp14_[8] = _tmp8_;
211 	_tmp14_[9] = _tmp9_;
212 	_tmp14_[10] = _tmp10_;
213 	_tmp14_[11] = _tmp11_;
214 	_tmp14_[12] = _tmp12_;
215 	_tmp14_[13] = _tmp13_;
216 	_tmp15_ = _tmp14_;
217 	_tmp15__length1 = 14;
218 	valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) self, "book", _tmp15_, (gint) 14);
219 	_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
220 	result = self;
221 	return result;
222 }
223 
224 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_end_book(ValadocDevhelpMarkupWriter * self)225 valadoc_devhelp_markup_writer_end_book (ValadocDevhelpMarkupWriter* self)
226 {
227 	ValadocDevhelpMarkupWriter* result = NULL;
228 	g_return_val_if_fail (self != NULL, NULL);
229 	valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) self, "book");
230 	result = self;
231 	return result;
232 }
233 
234 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_start_functions(ValadocDevhelpMarkupWriter * self)235 valadoc_devhelp_markup_writer_start_functions (ValadocDevhelpMarkupWriter* self)
236 {
237 	ValadocDevhelpMarkupWriter* result = NULL;
238 	g_return_val_if_fail (self != NULL, NULL);
239 	valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) self, "functions", NULL, (gint) 0);
240 	result = self;
241 	return result;
242 }
243 
244 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_end_functions(ValadocDevhelpMarkupWriter * self)245 valadoc_devhelp_markup_writer_end_functions (ValadocDevhelpMarkupWriter* self)
246 {
247 	ValadocDevhelpMarkupWriter* result = NULL;
248 	g_return_val_if_fail (self != NULL, NULL);
249 	valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) self, "functions");
250 	result = self;
251 	return result;
252 }
253 
254 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_start_chapters(ValadocDevhelpMarkupWriter * self)255 valadoc_devhelp_markup_writer_start_chapters (ValadocDevhelpMarkupWriter* self)
256 {
257 	ValadocDevhelpMarkupWriter* result = NULL;
258 	g_return_val_if_fail (self != NULL, NULL);
259 	valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) self, "chapters", NULL, (gint) 0);
260 	result = self;
261 	return result;
262 }
263 
264 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_end_chapters(ValadocDevhelpMarkupWriter * self)265 valadoc_devhelp_markup_writer_end_chapters (ValadocDevhelpMarkupWriter* self)
266 {
267 	ValadocDevhelpMarkupWriter* result = NULL;
268 	g_return_val_if_fail (self != NULL, NULL);
269 	valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) self, "chapters");
270 	result = self;
271 	return result;
272 }
273 
274 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_start_sub(ValadocDevhelpMarkupWriter * self,const gchar * name,const gchar * link)275 valadoc_devhelp_markup_writer_start_sub (ValadocDevhelpMarkupWriter* self,
276                                          const gchar* name,
277                                          const gchar* link)
278 {
279 	gchar* _tmp0_;
280 	gchar* _tmp1_;
281 	gchar* _tmp2_;
282 	gchar* _tmp3_;
283 	gchar** _tmp4_;
284 	gchar** _tmp5_;
285 	gint _tmp5__length1;
286 	ValadocDevhelpMarkupWriter* result = NULL;
287 	g_return_val_if_fail (self != NULL, NULL);
288 	g_return_val_if_fail (name != NULL, NULL);
289 	g_return_val_if_fail (link != NULL, NULL);
290 	_tmp0_ = g_strdup ("name");
291 	_tmp1_ = g_strdup (name);
292 	_tmp2_ = g_strdup ("link");
293 	_tmp3_ = g_strdup (link);
294 	_tmp4_ = g_new0 (gchar*, 4 + 1);
295 	_tmp4_[0] = _tmp0_;
296 	_tmp4_[1] = _tmp1_;
297 	_tmp4_[2] = _tmp2_;
298 	_tmp4_[3] = _tmp3_;
299 	_tmp5_ = _tmp4_;
300 	_tmp5__length1 = 4;
301 	valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) self, "sub", _tmp5_, (gint) 4);
302 	_tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL);
303 	result = self;
304 	return result;
305 }
306 
307 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_end_sub(ValadocDevhelpMarkupWriter * self)308 valadoc_devhelp_markup_writer_end_sub (ValadocDevhelpMarkupWriter* self)
309 {
310 	ValadocDevhelpMarkupWriter* result = NULL;
311 	g_return_val_if_fail (self != NULL, NULL);
312 	valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) self, "sub");
313 	result = self;
314 	return result;
315 }
316 
317 ValadocDevhelpMarkupWriter*
valadoc_devhelp_markup_writer_keyword(ValadocDevhelpMarkupWriter * self,const gchar * name,const gchar * type,const gchar * link)318 valadoc_devhelp_markup_writer_keyword (ValadocDevhelpMarkupWriter* self,
319                                        const gchar* name,
320                                        const gchar* type,
321                                        const gchar* link)
322 {
323 	gchar* _tmp0_;
324 	gchar* _tmp1_;
325 	gchar* _tmp2_;
326 	gchar* _tmp3_;
327 	gchar* _tmp4_;
328 	gchar* _tmp5_;
329 	gchar** _tmp6_;
330 	gchar** _tmp7_;
331 	gint _tmp7__length1;
332 	ValadocDevhelpMarkupWriter* result = NULL;
333 	g_return_val_if_fail (self != NULL, NULL);
334 	g_return_val_if_fail (name != NULL, NULL);
335 	g_return_val_if_fail (type != NULL, NULL);
336 	g_return_val_if_fail (link != NULL, NULL);
337 	_tmp0_ = g_strdup ("type");
338 	_tmp1_ = g_strdup (type);
339 	_tmp2_ = g_strdup ("name");
340 	_tmp3_ = g_strdup (name);
341 	_tmp4_ = g_strdup ("link");
342 	_tmp5_ = g_strdup (link);
343 	_tmp6_ = g_new0 (gchar*, 6 + 1);
344 	_tmp6_[0] = _tmp0_;
345 	_tmp6_[1] = _tmp1_;
346 	_tmp6_[2] = _tmp2_;
347 	_tmp6_[3] = _tmp3_;
348 	_tmp6_[4] = _tmp4_;
349 	_tmp6_[5] = _tmp5_;
350 	_tmp7_ = _tmp6_;
351 	_tmp7__length1 = 6;
352 	valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) self, "keyword", _tmp7_, (gint) 6);
353 	_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
354 	valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) self, "keyword");
355 	result = self;
356 	return result;
357 }
358 
359 static void
valadoc_devhelp_markup_writer_class_init(ValadocDevhelpMarkupWriterClass * klass,gpointer klass_data)360 valadoc_devhelp_markup_writer_class_init (ValadocDevhelpMarkupWriterClass * klass,
361                                           gpointer klass_data)
362 {
363 	valadoc_devhelp_markup_writer_parent_class = g_type_class_peek_parent (klass);
364 	((ValadocMarkupWriterClass *) klass)->inline_element = (gboolean (*) (ValadocMarkupWriter*, const gchar*)) valadoc_devhelp_markup_writer_real_inline_element;
365 	((ValadocMarkupWriterClass *) klass)->content_inline_element = (gboolean (*) (ValadocMarkupWriter*, const gchar*)) valadoc_devhelp_markup_writer_real_content_inline_element;
366 }
367 
368 static void
valadoc_devhelp_markup_writer_instance_init(ValadocDevhelpMarkupWriter * self,gpointer klass)369 valadoc_devhelp_markup_writer_instance_init (ValadocDevhelpMarkupWriter * self,
370                                              gpointer klass)
371 {
372 }
373 
374 static GType
valadoc_devhelp_markup_writer_get_type_once(void)375 valadoc_devhelp_markup_writer_get_type_once (void)
376 {
377 	static const GTypeInfo g_define_type_info = { sizeof (ValadocDevhelpMarkupWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_devhelp_markup_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocDevhelpMarkupWriter), 0, (GInstanceInitFunc) valadoc_devhelp_markup_writer_instance_init, NULL };
378 	GType valadoc_devhelp_markup_writer_type_id;
379 	valadoc_devhelp_markup_writer_type_id = g_type_register_static (VALADOC_TYPE_MARKUP_WRITER, "ValadocDevhelpMarkupWriter", &g_define_type_info, 0);
380 	return valadoc_devhelp_markup_writer_type_id;
381 }
382 
383 GType
valadoc_devhelp_markup_writer_get_type(void)384 valadoc_devhelp_markup_writer_get_type (void)
385 {
386 	static volatile gsize valadoc_devhelp_markup_writer_type_id__volatile = 0;
387 	if (g_once_init_enter (&valadoc_devhelp_markup_writer_type_id__volatile)) {
388 		GType valadoc_devhelp_markup_writer_type_id;
389 		valadoc_devhelp_markup_writer_type_id = valadoc_devhelp_markup_writer_get_type_once ();
390 		g_once_init_leave (&valadoc_devhelp_markup_writer_type_id__volatile, valadoc_devhelp_markup_writer_type_id);
391 	}
392 	return valadoc_devhelp_markup_writer_type_id__volatile;
393 }
394 
395 static void
_vala_array_destroy(gpointer array,gint array_length,GDestroyNotify destroy_func)396 _vala_array_destroy (gpointer array,
397                      gint array_length,
398                      GDestroyNotify destroy_func)
399 {
400 	if ((array != NULL) && (destroy_func != NULL)) {
401 		gint i;
402 		for (i = 0; i < array_length; i = i + 1) {
403 			if (((gpointer*) array)[i] != NULL) {
404 				destroy_func (((gpointer*) array)[i]);
405 			}
406 		}
407 	}
408 }
409 
410 static void
_vala_array_free(gpointer array,gint array_length,GDestroyNotify destroy_func)411 _vala_array_free (gpointer array,
412                   gint array_length,
413                   GDestroyNotify destroy_func)
414 {
415 	_vala_array_destroy (array, array_length, destroy_func);
416 	g_free (array);
417 }
418 
419