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