1 /* gtkdocmarkupwriter.c generated by valac, the Vala compiler
2 * generated from gtkdocmarkupwriter.vala, do not modify */
3
4 /* gtkdocmarkupwriter.vala
5 *
6 * Copyright (C) 2012 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 <glib.h>
28 #include <stdlib.h>
29 #include <string.h>
30
31 typedef struct _Block1Data Block1Data;
32 #define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
33 #define _valadoc_markup_writer_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_markup_writer_unref (var), NULL)))
34
35 struct _ValadocGtkDocMarkupWriterPrivate {
36 GString* builder;
37 };
38
39 struct _Block1Data {
40 int _ref_count_;
41 ValadocGtkDocMarkupWriter* self;
42 GString* builder;
43 };
44
45 static gint ValadocGtkDocMarkupWriter_private_offset;
46 static gpointer valadoc_gtk_doc_markup_writer_parent_class = NULL;
47
48 static Block1Data* block1_data_ref (Block1Data* _data1_);
49 static void block1_data_unref (void * _userdata_);
50 static void __lambda131_ (Block1Data* _data1_,
51 const gchar* str);
52 static void ___lambda131__valadoc_markup_writer_write_func (const gchar* text,
53 gpointer self);
54 static gboolean valadoc_gtk_doc_markup_writer_real_inline_element (ValadocMarkupWriter* base,
55 const gchar* name);
56 static gboolean valadoc_gtk_doc_markup_writer_real_content_inline_element (ValadocMarkupWriter* base,
57 const gchar* name);
58 static void valadoc_gtk_doc_markup_writer_finalize (ValadocMarkupWriter * obj);
59 static GType valadoc_gtk_doc_markup_writer_get_type_once (void);
60
61 static inline gpointer
valadoc_gtk_doc_markup_writer_get_instance_private(ValadocGtkDocMarkupWriter * self)62 valadoc_gtk_doc_markup_writer_get_instance_private (ValadocGtkDocMarkupWriter* self)
63 {
64 return G_STRUCT_MEMBER_P (self, ValadocGtkDocMarkupWriter_private_offset);
65 }
66
67 void
valadoc_gtk_doc_markup_writer_reset(ValadocGtkDocMarkupWriter * self)68 valadoc_gtk_doc_markup_writer_reset (ValadocGtkDocMarkupWriter* self)
69 {
70 GString* _tmp0_;
71 g_return_if_fail (self != NULL);
72 ((ValadocMarkupWriter*) self)->last_was_tag = TRUE;
73 ((ValadocMarkupWriter*) self)->current_column = (glong) 0;
74 _tmp0_ = self->priv->builder;
75 g_string_erase (_tmp0_, (gssize) 0, (gssize) -1);
76 ((ValadocMarkupWriter*) self)->indent = -1;
77 }
78
79 const gchar*
valadoc_gtk_doc_markup_writer_get_content(ValadocGtkDocMarkupWriter * self)80 valadoc_gtk_doc_markup_writer_get_content (ValadocGtkDocMarkupWriter* self)
81 {
82 const gchar* result;
83 GString* _tmp0_;
84 const gchar* _tmp1_;
85 g_return_val_if_fail (self != NULL, NULL);
86 _tmp0_ = self->priv->builder;
87 _tmp1_ = _tmp0_->str;
88 result = _tmp1_;
89 return result;
90 }
91
92 static Block1Data*
block1_data_ref(Block1Data * _data1_)93 block1_data_ref (Block1Data* _data1_)
94 {
95 g_atomic_int_inc (&_data1_->_ref_count_);
96 return _data1_;
97 }
98
99 static void
block1_data_unref(void * _userdata_)100 block1_data_unref (void * _userdata_)
101 {
102 Block1Data* _data1_;
103 _data1_ = (Block1Data*) _userdata_;
104 if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
105 ValadocGtkDocMarkupWriter* self;
106 self = _data1_->self;
107 _g_string_free0 (_data1_->builder);
108 _valadoc_markup_writer_unref0 (self);
109 g_slice_free (Block1Data, _data1_);
110 }
111 }
112
113 static void
__lambda131_(Block1Data * _data1_,const gchar * str)114 __lambda131_ (Block1Data* _data1_,
115 const gchar* str)
116 {
117 ValadocGtkDocMarkupWriter* self;
118 self = _data1_->self;
119 g_return_if_fail (str != NULL);
120 g_string_append (_data1_->builder, str);
121 }
122
123 static void
___lambda131__valadoc_markup_writer_write_func(const gchar * text,gpointer self)124 ___lambda131__valadoc_markup_writer_write_func (const gchar* text,
125 gpointer self)
126 {
127 __lambda131_ (self, text);
128 }
129
130 ValadocGtkDocMarkupWriter*
valadoc_gtk_doc_markup_writer_construct(GType object_type)131 valadoc_gtk_doc_markup_writer_construct (GType object_type)
132 {
133 ValadocGtkDocMarkupWriter* self = NULL;
134 Block1Data* _data1_;
135 GString* _tmp0_;
136 _data1_ = g_slice_new0 (Block1Data);
137 _data1_->_ref_count_ = 1;
138 _tmp0_ = g_string_new ("");
139 _data1_->builder = _tmp0_;
140 self = (ValadocGtkDocMarkupWriter*) valadoc_markup_writer_construct (object_type, ___lambda131__valadoc_markup_writer_write_func, block1_data_ref (_data1_), block1_data_unref, FALSE);
141 _data1_->self = valadoc_markup_writer_ref (self);
142 self->priv->builder = _data1_->builder;
143 block1_data_unref (_data1_);
144 _data1_ = NULL;
145 return self;
146 }
147
148 ValadocGtkDocMarkupWriter*
valadoc_gtk_doc_markup_writer_new(void)149 valadoc_gtk_doc_markup_writer_new (void)
150 {
151 return valadoc_gtk_doc_markup_writer_construct (VALADOC_TYPE_GTK_DOC_MARKUP_WRITER);
152 }
153
154 static gboolean
valadoc_gtk_doc_markup_writer_real_inline_element(ValadocMarkupWriter * base,const gchar * name)155 valadoc_gtk_doc_markup_writer_real_inline_element (ValadocMarkupWriter* base,
156 const gchar* name)
157 {
158 ValadocGtkDocMarkupWriter * self;
159 gboolean _tmp0_ = FALSE;
160 gboolean _tmp1_ = FALSE;
161 gboolean _tmp2_ = FALSE;
162 gboolean _tmp3_ = FALSE;
163 gboolean _tmp4_ = FALSE;
164 gboolean _tmp5_ = FALSE;
165 gboolean _tmp6_ = FALSE;
166 gboolean _tmp7_ = FALSE;
167 gboolean _tmp8_ = FALSE;
168 gboolean _tmp9_ = FALSE;
169 gboolean _tmp10_ = FALSE;
170 gboolean _tmp11_ = FALSE;
171 gboolean _tmp12_ = FALSE;
172 gboolean result = FALSE;
173 self = (ValadocGtkDocMarkupWriter*) base;
174 g_return_val_if_fail (name != NULL, FALSE);
175 if (g_strcmp0 (name, "para") != 0) {
176 _tmp12_ = g_strcmp0 (name, "programlisting") != 0;
177 } else {
178 _tmp12_ = FALSE;
179 }
180 if (_tmp12_) {
181 _tmp11_ = g_strcmp0 (name, "table") != 0;
182 } else {
183 _tmp11_ = FALSE;
184 }
185 if (_tmp11_) {
186 _tmp10_ = g_strcmp0 (name, "example") != 0;
187 } else {
188 _tmp10_ = FALSE;
189 }
190 if (_tmp10_) {
191 _tmp9_ = g_strcmp0 (name, "figure") != 0;
192 } else {
193 _tmp9_ = FALSE;
194 }
195 if (_tmp9_) {
196 _tmp8_ = g_strcmp0 (name, "tr") != 0;
197 } else {
198 _tmp8_ = FALSE;
199 }
200 if (_tmp8_) {
201 _tmp7_ = g_strcmp0 (name, "td") != 0;
202 } else {
203 _tmp7_ = FALSE;
204 }
205 if (_tmp7_) {
206 _tmp6_ = g_strcmp0 (name, "mediaobject") != 0;
207 } else {
208 _tmp6_ = FALSE;
209 }
210 if (_tmp6_) {
211 _tmp5_ = g_strcmp0 (name, "imageobject") != 0;
212 } else {
213 _tmp5_ = FALSE;
214 }
215 if (_tmp5_) {
216 _tmp4_ = g_strcmp0 (name, "textobject") != 0;
217 } else {
218 _tmp4_ = FALSE;
219 }
220 if (_tmp4_) {
221 _tmp3_ = g_strcmp0 (name, "listitem") != 0;
222 } else {
223 _tmp3_ = FALSE;
224 }
225 if (_tmp3_) {
226 _tmp2_ = g_strcmp0 (name, "orderedlist") != 0;
227 } else {
228 _tmp2_ = FALSE;
229 }
230 if (_tmp2_) {
231 _tmp1_ = g_strcmp0 (name, "itemizedlist") != 0;
232 } else {
233 _tmp1_ = FALSE;
234 }
235 if (_tmp1_) {
236 _tmp0_ = g_strcmp0 (name, "title") != 0;
237 } else {
238 _tmp0_ = FALSE;
239 }
240 result = _tmp0_;
241 return result;
242 }
243
244 static gboolean
valadoc_gtk_doc_markup_writer_real_content_inline_element(ValadocMarkupWriter * base,const gchar * name)245 valadoc_gtk_doc_markup_writer_real_content_inline_element (ValadocMarkupWriter* base,
246 const gchar* name)
247 {
248 ValadocGtkDocMarkupWriter * self;
249 gboolean _tmp0_ = FALSE;
250 gboolean _tmp1_ = FALSE;
251 gboolean _tmp2_ = FALSE;
252 gboolean _tmp3_ = FALSE;
253 gboolean _tmp4_ = FALSE;
254 gboolean _tmp5_ = FALSE;
255 gboolean result = FALSE;
256 self = (ValadocGtkDocMarkupWriter*) base;
257 g_return_val_if_fail (name != NULL, FALSE);
258 if (g_strcmp0 (name, "para") == 0) {
259 _tmp5_ = TRUE;
260 } else {
261 _tmp5_ = g_strcmp0 (name, "programlisting") == 0;
262 }
263 if (_tmp5_) {
264 _tmp4_ = TRUE;
265 } else {
266 _tmp4_ = g_strcmp0 (name, "emphasis") == 0;
267 }
268 if (_tmp4_) {
269 _tmp3_ = TRUE;
270 } else {
271 _tmp3_ = g_strcmp0 (name, "blockquote") == 0;
272 }
273 if (_tmp3_) {
274 _tmp2_ = TRUE;
275 } else {
276 _tmp2_ = g_strcmp0 (name, "ulink") == 0;
277 }
278 if (_tmp2_) {
279 _tmp1_ = TRUE;
280 } else {
281 _tmp1_ = g_strcmp0 (name, "listitem") == 0;
282 }
283 if (_tmp1_) {
284 _tmp0_ = TRUE;
285 } else {
286 _tmp0_ = g_strcmp0 (name, "title") == 0;
287 }
288 result = _tmp0_;
289 return result;
290 }
291
292 static void
valadoc_gtk_doc_markup_writer_class_init(ValadocGtkDocMarkupWriterClass * klass,gpointer klass_data)293 valadoc_gtk_doc_markup_writer_class_init (ValadocGtkDocMarkupWriterClass * klass,
294 gpointer klass_data)
295 {
296 valadoc_gtk_doc_markup_writer_parent_class = g_type_class_peek_parent (klass);
297 ((ValadocMarkupWriterClass *) klass)->finalize = valadoc_gtk_doc_markup_writer_finalize;
298 g_type_class_adjust_private_offset (klass, &ValadocGtkDocMarkupWriter_private_offset);
299 ((ValadocMarkupWriterClass *) klass)->inline_element = (gboolean (*) (ValadocMarkupWriter*, const gchar*)) valadoc_gtk_doc_markup_writer_real_inline_element;
300 ((ValadocMarkupWriterClass *) klass)->content_inline_element = (gboolean (*) (ValadocMarkupWriter*, const gchar*)) valadoc_gtk_doc_markup_writer_real_content_inline_element;
301 }
302
303 static void
valadoc_gtk_doc_markup_writer_instance_init(ValadocGtkDocMarkupWriter * self,gpointer klass)304 valadoc_gtk_doc_markup_writer_instance_init (ValadocGtkDocMarkupWriter * self,
305 gpointer klass)
306 {
307 self->priv = valadoc_gtk_doc_markup_writer_get_instance_private (self);
308 }
309
310 static void
valadoc_gtk_doc_markup_writer_finalize(ValadocMarkupWriter * obj)311 valadoc_gtk_doc_markup_writer_finalize (ValadocMarkupWriter * obj)
312 {
313 ValadocGtkDocMarkupWriter * self;
314 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_TYPE_GTK_DOC_MARKUP_WRITER, ValadocGtkDocMarkupWriter);
315 VALADOC_MARKUP_WRITER_CLASS (valadoc_gtk_doc_markup_writer_parent_class)->finalize (obj);
316 }
317
318 static GType
valadoc_gtk_doc_markup_writer_get_type_once(void)319 valadoc_gtk_doc_markup_writer_get_type_once (void)
320 {
321 static const GTypeInfo g_define_type_info = { sizeof (ValadocGtkDocMarkupWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_gtk_doc_markup_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocGtkDocMarkupWriter), 0, (GInstanceInitFunc) valadoc_gtk_doc_markup_writer_instance_init, NULL };
322 GType valadoc_gtk_doc_markup_writer_type_id;
323 valadoc_gtk_doc_markup_writer_type_id = g_type_register_static (VALADOC_TYPE_MARKUP_WRITER, "ValadocGtkDocMarkupWriter", &g_define_type_info, 0);
324 ValadocGtkDocMarkupWriter_private_offset = g_type_add_instance_private (valadoc_gtk_doc_markup_writer_type_id, sizeof (ValadocGtkDocMarkupWriterPrivate));
325 return valadoc_gtk_doc_markup_writer_type_id;
326 }
327
328 GType
valadoc_gtk_doc_markup_writer_get_type(void)329 valadoc_gtk_doc_markup_writer_get_type (void)
330 {
331 static volatile gsize valadoc_gtk_doc_markup_writer_type_id__volatile = 0;
332 if (g_once_init_enter (&valadoc_gtk_doc_markup_writer_type_id__volatile)) {
333 GType valadoc_gtk_doc_markup_writer_type_id;
334 valadoc_gtk_doc_markup_writer_type_id = valadoc_gtk_doc_markup_writer_get_type_once ();
335 g_once_init_leave (&valadoc_gtk_doc_markup_writer_type_id__volatile, valadoc_gtk_doc_markup_writer_type_id);
336 }
337 return valadoc_gtk_doc_markup_writer_type_id__volatile;
338 }
339
340