1 /* errordomain.c generated by valac, the Vala compiler
2  * generated from errordomain.vala, do not modify */
3 
4 /* errordomain.vala
5  *
6  * Copyright (C) 2008-2011  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 <vala.h>
31 #include <valacodegen.h>
32 
33 enum  {
34 	VALADOC_API_ERROR_DOMAIN_0_PROPERTY,
35 	VALADOC_API_ERROR_DOMAIN_NODE_TYPE_PROPERTY,
36 	VALADOC_API_ERROR_DOMAIN_NUM_PROPERTIES
37 };
38 static GParamSpec* valadoc_api_error_domain_properties[VALADOC_API_ERROR_DOMAIN_NUM_PROPERTIES];
39 #define _g_free0(var) (var = (g_free (var), NULL))
40 #define _valadoc_api_signature_builder_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_api_signature_builder_unref (var), NULL)))
41 
42 struct _ValadocApiErrorDomainPrivate {
43 	gchar* quark_function_name;
44 	gchar* quark_macro_name;
45 	gchar* dbus_name;
46 	gchar* cname;
47 };
48 
49 static gint ValadocApiErrorDomain_private_offset;
50 static gpointer valadoc_api_error_domain_parent_class = NULL;
51 
52 static gchar* _valadoc_api_error_domain_get_quark_function_name (ValadocApiErrorDomain* self,
53                                                           ValaErrorDomain* element);
54 static gchar* _valadoc_api_error_domain_get_quark_macro_name (ValadocApiErrorDomain* self,
55                                                        ValaErrorDomain* element);
56 static void valadoc_api_error_domain_real_accept (ValadocApiNode* base,
57                                            ValadocApiVisitor* visitor);
58 static ValadocContentInline* valadoc_api_error_domain_real_build_signature (ValadocApiItem* base);
59 static void valadoc_api_error_domain_finalize (GObject * obj);
60 static GType valadoc_api_error_domain_get_type_once (void);
61 static void _vala_valadoc_api_error_domain_get_property (GObject * object,
62                                                   guint property_id,
63                                                   GValue * value,
64                                                   GParamSpec * pspec);
65 
66 static inline gpointer
valadoc_api_error_domain_get_instance_private(ValadocApiErrorDomain * self)67 valadoc_api_error_domain_get_instance_private (ValadocApiErrorDomain* self)
68 {
69 	return G_STRUCT_MEMBER_P (self, ValadocApiErrorDomain_private_offset);
70 }
71 
72 ValadocApiErrorDomain*
valadoc_api_error_domain_construct(GType object_type,ValadocApiNode * parent,ValadocApiSourceFile * file,const gchar * name,ValaSymbolAccessibility accessibility,ValadocApiSourceComment * comment,ValaErrorDomain * data)73 valadoc_api_error_domain_construct (GType object_type,
74                                     ValadocApiNode* parent,
75                                     ValadocApiSourceFile* file,
76                                     const gchar* name,
77                                     ValaSymbolAccessibility accessibility,
78                                     ValadocApiSourceComment* comment,
79                                     ValaErrorDomain* data)
80 {
81 	ValadocApiErrorDomain * self = NULL;
82 	gchar* _tmp0_;
83 	gchar* _tmp1_;
84 	gchar* _tmp2_;
85 	gchar* _tmp3_;
86 	g_return_val_if_fail (parent != NULL, NULL);
87 	g_return_val_if_fail (file != NULL, NULL);
88 	g_return_val_if_fail (name != NULL, NULL);
89 	g_return_val_if_fail (data != NULL, NULL);
90 	self = (ValadocApiErrorDomain*) valadoc_api_typesymbol_construct (object_type, parent, file, name, accessibility, comment, FALSE, (ValaTypeSymbol*) data);
91 	_tmp0_ = _valadoc_api_error_domain_get_quark_function_name (self, data);
92 	_g_free0 (self->priv->quark_function_name);
93 	self->priv->quark_function_name = _tmp0_;
94 	_tmp1_ = _valadoc_api_error_domain_get_quark_macro_name (self, data);
95 	_g_free0 (self->priv->quark_macro_name);
96 	self->priv->quark_macro_name = _tmp1_;
97 	_tmp2_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) data);
98 	_g_free0 (self->priv->dbus_name);
99 	self->priv->dbus_name = _tmp2_;
100 	_tmp3_ = vala_get_ccode_name ((ValaCodeNode*) data);
101 	_g_free0 (self->priv->cname);
102 	self->priv->cname = _tmp3_;
103 	return self;
104 }
105 
106 ValadocApiErrorDomain*
valadoc_api_error_domain_new(ValadocApiNode * parent,ValadocApiSourceFile * file,const gchar * name,ValaSymbolAccessibility accessibility,ValadocApiSourceComment * comment,ValaErrorDomain * data)107 valadoc_api_error_domain_new (ValadocApiNode* parent,
108                               ValadocApiSourceFile* file,
109                               const gchar* name,
110                               ValaSymbolAccessibility accessibility,
111                               ValadocApiSourceComment* comment,
112                               ValaErrorDomain* data)
113 {
114 	return valadoc_api_error_domain_construct (VALADOC_API_TYPE_ERROR_DOMAIN, parent, file, name, accessibility, comment, data);
115 }
116 
117 static gchar*
_valadoc_api_error_domain_get_quark_function_name(ValadocApiErrorDomain * self,ValaErrorDomain * element)118 _valadoc_api_error_domain_get_quark_function_name (ValadocApiErrorDomain* self,
119                                                    ValaErrorDomain* element)
120 {
121 	gchar* _tmp0_;
122 	gchar* _tmp1_;
123 	gchar* _tmp2_;
124 	gchar* _tmp3_;
125 	gchar* result = NULL;
126 	g_return_val_if_fail (self != NULL, NULL);
127 	g_return_val_if_fail (element != NULL, NULL);
128 	_tmp0_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) element);
129 	_tmp1_ = _tmp0_;
130 	_tmp2_ = g_strconcat (_tmp1_, "quark", NULL);
131 	_tmp3_ = _tmp2_;
132 	_g_free0 (_tmp1_);
133 	result = _tmp3_;
134 	return result;
135 }
136 
137 static gchar*
_valadoc_api_error_domain_get_quark_macro_name(ValadocApiErrorDomain * self,ValaErrorDomain * element)138 _valadoc_api_error_domain_get_quark_macro_name (ValadocApiErrorDomain* self,
139                                                 ValaErrorDomain* element)
140 {
141 	gchar* _tmp0_;
142 	gchar* result = NULL;
143 	g_return_val_if_fail (self != NULL, NULL);
144 	g_return_val_if_fail (element != NULL, NULL);
145 	_tmp0_ = vala_get_ccode_upper_case_name ((ValaSymbol*) element, NULL);
146 	result = _tmp0_;
147 	return result;
148 }
149 
150 /**
151  * Returns the name of this errordomain as it is used in C.
152  */
153 gchar*
valadoc_api_error_domain_get_cname(ValadocApiErrorDomain * self)154 valadoc_api_error_domain_get_cname (ValadocApiErrorDomain* self)
155 {
156 	const gchar* _tmp0_;
157 	gchar* _tmp1_;
158 	gchar* result = NULL;
159 	g_return_val_if_fail (self != NULL, NULL);
160 	_tmp0_ = self->priv->cname;
161 	_tmp1_ = g_strdup (_tmp0_);
162 	result = _tmp1_;
163 	return result;
164 }
165 
166 /**
167  * Returns the dbus-name.
168  */
169 gchar*
valadoc_api_error_domain_get_dbus_name(ValadocApiErrorDomain * self)170 valadoc_api_error_domain_get_dbus_name (ValadocApiErrorDomain* self)
171 {
172 	const gchar* _tmp0_;
173 	gchar* _tmp1_;
174 	gchar* result = NULL;
175 	g_return_val_if_fail (self != NULL, NULL);
176 	_tmp0_ = self->priv->dbus_name;
177 	_tmp1_ = g_strdup (_tmp0_);
178 	result = _tmp1_;
179 	return result;
180 }
181 
182 /**
183  * Gets the name of the quark() function which represents the error domain
184  */
185 gchar*
valadoc_api_error_domain_get_quark_function_name(ValadocApiErrorDomain * self)186 valadoc_api_error_domain_get_quark_function_name (ValadocApiErrorDomain* self)
187 {
188 	const gchar* _tmp0_;
189 	gchar* _tmp1_;
190 	gchar* result = NULL;
191 	g_return_val_if_fail (self != NULL, NULL);
192 	_tmp0_ = self->priv->quark_function_name;
193 	_tmp1_ = g_strdup (_tmp0_);
194 	result = _tmp1_;
195 	return result;
196 }
197 
198 /**
199  * Gets the name of the quark macro which represents the error domain
200  */
201 gchar*
valadoc_api_error_domain_get_quark_macro_name(ValadocApiErrorDomain * self)202 valadoc_api_error_domain_get_quark_macro_name (ValadocApiErrorDomain* self)
203 {
204 	const gchar* _tmp0_;
205 	gchar* _tmp1_;
206 	gchar* result = NULL;
207 	g_return_val_if_fail (self != NULL, NULL);
208 	_tmp0_ = self->priv->quark_macro_name;
209 	_tmp1_ = g_strdup (_tmp0_);
210 	result = _tmp1_;
211 	return result;
212 }
213 
214 static ValadocApiNodeType
valadoc_api_error_domain_real_get_node_type(ValadocApiNode * base)215 valadoc_api_error_domain_real_get_node_type (ValadocApiNode* base)
216 {
217 	ValadocApiNodeType result;
218 	ValadocApiErrorDomain* self;
219 	self = (ValadocApiErrorDomain*) base;
220 	result = VALADOC_API_NODE_TYPE_ERROR_DOMAIN;
221 	return result;
222 }
223 
224 /**
225  * {@inheritDoc}
226  */
227 static void
valadoc_api_error_domain_real_accept(ValadocApiNode * base,ValadocApiVisitor * visitor)228 valadoc_api_error_domain_real_accept (ValadocApiNode* base,
229                                       ValadocApiVisitor* visitor)
230 {
231 	ValadocApiErrorDomain * self;
232 	self = (ValadocApiErrorDomain*) base;
233 	g_return_if_fail (visitor != NULL);
234 	valadoc_api_visitor_visit_error_domain (visitor, self);
235 }
236 
237 /**
238  * {@inheritDoc}
239  */
240 static ValadocContentInline*
valadoc_api_error_domain_real_build_signature(ValadocApiItem * base)241 valadoc_api_error_domain_real_build_signature (ValadocApiItem* base)
242 {
243 	ValadocApiErrorDomain * self;
244 	ValadocApiSignatureBuilder* _tmp0_;
245 	ValadocApiSignatureBuilder* _tmp1_;
246 	ValaSymbolAccessibility _tmp2_;
247 	ValaSymbolAccessibility _tmp3_;
248 	const gchar* _tmp4_;
249 	ValadocApiSignatureBuilder* _tmp5_;
250 	ValadocApiSignatureBuilder* _tmp6_;
251 	ValadocApiSignatureBuilder* _tmp7_;
252 	ValadocContentRun* _tmp8_;
253 	ValadocContentInline* _tmp9_;
254 	ValadocContentInline* result = NULL;
255 	self = (ValadocApiErrorDomain*) base;
256 	_tmp0_ = valadoc_api_signature_builder_new ();
257 	_tmp1_ = _tmp0_;
258 	_tmp2_ = valadoc_api_symbol_get_accessibility ((ValadocApiSymbol*) self);
259 	_tmp3_ = _tmp2_;
260 	_tmp4_ = vala_symbol_accessibility_to_string (_tmp3_);
261 	_tmp5_ = valadoc_api_signature_builder_append_keyword (_tmp1_, _tmp4_, TRUE);
262 	_tmp6_ = valadoc_api_signature_builder_append_keyword (_tmp5_, "errordomain", TRUE);
263 	_tmp7_ = valadoc_api_signature_builder_append_symbol (_tmp6_, (ValadocApiNode*) self, TRUE);
264 	_tmp8_ = valadoc_api_signature_builder_get (_tmp7_);
265 	_tmp9_ = (ValadocContentInline*) _tmp8_;
266 	_valadoc_api_signature_builder_unref0 (_tmp1_);
267 	result = _tmp9_;
268 	return result;
269 }
270 
271 static void
valadoc_api_error_domain_class_init(ValadocApiErrorDomainClass * klass,gpointer klass_data)272 valadoc_api_error_domain_class_init (ValadocApiErrorDomainClass * klass,
273                                      gpointer klass_data)
274 {
275 	valadoc_api_error_domain_parent_class = g_type_class_peek_parent (klass);
276 	g_type_class_adjust_private_offset (klass, &ValadocApiErrorDomain_private_offset);
277 	((ValadocApiNodeClass *) klass)->accept = (void (*) (ValadocApiNode*, ValadocApiVisitor*)) valadoc_api_error_domain_real_accept;
278 	((ValadocApiItemClass *) klass)->build_signature = (ValadocContentInline* (*) (ValadocApiItem*)) valadoc_api_error_domain_real_build_signature;
279 	VALADOC_API_NODE_CLASS (klass)->get_node_type = valadoc_api_error_domain_real_get_node_type;
280 	G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_api_error_domain_get_property;
281 	G_OBJECT_CLASS (klass)->finalize = valadoc_api_error_domain_finalize;
282 	/**
283 	 * {@inheritDoc}
284 	 */
285 	g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_API_ERROR_DOMAIN_NODE_TYPE_PROPERTY, valadoc_api_error_domain_properties[VALADOC_API_ERROR_DOMAIN_NODE_TYPE_PROPERTY] = g_param_spec_enum ("node-type", "node-type", "node-type", VALADOC_API_TYPE_NODE_TYPE, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
286 }
287 
288 static void
valadoc_api_error_domain_instance_init(ValadocApiErrorDomain * self,gpointer klass)289 valadoc_api_error_domain_instance_init (ValadocApiErrorDomain * self,
290                                         gpointer klass)
291 {
292 	self->priv = valadoc_api_error_domain_get_instance_private (self);
293 }
294 
295 static void
valadoc_api_error_domain_finalize(GObject * obj)296 valadoc_api_error_domain_finalize (GObject * obj)
297 {
298 	ValadocApiErrorDomain * self;
299 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_API_TYPE_ERROR_DOMAIN, ValadocApiErrorDomain);
300 	_g_free0 (self->priv->quark_function_name);
301 	_g_free0 (self->priv->quark_macro_name);
302 	_g_free0 (self->priv->dbus_name);
303 	_g_free0 (self->priv->cname);
304 	G_OBJECT_CLASS (valadoc_api_error_domain_parent_class)->finalize (obj);
305 }
306 
307 /**
308  * Represents an error domain declaration.
309  */
310 static GType
valadoc_api_error_domain_get_type_once(void)311 valadoc_api_error_domain_get_type_once (void)
312 {
313 	static const GTypeInfo g_define_type_info = { sizeof (ValadocApiErrorDomainClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_api_error_domain_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocApiErrorDomain), 0, (GInstanceInitFunc) valadoc_api_error_domain_instance_init, NULL };
314 	GType valadoc_api_error_domain_type_id;
315 	valadoc_api_error_domain_type_id = g_type_register_static (VALADOC_API_TYPE_TYPESYMBOL, "ValadocApiErrorDomain", &g_define_type_info, 0);
316 	ValadocApiErrorDomain_private_offset = g_type_add_instance_private (valadoc_api_error_domain_type_id, sizeof (ValadocApiErrorDomainPrivate));
317 	return valadoc_api_error_domain_type_id;
318 }
319 
320 GType
valadoc_api_error_domain_get_type(void)321 valadoc_api_error_domain_get_type (void)
322 {
323 	static volatile gsize valadoc_api_error_domain_type_id__volatile = 0;
324 	if (g_once_init_enter (&valadoc_api_error_domain_type_id__volatile)) {
325 		GType valadoc_api_error_domain_type_id;
326 		valadoc_api_error_domain_type_id = valadoc_api_error_domain_get_type_once ();
327 		g_once_init_leave (&valadoc_api_error_domain_type_id__volatile, valadoc_api_error_domain_type_id);
328 	}
329 	return valadoc_api_error_domain_type_id__volatile;
330 }
331 
332 static void
_vala_valadoc_api_error_domain_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)333 _vala_valadoc_api_error_domain_get_property (GObject * object,
334                                              guint property_id,
335                                              GValue * value,
336                                              GParamSpec * pspec)
337 {
338 	ValadocApiErrorDomain * self;
339 	self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_API_TYPE_ERROR_DOMAIN, ValadocApiErrorDomain);
340 	switch (property_id) {
341 		case VALADOC_API_ERROR_DOMAIN_NODE_TYPE_PROPERTY:
342 		g_value_set_enum (value, valadoc_api_node_get_node_type ((ValadocApiNode*) self));
343 		break;
344 		default:
345 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
346 		break;
347 	}
348 }
349 
350