1 /* table.c generated by valac, the Vala compiler
2  * generated from table.vala, do not modify */
3 
4 /* table.vala
5  *
6  * Copyright (C) 2008-2009 Didier Villevalois
7  * Copyright (C) 2008-2012 Florian Brosch
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
22  *
23  * Author:
24  * 	Didier 'Ptitjes Villevalois <ptitjes@free.fr>
25  */
26 
27 #include "valadoc.h"
28 #include <valagee.h>
29 #include <glib-object.h>
30 #include <stdlib.h>
31 #include <string.h>
32 #include <glib.h>
33 
34 enum  {
35 	VALADOC_CONTENT_TABLE_0_PROPERTY,
36 	VALADOC_CONTENT_TABLE_ROWS_PROPERTY,
37 	VALADOC_CONTENT_TABLE_NUM_PROPERTIES
38 };
39 static GParamSpec* valadoc_content_table_properties[VALADOC_CONTENT_TABLE_NUM_PROPERTIES];
40 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
41 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
42 
43 struct _ValadocContentTablePrivate {
44 	ValaList* _rows;
45 };
46 
47 static gint ValadocContentTable_private_offset;
48 static gpointer valadoc_content_table_parent_class = NULL;
49 static ValadocContentBlockIface * valadoc_content_table_valadoc_content_block_parent_iface = NULL;
50 
51 G_GNUC_INTERNAL ValadocContentTable* valadoc_content_table_new (void);
52 G_GNUC_INTERNAL ValadocContentTable* valadoc_content_table_construct (GType object_type);
53 static void valadoc_content_table_real_check (ValadocContentContentElement* base,
54                                        ValadocApiTree* api_root,
55                                        ValadocApiNode* container,
56                                        const gchar* file_path,
57                                        ValadocErrorReporter* reporter,
58                                        ValadocSettings* settings);
59 G_GNUC_INTERNAL void valadoc_content_content_element_set_parent (ValadocContentContentElement* self,
60                                                  ValadocContentContentElement* value);
61 static void valadoc_content_table_real_accept (ValadocContentContentElement* base,
62                                         ValadocContentContentVisitor* visitor);
63 static void valadoc_content_table_real_accept_children (ValadocContentContentElement* base,
64                                                  ValadocContentContentVisitor* visitor);
65 static gboolean valadoc_content_table_real_is_empty (ValadocContentContentElement* base);
66 static ValadocContentContentElement* valadoc_content_table_real_copy (ValadocContentContentElement* base,
67                                                                ValadocContentContentElement* new_parent);
68 static void valadoc_content_table_finalize (GObject * obj);
69 static GType valadoc_content_table_get_type_once (void);
70 static void _vala_valadoc_content_table_get_property (GObject * object,
71                                                guint property_id,
72                                                GValue * value,
73                                                GParamSpec * pspec);
74 
75 static inline gpointer
valadoc_content_table_get_instance_private(ValadocContentTable * self)76 valadoc_content_table_get_instance_private (ValadocContentTable* self)
77 {
78 	return G_STRUCT_MEMBER_P (self, ValadocContentTable_private_offset);
79 }
80 
81 ValaList*
valadoc_content_table_get_rows(ValadocContentTable * self)82 valadoc_content_table_get_rows (ValadocContentTable* self)
83 {
84 	ValaList* result;
85 	ValaList* _tmp0_;
86 	g_return_val_if_fail (self != NULL, NULL);
87 	_tmp0_ = self->priv->_rows;
88 	result = _tmp0_;
89 	return result;
90 }
91 
92 G_GNUC_INTERNAL ValadocContentTable*
valadoc_content_table_construct(GType object_type)93 valadoc_content_table_construct (GType object_type)
94 {
95 	ValadocContentTable * self = NULL;
96 	GEqualFunc _tmp0_;
97 	ValaArrayList* _tmp1_;
98 	self = (ValadocContentTable*) valadoc_content_content_element_construct (object_type);
99 	_tmp0_ = g_direct_equal;
100 	_tmp1_ = vala_array_list_new (VALADOC_CONTENT_TYPE_TABLE_ROW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp0_);
101 	_vala_iterable_unref0 (self->priv->_rows);
102 	self->priv->_rows = (ValaList*) _tmp1_;
103 	return self;
104 }
105 
106 G_GNUC_INTERNAL ValadocContentTable*
valadoc_content_table_new(void)107 valadoc_content_table_new (void)
108 {
109 	return valadoc_content_table_construct (VALADOC_CONTENT_TYPE_TABLE);
110 }
111 
112 static gpointer
_vala_iterable_ref0(gpointer self)113 _vala_iterable_ref0 (gpointer self)
114 {
115 	return self ? vala_iterable_ref (self) : NULL;
116 }
117 
118 static void
valadoc_content_table_real_check(ValadocContentContentElement * base,ValadocApiTree * api_root,ValadocApiNode * container,const gchar * file_path,ValadocErrorReporter * reporter,ValadocSettings * settings)119 valadoc_content_table_real_check (ValadocContentContentElement* base,
120                                   ValadocApiTree* api_root,
121                                   ValadocApiNode* container,
122                                   const gchar* file_path,
123                                   ValadocErrorReporter* reporter,
124                                   ValadocSettings* settings)
125 {
126 	ValadocContentTable * self;
127 	self = (ValadocContentTable*) base;
128 	g_return_if_fail (api_root != NULL);
129 	g_return_if_fail (container != NULL);
130 	g_return_if_fail (file_path != NULL);
131 	g_return_if_fail (reporter != NULL);
132 	g_return_if_fail (settings != NULL);
133 	{
134 		ValaList* _row_list = NULL;
135 		ValaList* _tmp0_;
136 		ValaList* _tmp1_;
137 		gint _row_size = 0;
138 		ValaList* _tmp2_;
139 		gint _tmp3_;
140 		gint _tmp4_;
141 		gint _row_index = 0;
142 		_tmp0_ = self->priv->_rows;
143 		_tmp1_ = _vala_iterable_ref0 (_tmp0_);
144 		_row_list = _tmp1_;
145 		_tmp2_ = _row_list;
146 		_tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_);
147 		_tmp4_ = _tmp3_;
148 		_row_size = _tmp4_;
149 		_row_index = -1;
150 		while (TRUE) {
151 			gint _tmp5_;
152 			gint _tmp6_;
153 			ValadocContentTableRow* row = NULL;
154 			ValaList* _tmp7_;
155 			gpointer _tmp8_;
156 			ValadocContentTableRow* _tmp9_;
157 			ValadocContentTableRow* _tmp10_;
158 			_row_index = _row_index + 1;
159 			_tmp5_ = _row_index;
160 			_tmp6_ = _row_size;
161 			if (!(_tmp5_ < _tmp6_)) {
162 				break;
163 			}
164 			_tmp7_ = _row_list;
165 			_tmp8_ = vala_list_get (_tmp7_, _row_index);
166 			row = (ValadocContentTableRow*) _tmp8_;
167 			_tmp9_ = row;
168 			valadoc_content_content_element_set_parent ((ValadocContentContentElement*) _tmp9_, (ValadocContentContentElement*) self);
169 			_tmp10_ = row;
170 			valadoc_content_content_element_check ((ValadocContentContentElement*) _tmp10_, api_root, container, file_path, reporter, settings);
171 			_g_object_unref0 (row);
172 		}
173 		_vala_iterable_unref0 (_row_list);
174 	}
175 }
176 
177 static void
valadoc_content_table_real_accept(ValadocContentContentElement * base,ValadocContentContentVisitor * visitor)178 valadoc_content_table_real_accept (ValadocContentContentElement* base,
179                                    ValadocContentContentVisitor* visitor)
180 {
181 	ValadocContentTable * self;
182 	self = (ValadocContentTable*) base;
183 	g_return_if_fail (visitor != NULL);
184 	valadoc_content_content_visitor_visit_table (visitor, self);
185 }
186 
187 static void
valadoc_content_table_real_accept_children(ValadocContentContentElement * base,ValadocContentContentVisitor * visitor)188 valadoc_content_table_real_accept_children (ValadocContentContentElement* base,
189                                             ValadocContentContentVisitor* visitor)
190 {
191 	ValadocContentTable * self;
192 	self = (ValadocContentTable*) base;
193 	g_return_if_fail (visitor != NULL);
194 	{
195 		ValaList* _element_list = NULL;
196 		ValaList* _tmp0_;
197 		ValaList* _tmp1_;
198 		gint _element_size = 0;
199 		ValaList* _tmp2_;
200 		gint _tmp3_;
201 		gint _tmp4_;
202 		gint _element_index = 0;
203 		_tmp0_ = self->priv->_rows;
204 		_tmp1_ = _vala_iterable_ref0 (_tmp0_);
205 		_element_list = _tmp1_;
206 		_tmp2_ = _element_list;
207 		_tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_);
208 		_tmp4_ = _tmp3_;
209 		_element_size = _tmp4_;
210 		_element_index = -1;
211 		while (TRUE) {
212 			gint _tmp5_;
213 			gint _tmp6_;
214 			ValadocContentTableRow* element = NULL;
215 			ValaList* _tmp7_;
216 			gpointer _tmp8_;
217 			ValadocContentTableRow* _tmp9_;
218 			_element_index = _element_index + 1;
219 			_tmp5_ = _element_index;
220 			_tmp6_ = _element_size;
221 			if (!(_tmp5_ < _tmp6_)) {
222 				break;
223 			}
224 			_tmp7_ = _element_list;
225 			_tmp8_ = vala_list_get (_tmp7_, _element_index);
226 			element = (ValadocContentTableRow*) _tmp8_;
227 			_tmp9_ = element;
228 			valadoc_content_content_element_accept ((ValadocContentContentElement*) _tmp9_, visitor);
229 			_g_object_unref0 (element);
230 		}
231 		_vala_iterable_unref0 (_element_list);
232 	}
233 }
234 
235 static gboolean
valadoc_content_table_real_is_empty(ValadocContentContentElement * base)236 valadoc_content_table_real_is_empty (ValadocContentContentElement* base)
237 {
238 	ValadocContentTable * self;
239 	gboolean result = FALSE;
240 	self = (ValadocContentTable*) base;
241 	result = FALSE;
242 	return result;
243 }
244 
245 static ValadocContentContentElement*
valadoc_content_table_real_copy(ValadocContentContentElement * base,ValadocContentContentElement * new_parent)246 valadoc_content_table_real_copy (ValadocContentContentElement* base,
247                                  ValadocContentContentElement* new_parent)
248 {
249 	ValadocContentTable * self;
250 	ValadocContentTable* table = NULL;
251 	ValadocContentTable* _tmp0_;
252 	ValadocContentTable* _tmp1_;
253 	ValadocContentContentElement* result = NULL;
254 	self = (ValadocContentTable*) base;
255 	_tmp0_ = valadoc_content_table_new ();
256 	table = _tmp0_;
257 	_tmp1_ = table;
258 	valadoc_content_content_element_set_parent ((ValadocContentContentElement*) _tmp1_, new_parent);
259 	{
260 		ValaList* _row_list = NULL;
261 		ValaList* _tmp2_;
262 		ValaList* _tmp3_;
263 		gint _row_size = 0;
264 		ValaList* _tmp4_;
265 		gint _tmp5_;
266 		gint _tmp6_;
267 		gint _row_index = 0;
268 		_tmp2_ = self->priv->_rows;
269 		_tmp3_ = _vala_iterable_ref0 (_tmp2_);
270 		_row_list = _tmp3_;
271 		_tmp4_ = _row_list;
272 		_tmp5_ = vala_collection_get_size ((ValaCollection*) _tmp4_);
273 		_tmp6_ = _tmp5_;
274 		_row_size = _tmp6_;
275 		_row_index = -1;
276 		while (TRUE) {
277 			gint _tmp7_;
278 			gint _tmp8_;
279 			ValadocContentTableRow* row = NULL;
280 			ValaList* _tmp9_;
281 			gpointer _tmp10_;
282 			ValadocContentTableRow* copy = NULL;
283 			ValadocContentTableRow* _tmp11_;
284 			ValadocContentTable* _tmp12_;
285 			ValadocContentContentElement* _tmp13_;
286 			ValadocContentTableRow* _tmp14_;
287 			ValadocContentTable* _tmp15_;
288 			ValaList* _tmp16_;
289 			ValaList* _tmp17_;
290 			ValadocContentTableRow* _tmp18_;
291 			_row_index = _row_index + 1;
292 			_tmp7_ = _row_index;
293 			_tmp8_ = _row_size;
294 			if (!(_tmp7_ < _tmp8_)) {
295 				break;
296 			}
297 			_tmp9_ = _row_list;
298 			_tmp10_ = vala_list_get (_tmp9_, _row_index);
299 			row = (ValadocContentTableRow*) _tmp10_;
300 			_tmp11_ = row;
301 			_tmp12_ = table;
302 			_tmp13_ = valadoc_content_content_element_copy ((ValadocContentContentElement*) _tmp11_, (ValadocContentContentElement*) _tmp12_);
303 			_tmp14_ = VALADOC_CONTENT_IS_TABLE_ROW (_tmp13_) ? ((ValadocContentTableRow*) _tmp13_) : NULL;
304 			if (_tmp14_ == NULL) {
305 				_g_object_unref0 (_tmp13_);
306 			}
307 			copy = _tmp14_;
308 			_tmp15_ = table;
309 			_tmp16_ = valadoc_content_table_get_rows (_tmp15_);
310 			_tmp17_ = _tmp16_;
311 			_tmp18_ = copy;
312 			vala_collection_add ((ValaCollection*) _tmp17_, _tmp18_);
313 			_g_object_unref0 (copy);
314 			_g_object_unref0 (row);
315 		}
316 		_vala_iterable_unref0 (_row_list);
317 	}
318 	result = (ValadocContentContentElement*) table;
319 	return result;
320 }
321 
322 static void
valadoc_content_table_class_init(ValadocContentTableClass * klass,gpointer klass_data)323 valadoc_content_table_class_init (ValadocContentTableClass * klass,
324                                   gpointer klass_data)
325 {
326 	valadoc_content_table_parent_class = g_type_class_peek_parent (klass);
327 	g_type_class_adjust_private_offset (klass, &ValadocContentTable_private_offset);
328 	((ValadocContentContentElementClass *) klass)->check = (void (*) (ValadocContentContentElement*, ValadocApiTree*, ValadocApiNode*, const gchar*, ValadocErrorReporter*, ValadocSettings*)) valadoc_content_table_real_check;
329 	((ValadocContentContentElementClass *) klass)->accept = (void (*) (ValadocContentContentElement*, ValadocContentContentVisitor*)) valadoc_content_table_real_accept;
330 	((ValadocContentContentElementClass *) klass)->accept_children = (void (*) (ValadocContentContentElement*, ValadocContentContentVisitor*)) valadoc_content_table_real_accept_children;
331 	((ValadocContentContentElementClass *) klass)->is_empty = (gboolean (*) (ValadocContentContentElement*)) valadoc_content_table_real_is_empty;
332 	((ValadocContentContentElementClass *) klass)->copy = (ValadocContentContentElement* (*) (ValadocContentContentElement*, ValadocContentContentElement*)) valadoc_content_table_real_copy;
333 	G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_content_table_get_property;
334 	G_OBJECT_CLASS (klass)->finalize = valadoc_content_table_finalize;
335 	g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_CONTENT_TABLE_ROWS_PROPERTY, valadoc_content_table_properties[VALADOC_CONTENT_TABLE_ROWS_PROPERTY] = vala_param_spec_iterable ("rows", "rows", "rows", VALA_TYPE_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
336 }
337 
338 static void
valadoc_content_table_valadoc_content_block_interface_init(ValadocContentBlockIface * iface,gpointer iface_data)339 valadoc_content_table_valadoc_content_block_interface_init (ValadocContentBlockIface * iface,
340                                                             gpointer iface_data)
341 {
342 	valadoc_content_table_valadoc_content_block_parent_iface = g_type_interface_peek_parent (iface);
343 }
344 
345 static void
valadoc_content_table_instance_init(ValadocContentTable * self,gpointer klass)346 valadoc_content_table_instance_init (ValadocContentTable * self,
347                                      gpointer klass)
348 {
349 	self->priv = valadoc_content_table_get_instance_private (self);
350 }
351 
352 static void
valadoc_content_table_finalize(GObject * obj)353 valadoc_content_table_finalize (GObject * obj)
354 {
355 	ValadocContentTable * self;
356 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_CONTENT_TYPE_TABLE, ValadocContentTable);
357 	_vala_iterable_unref0 (self->priv->_rows);
358 	G_OBJECT_CLASS (valadoc_content_table_parent_class)->finalize (obj);
359 }
360 
361 static GType
valadoc_content_table_get_type_once(void)362 valadoc_content_table_get_type_once (void)
363 {
364 	static const GTypeInfo g_define_type_info = { sizeof (ValadocContentTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_content_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocContentTable), 0, (GInstanceInitFunc) valadoc_content_table_instance_init, NULL };
365 	static const GInterfaceInfo valadoc_content_block_info = { (GInterfaceInitFunc) valadoc_content_table_valadoc_content_block_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
366 	GType valadoc_content_table_type_id;
367 	valadoc_content_table_type_id = g_type_register_static (VALADOC_CONTENT_TYPE_CONTENT_ELEMENT, "ValadocContentTable", &g_define_type_info, 0);
368 	g_type_add_interface_static (valadoc_content_table_type_id, VALADOC_CONTENT_TYPE_BLOCK, &valadoc_content_block_info);
369 	ValadocContentTable_private_offset = g_type_add_instance_private (valadoc_content_table_type_id, sizeof (ValadocContentTablePrivate));
370 	return valadoc_content_table_type_id;
371 }
372 
373 GType
valadoc_content_table_get_type(void)374 valadoc_content_table_get_type (void)
375 {
376 	static volatile gsize valadoc_content_table_type_id__volatile = 0;
377 	if (g_once_init_enter (&valadoc_content_table_type_id__volatile)) {
378 		GType valadoc_content_table_type_id;
379 		valadoc_content_table_type_id = valadoc_content_table_get_type_once ();
380 		g_once_init_leave (&valadoc_content_table_type_id__volatile, valadoc_content_table_type_id);
381 	}
382 	return valadoc_content_table_type_id__volatile;
383 }
384 
385 static void
_vala_valadoc_content_table_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)386 _vala_valadoc_content_table_get_property (GObject * object,
387                                           guint property_id,
388                                           GValue * value,
389                                           GParamSpec * pspec)
390 {
391 	ValadocContentTable * self;
392 	self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_CONTENT_TYPE_TABLE, ValadocContentTable);
393 	switch (property_id) {
394 		case VALADOC_CONTENT_TABLE_ROWS_PROPERTY:
395 		vala_value_set_iterable (value, valadoc_content_table_get_rows (self));
396 		break;
397 		default:
398 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
399 		break;
400 	}
401 }
402 
403