1 /* note.c generated by valac, the Vala compiler
2  * generated from note.vala, do not modify */
3 
4 /* note.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 <stdlib.h>
29 #include <string.h>
30 #include <glib.h>
31 #include <valagee.h>
32 #include <glib-object.h>
33 
34 enum  {
35 	VALADOC_CONTENT_NOTE_0_PROPERTY,
36 	VALADOC_CONTENT_NOTE_NUM_PROPERTIES
37 };
38 static GParamSpec* valadoc_content_note_properties[VALADOC_CONTENT_NOTE_NUM_PROPERTIES];
39 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
40 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
41 
42 static gpointer valadoc_content_note_parent_class = NULL;
43 static ValadocContentBlockIface * valadoc_content_note_valadoc_content_block_parent_iface = NULL;
44 
45 G_GNUC_INTERNAL ValadocContentNote* valadoc_content_note_new (void);
46 G_GNUC_INTERNAL ValadocContentNote* valadoc_content_note_construct (GType object_type);
47 G_GNUC_INTERNAL ValadocContentBlockContent* valadoc_content_block_content_construct (GType object_type);
48 static void valadoc_content_note_real_check (ValadocContentContentElement* base,
49                                       ValadocApiTree* api_root,
50                                       ValadocApiNode* container,
51                                       const gchar* file_path,
52                                       ValadocErrorReporter* reporter,
53                                       ValadocSettings* settings);
54 static void valadoc_content_note_real_accept (ValadocContentContentElement* base,
55                                        ValadocContentContentVisitor* visitor);
56 static ValadocContentContentElement* valadoc_content_note_real_copy (ValadocContentContentElement* base,
57                                                               ValadocContentContentElement* new_parent);
58 G_GNUC_INTERNAL void valadoc_content_content_element_set_parent (ValadocContentContentElement* self,
59                                                  ValadocContentContentElement* value);
60 static GType valadoc_content_note_get_type_once (void);
61 
62 G_GNUC_INTERNAL ValadocContentNote*
valadoc_content_note_construct(GType object_type)63 valadoc_content_note_construct (GType object_type)
64 {
65 	ValadocContentNote * self = NULL;
66 	self = (ValadocContentNote*) valadoc_content_block_content_construct (object_type);
67 	return self;
68 }
69 
70 G_GNUC_INTERNAL ValadocContentNote*
valadoc_content_note_new(void)71 valadoc_content_note_new (void)
72 {
73 	return valadoc_content_note_construct (VALADOC_CONTENT_TYPE_NOTE);
74 }
75 
76 static void
valadoc_content_note_real_check(ValadocContentContentElement * base,ValadocApiTree * api_root,ValadocApiNode * container,const gchar * file_path,ValadocErrorReporter * reporter,ValadocSettings * settings)77 valadoc_content_note_real_check (ValadocContentContentElement* base,
78                                  ValadocApiTree* api_root,
79                                  ValadocApiNode* container,
80                                  const gchar* file_path,
81                                  ValadocErrorReporter* reporter,
82                                  ValadocSettings* settings)
83 {
84 	ValadocContentNote * self;
85 	self = (ValadocContentNote*) base;
86 	g_return_if_fail (api_root != NULL);
87 	g_return_if_fail (container != NULL);
88 	g_return_if_fail (file_path != NULL);
89 	g_return_if_fail (reporter != NULL);
90 	g_return_if_fail (settings != NULL);
91 	VALADOC_CONTENT_CONTENT_ELEMENT_CLASS (valadoc_content_note_parent_class)->check ((ValadocContentContentElement*) G_TYPE_CHECK_INSTANCE_CAST (self, VALADOC_CONTENT_TYPE_BLOCK_CONTENT, ValadocContentBlockContent), api_root, container, file_path, reporter, settings);
92 }
93 
94 static void
valadoc_content_note_real_accept(ValadocContentContentElement * base,ValadocContentContentVisitor * visitor)95 valadoc_content_note_real_accept (ValadocContentContentElement* base,
96                                   ValadocContentContentVisitor* visitor)
97 {
98 	ValadocContentNote * self;
99 	self = (ValadocContentNote*) base;
100 	g_return_if_fail (visitor != NULL);
101 	valadoc_content_content_visitor_visit_note (visitor, self);
102 }
103 
104 static gpointer
_vala_iterable_ref0(gpointer self)105 _vala_iterable_ref0 (gpointer self)
106 {
107 	return self ? vala_iterable_ref (self) : NULL;
108 }
109 
110 static ValadocContentContentElement*
valadoc_content_note_real_copy(ValadocContentContentElement * base,ValadocContentContentElement * new_parent)111 valadoc_content_note_real_copy (ValadocContentContentElement* base,
112                                 ValadocContentContentElement* new_parent)
113 {
114 	ValadocContentNote * self;
115 	ValadocContentNote* note = NULL;
116 	ValadocContentNote* _tmp0_;
117 	ValadocContentNote* _tmp1_;
118 	ValadocContentContentElement* result = NULL;
119 	self = (ValadocContentNote*) base;
120 	_tmp0_ = valadoc_content_note_new ();
121 	note = _tmp0_;
122 	_tmp1_ = note;
123 	valadoc_content_content_element_set_parent ((ValadocContentContentElement*) _tmp1_, new_parent);
124 	{
125 		ValaList* _block_list = NULL;
126 		ValaList* _tmp2_;
127 		ValaList* _tmp3_;
128 		ValaList* _tmp4_;
129 		gint _block_size = 0;
130 		ValaList* _tmp5_;
131 		gint _tmp6_;
132 		gint _tmp7_;
133 		gint _block_index = 0;
134 		_tmp2_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) self);
135 		_tmp3_ = _tmp2_;
136 		_tmp4_ = _vala_iterable_ref0 (_tmp3_);
137 		_block_list = _tmp4_;
138 		_tmp5_ = _block_list;
139 		_tmp6_ = vala_collection_get_size ((ValaCollection*) _tmp5_);
140 		_tmp7_ = _tmp6_;
141 		_block_size = _tmp7_;
142 		_block_index = -1;
143 		while (TRUE) {
144 			gint _tmp8_;
145 			gint _tmp9_;
146 			ValadocContentBlock* block = NULL;
147 			ValaList* _tmp10_;
148 			gpointer _tmp11_;
149 			ValadocContentBlock* copy = NULL;
150 			ValadocContentBlock* _tmp12_;
151 			ValadocContentNote* _tmp13_;
152 			ValadocContentContentElement* _tmp14_;
153 			ValadocContentBlock* _tmp15_;
154 			ValadocContentNote* _tmp16_;
155 			ValaList* _tmp17_;
156 			ValaList* _tmp18_;
157 			ValadocContentBlock* _tmp19_;
158 			_block_index = _block_index + 1;
159 			_tmp8_ = _block_index;
160 			_tmp9_ = _block_size;
161 			if (!(_tmp8_ < _tmp9_)) {
162 				break;
163 			}
164 			_tmp10_ = _block_list;
165 			_tmp11_ = vala_list_get (_tmp10_, _block_index);
166 			block = (ValadocContentBlock*) _tmp11_;
167 			_tmp12_ = block;
168 			_tmp13_ = note;
169 			_tmp14_ = valadoc_content_content_element_copy ((ValadocContentContentElement*) _tmp12_, (ValadocContentContentElement*) _tmp13_);
170 			_tmp15_ = VALADOC_CONTENT_IS_BLOCK (_tmp14_) ? ((ValadocContentBlock*) _tmp14_) : NULL;
171 			if (_tmp15_ == NULL) {
172 				_g_object_unref0 (_tmp14_);
173 			}
174 			copy = _tmp15_;
175 			_tmp16_ = note;
176 			_tmp17_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp16_);
177 			_tmp18_ = _tmp17_;
178 			_tmp19_ = copy;
179 			vala_collection_add ((ValaCollection*) _tmp18_, _tmp19_);
180 			_g_object_unref0 (copy);
181 			_g_object_unref0 (block);
182 		}
183 		_vala_iterable_unref0 (_block_list);
184 	}
185 	result = (ValadocContentContentElement*) note;
186 	return result;
187 }
188 
189 static void
valadoc_content_note_class_init(ValadocContentNoteClass * klass,gpointer klass_data)190 valadoc_content_note_class_init (ValadocContentNoteClass * klass,
191                                  gpointer klass_data)
192 {
193 	valadoc_content_note_parent_class = g_type_class_peek_parent (klass);
194 	((ValadocContentContentElementClass *) klass)->check = (void (*) (ValadocContentContentElement*, ValadocApiTree*, ValadocApiNode*, const gchar*, ValadocErrorReporter*, ValadocSettings*)) valadoc_content_note_real_check;
195 	((ValadocContentContentElementClass *) klass)->accept = (void (*) (ValadocContentContentElement*, ValadocContentContentVisitor*)) valadoc_content_note_real_accept;
196 	((ValadocContentContentElementClass *) klass)->copy = (ValadocContentContentElement* (*) (ValadocContentContentElement*, ValadocContentContentElement*)) valadoc_content_note_real_copy;
197 }
198 
199 static void
valadoc_content_note_valadoc_content_block_interface_init(ValadocContentBlockIface * iface,gpointer iface_data)200 valadoc_content_note_valadoc_content_block_interface_init (ValadocContentBlockIface * iface,
201                                                            gpointer iface_data)
202 {
203 	valadoc_content_note_valadoc_content_block_parent_iface = g_type_interface_peek_parent (iface);
204 }
205 
206 static void
valadoc_content_note_instance_init(ValadocContentNote * self,gpointer klass)207 valadoc_content_note_instance_init (ValadocContentNote * self,
208                                     gpointer klass)
209 {
210 }
211 
212 static GType
valadoc_content_note_get_type_once(void)213 valadoc_content_note_get_type_once (void)
214 {
215 	static const GTypeInfo g_define_type_info = { sizeof (ValadocContentNoteClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_content_note_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocContentNote), 0, (GInstanceInitFunc) valadoc_content_note_instance_init, NULL };
216 	static const GInterfaceInfo valadoc_content_block_info = { (GInterfaceInitFunc) valadoc_content_note_valadoc_content_block_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
217 	GType valadoc_content_note_type_id;
218 	valadoc_content_note_type_id = g_type_register_static (VALADOC_CONTENT_TYPE_BLOCK_CONTENT, "ValadocContentNote", &g_define_type_info, 0);
219 	g_type_add_interface_static (valadoc_content_note_type_id, VALADOC_CONTENT_TYPE_BLOCK, &valadoc_content_block_info);
220 	return valadoc_content_note_type_id;
221 }
222 
223 GType
valadoc_content_note_get_type(void)224 valadoc_content_note_get_type (void)
225 {
226 	static volatile gsize valadoc_content_note_type_id__volatile = 0;
227 	if (g_once_init_enter (&valadoc_content_note_type_id__volatile)) {
228 		GType valadoc_content_note_type_id;
229 		valadoc_content_note_type_id = valadoc_content_note_get_type_once ();
230 		g_once_init_leave (&valadoc_content_note_type_id__volatile, valadoc_content_note_type_id);
231 	}
232 	return valadoc_content_note_type_id__volatile;
233 }
234 
235