1 /* internalidregistrar.c generated by valac, the Vala compiler
2  * generated from internalidregistrar.vala, do not modify */
3 
4 /* gtkdocindexsgmlreader.vala
5  *
6  * Copyright (C) 2014  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 <valagee.h>
28 #include <glib-object.h>
29 #include <stdlib.h>
30 #include <string.h>
31 #include <glib.h>
32 #include <vala.h>
33 #include <gobject/gvaluecollector.h>
34 
35 #define _vala_map_unref0(var) ((var == NULL) ? NULL : (var = (vala_map_unref (var), NULL)))
36 #define _g_free0(var) (var = (g_free (var), NULL))
37 #define _vala_markup_reader_unref0(var) ((var == NULL) ? NULL : (var = (vala_markup_reader_unref (var), NULL)))
38 typedef struct _ValadocImporterParamSpecInternalIdRegistrar ValadocImporterParamSpecInternalIdRegistrar;
39 
40 struct _ValadocImporterInternalIdRegistrarPrivate {
41 	ValaHashMap* symbol_map;
42 	ValaHashMap* map;
43 };
44 
45 struct _ValadocImporterParamSpecInternalIdRegistrar {
46 	GParamSpec parent_instance;
47 };
48 
49 static gint ValadocImporterInternalIdRegistrar_private_offset;
50 static gpointer valadoc_importer_internal_id_registrar_parent_class = NULL;
51 
52 static void valadoc_importer_internal_id_registrar_finalize (ValadocImporterInternalIdRegistrar * obj);
53 static GType valadoc_importer_internal_id_registrar_get_type_once (void);
54 
55 static inline gpointer
valadoc_importer_internal_id_registrar_get_instance_private(ValadocImporterInternalIdRegistrar * self)56 valadoc_importer_internal_id_registrar_get_instance_private (ValadocImporterInternalIdRegistrar* self)
57 {
58 	return G_STRUCT_MEMBER_P (self, ValadocImporterInternalIdRegistrar_private_offset);
59 }
60 
61 ValadocImporterInternalIdRegistrar*
valadoc_importer_internal_id_registrar_construct(GType object_type)62 valadoc_importer_internal_id_registrar_construct (GType object_type)
63 {
64 	ValadocImporterInternalIdRegistrar* self = NULL;
65 	GHashFunc _tmp0_;
66 	GEqualFunc _tmp1_;
67 	GEqualFunc _tmp2_;
68 	ValaHashMap* _tmp3_;
69 	GHashFunc _tmp4_;
70 	GEqualFunc _tmp5_;
71 	GEqualFunc _tmp6_;
72 	ValaHashMap* _tmp7_;
73 	self = (ValadocImporterInternalIdRegistrar*) g_type_create_instance (object_type);
74 	_tmp0_ = g_str_hash;
75 	_tmp1_ = g_str_equal;
76 	_tmp2_ = g_direct_equal;
77 	_tmp3_ = vala_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, _tmp0_, _tmp1_, _tmp2_);
78 	_vala_map_unref0 (self->priv->map);
79 	self->priv->map = _tmp3_;
80 	_tmp4_ = g_str_hash;
81 	_tmp5_ = g_str_equal;
82 	_tmp6_ = g_direct_equal;
83 	_tmp7_ = vala_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, VALADOC_API_TYPE_NODE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp4_, _tmp5_, _tmp6_);
84 	_vala_map_unref0 (self->priv->symbol_map);
85 	self->priv->symbol_map = _tmp7_;
86 	return self;
87 }
88 
89 ValadocImporterInternalIdRegistrar*
valadoc_importer_internal_id_registrar_new(void)90 valadoc_importer_internal_id_registrar_new (void)
91 {
92 	return valadoc_importer_internal_id_registrar_construct (VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR);
93 }
94 
95 void
valadoc_importer_internal_id_registrar_register_symbol(ValadocImporterInternalIdRegistrar * self,const gchar * id,ValadocApiNode * symbol)96 valadoc_importer_internal_id_registrar_register_symbol (ValadocImporterInternalIdRegistrar* self,
97                                                         const gchar* id,
98                                                         ValadocApiNode* symbol)
99 {
100 	ValaHashMap* _tmp0_;
101 	g_return_if_fail (self != NULL);
102 	g_return_if_fail (id != NULL);
103 	g_return_if_fail (symbol != NULL);
104 	_tmp0_ = self->priv->symbol_map;
105 	vala_map_set ((ValaMap*) _tmp0_, id, symbol);
106 }
107 
108 gchar*
valadoc_importer_internal_id_registrar_map_url_id(ValadocImporterInternalIdRegistrar * self,const gchar * id)109 valadoc_importer_internal_id_registrar_map_url_id (ValadocImporterInternalIdRegistrar* self,
110                                                    const gchar* id)
111 {
112 	ValaHashMap* _tmp0_;
113 	gpointer _tmp1_;
114 	gchar* result = NULL;
115 	g_return_val_if_fail (self != NULL, NULL);
116 	g_return_val_if_fail (id != NULL, NULL);
117 	_tmp0_ = self->priv->map;
118 	_tmp1_ = vala_map_get ((ValaMap*) _tmp0_, id);
119 	result = (gchar*) _tmp1_;
120 	return result;
121 }
122 
123 ValadocApiNode*
valadoc_importer_internal_id_registrar_map_symbol_id(ValadocImporterInternalIdRegistrar * self,const gchar * id)124 valadoc_importer_internal_id_registrar_map_symbol_id (ValadocImporterInternalIdRegistrar* self,
125                                                       const gchar* id)
126 {
127 	ValaHashMap* _tmp0_;
128 	gpointer _tmp1_;
129 	ValadocApiNode* result = NULL;
130 	g_return_val_if_fail (self != NULL, NULL);
131 	g_return_val_if_fail (id != NULL, NULL);
132 	_tmp0_ = self->priv->symbol_map;
133 	_tmp1_ = vala_map_get ((ValaMap*) _tmp0_, id);
134 	result = (ValadocApiNode*) _tmp1_;
135 	return result;
136 }
137 
138 void
valadoc_importer_internal_id_registrar_read_index_sgml_file(ValadocImporterInternalIdRegistrar * self,const gchar * filename,const gchar * index_sgml_online,ValadocErrorReporter * reporter)139 valadoc_importer_internal_id_registrar_read_index_sgml_file (ValadocImporterInternalIdRegistrar* self,
140                                                              const gchar* filename,
141                                                              const gchar* index_sgml_online,
142                                                              ValadocErrorReporter* reporter)
143 {
144 	ValaSourceLocation begin = {0};
145 	ValaSourceLocation end = {0};
146 	ValaMarkupTokenType token = 0;
147 	gchar* _tmp0_ = NULL;
148 	gchar* _tmp1_;
149 	gchar* base_path = NULL;
150 	gchar* _tmp3_;
151 	ValaMarkupReader* reader = NULL;
152 	ValaMarkupReader* _tmp4_;
153 	g_return_if_fail (self != NULL);
154 	g_return_if_fail (filename != NULL);
155 	g_return_if_fail (reporter != NULL);
156 	_tmp1_ = g_strdup (index_sgml_online);
157 	_tmp0_ = _tmp1_;
158 	if (_tmp0_ == NULL) {
159 		gchar* _tmp2_;
160 		_tmp2_ = vala_code_context_realpath (filename);
161 		_g_free0 (_tmp0_);
162 		_tmp0_ = _tmp2_;
163 	}
164 	_tmp3_ = _tmp0_;
165 	_tmp0_ = NULL;
166 	base_path = _tmp3_;
167 	_tmp4_ = vala_markup_reader_new (filename);
168 	reader = _tmp4_;
169 	while (TRUE) {
170 		ValaMarkupReader* _tmp5_;
171 		ValaSourceLocation _tmp6_ = {0};
172 		ValaSourceLocation _tmp7_ = {0};
173 		ValaMarkupTokenType _tmp8_;
174 		ValaMarkupTokenType _tmp9_;
175 		gboolean _tmp10_ = FALSE;
176 		ValaMarkupTokenType _tmp11_;
177 		_tmp5_ = reader;
178 		_tmp8_ = vala_markup_reader_read_token (_tmp5_, &_tmp6_, &_tmp7_);
179 		begin = _tmp6_;
180 		end = _tmp7_;
181 		token = _tmp8_;
182 		_tmp9_ = token;
183 		if (!(_tmp9_ != VALA_MARKUP_TOKEN_TYPE_EOF)) {
184 			break;
185 		}
186 		_tmp11_ = token;
187 		if (_tmp11_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT) {
188 			ValaMarkupReader* _tmp12_;
189 			const gchar* _tmp13_;
190 			const gchar* _tmp14_;
191 			_tmp12_ = reader;
192 			_tmp13_ = vala_markup_reader_get_name (_tmp12_);
193 			_tmp14_ = _tmp13_;
194 			_tmp10_ = g_strcmp0 (_tmp14_, "ONLINE") == 0;
195 		} else {
196 			_tmp10_ = FALSE;
197 		}
198 		if (_tmp10_) {
199 			if (index_sgml_online == NULL) {
200 				ValaMarkupReader* _tmp15_;
201 				gchar* _tmp16_;
202 				const gchar* _tmp17_;
203 				_tmp15_ = reader;
204 				_tmp16_ = vala_markup_reader_get_attribute (_tmp15_, "href");
205 				_g_free0 (base_path);
206 				base_path = _tmp16_;
207 				_tmp17_ = base_path;
208 				if (_tmp17_ == NULL) {
209 					vala_report_error (NULL, "missing attribute `href' in <ONLINE>");
210 				}
211 			}
212 		} else {
213 			gboolean _tmp18_ = FALSE;
214 			ValaMarkupTokenType _tmp19_;
215 			_tmp19_ = token;
216 			if (_tmp19_ == VALA_MARKUP_TOKEN_TYPE_START_ELEMENT) {
217 				ValaMarkupReader* _tmp20_;
218 				const gchar* _tmp21_;
219 				const gchar* _tmp22_;
220 				_tmp20_ = reader;
221 				_tmp21_ = vala_markup_reader_get_name (_tmp20_);
222 				_tmp22_ = _tmp21_;
223 				_tmp18_ = g_strcmp0 (_tmp22_, "ANCHOR") == 0;
224 			} else {
225 				_tmp18_ = FALSE;
226 			}
227 			if (_tmp18_) {
228 				gchar* id = NULL;
229 				ValaMarkupReader* _tmp23_;
230 				gchar* _tmp24_;
231 				const gchar* _tmp25_;
232 				gchar* href = NULL;
233 				ValaMarkupReader* _tmp26_;
234 				gchar* _tmp27_;
235 				const gchar* _tmp28_;
236 				ValaHashMap* _tmp31_;
237 				const gchar* _tmp32_;
238 				const gchar* _tmp33_;
239 				const gchar* _tmp34_;
240 				gchar* _tmp35_;
241 				gchar* _tmp36_;
242 				_tmp23_ = reader;
243 				_tmp24_ = vala_markup_reader_get_attribute (_tmp23_, "id");
244 				id = _tmp24_;
245 				_tmp25_ = id;
246 				if (_tmp25_ == NULL) {
247 					vala_report_error (NULL, "missing attribute `id' in <ANCHOR>");
248 				}
249 				_tmp26_ = reader;
250 				_tmp27_ = vala_markup_reader_get_attribute (_tmp26_, "href");
251 				href = _tmp27_;
252 				_tmp28_ = href;
253 				if (_tmp28_ == NULL) {
254 					vala_report_error (NULL, "missing attribute `href' in <ANCHOR>");
255 				} else {
256 					if (index_sgml_online != NULL) {
257 						const gchar* _tmp29_;
258 						gchar* _tmp30_;
259 						_tmp29_ = href;
260 						_tmp30_ = g_path_get_basename (_tmp29_);
261 						_g_free0 (href);
262 						href = _tmp30_;
263 					}
264 				}
265 				_tmp31_ = self->priv->map;
266 				_tmp32_ = id;
267 				_tmp33_ = base_path;
268 				_tmp34_ = href;
269 				_tmp35_ = g_build_path ("/", _tmp33_, _tmp34_, NULL);
270 				_tmp36_ = _tmp35_;
271 				vala_map_set ((ValaMap*) _tmp31_, _tmp32_, _tmp36_);
272 				_g_free0 (_tmp36_);
273 				_g_free0 (href);
274 				_g_free0 (id);
275 			} else {
276 				vala_report_error (NULL, "expected element of <ONLINE> or <ANCHOR>");
277 			}
278 		}
279 	}
280 	_vala_markup_reader_unref0 (reader);
281 	_g_free0 (base_path);
282 	_g_free0 (_tmp0_);
283 }
284 
285 static void
valadoc_importer_value_internal_id_registrar_init(GValue * value)286 valadoc_importer_value_internal_id_registrar_init (GValue* value)
287 {
288 	value->data[0].v_pointer = NULL;
289 }
290 
291 static void
valadoc_importer_value_internal_id_registrar_free_value(GValue * value)292 valadoc_importer_value_internal_id_registrar_free_value (GValue* value)
293 {
294 	if (value->data[0].v_pointer) {
295 		valadoc_importer_internal_id_registrar_unref (value->data[0].v_pointer);
296 	}
297 }
298 
299 static void
valadoc_importer_value_internal_id_registrar_copy_value(const GValue * src_value,GValue * dest_value)300 valadoc_importer_value_internal_id_registrar_copy_value (const GValue* src_value,
301                                                          GValue* dest_value)
302 {
303 	if (src_value->data[0].v_pointer) {
304 		dest_value->data[0].v_pointer = valadoc_importer_internal_id_registrar_ref (src_value->data[0].v_pointer);
305 	} else {
306 		dest_value->data[0].v_pointer = NULL;
307 	}
308 }
309 
310 static gpointer
valadoc_importer_value_internal_id_registrar_peek_pointer(const GValue * value)311 valadoc_importer_value_internal_id_registrar_peek_pointer (const GValue* value)
312 {
313 	return value->data[0].v_pointer;
314 }
315 
316 static gchar*
valadoc_importer_value_internal_id_registrar_collect_value(GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)317 valadoc_importer_value_internal_id_registrar_collect_value (GValue* value,
318                                                             guint n_collect_values,
319                                                             GTypeCValue* collect_values,
320                                                             guint collect_flags)
321 {
322 	if (collect_values[0].v_pointer) {
323 		ValadocImporterInternalIdRegistrar * object;
324 		object = collect_values[0].v_pointer;
325 		if (object->parent_instance.g_class == NULL) {
326 			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
327 		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
328 			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
329 		}
330 		value->data[0].v_pointer = valadoc_importer_internal_id_registrar_ref (object);
331 	} else {
332 		value->data[0].v_pointer = NULL;
333 	}
334 	return NULL;
335 }
336 
337 static gchar*
valadoc_importer_value_internal_id_registrar_lcopy_value(const GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)338 valadoc_importer_value_internal_id_registrar_lcopy_value (const GValue* value,
339                                                           guint n_collect_values,
340                                                           GTypeCValue* collect_values,
341                                                           guint collect_flags)
342 {
343 	ValadocImporterInternalIdRegistrar ** object_p;
344 	object_p = collect_values[0].v_pointer;
345 	if (!object_p) {
346 		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
347 	}
348 	if (!value->data[0].v_pointer) {
349 		*object_p = NULL;
350 	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
351 		*object_p = value->data[0].v_pointer;
352 	} else {
353 		*object_p = valadoc_importer_internal_id_registrar_ref (value->data[0].v_pointer);
354 	}
355 	return NULL;
356 }
357 
358 GParamSpec*
valadoc_importer_param_spec_internal_id_registrar(const gchar * name,const gchar * nick,const gchar * blurb,GType object_type,GParamFlags flags)359 valadoc_importer_param_spec_internal_id_registrar (const gchar* name,
360                                                    const gchar* nick,
361                                                    const gchar* blurb,
362                                                    GType object_type,
363                                                    GParamFlags flags)
364 {
365 	ValadocImporterParamSpecInternalIdRegistrar* spec;
366 	g_return_val_if_fail (g_type_is_a (object_type, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR), NULL);
367 	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
368 	G_PARAM_SPEC (spec)->value_type = object_type;
369 	return G_PARAM_SPEC (spec);
370 }
371 
372 gpointer
valadoc_importer_value_get_internal_id_registrar(const GValue * value)373 valadoc_importer_value_get_internal_id_registrar (const GValue* value)
374 {
375 	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR), NULL);
376 	return value->data[0].v_pointer;
377 }
378 
379 void
valadoc_importer_value_set_internal_id_registrar(GValue * value,gpointer v_object)380 valadoc_importer_value_set_internal_id_registrar (GValue* value,
381                                                   gpointer v_object)
382 {
383 	ValadocImporterInternalIdRegistrar * old;
384 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR));
385 	old = value->data[0].v_pointer;
386 	if (v_object) {
387 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR));
388 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
389 		value->data[0].v_pointer = v_object;
390 		valadoc_importer_internal_id_registrar_ref (value->data[0].v_pointer);
391 	} else {
392 		value->data[0].v_pointer = NULL;
393 	}
394 	if (old) {
395 		valadoc_importer_internal_id_registrar_unref (old);
396 	}
397 }
398 
399 void
valadoc_importer_value_take_internal_id_registrar(GValue * value,gpointer v_object)400 valadoc_importer_value_take_internal_id_registrar (GValue* value,
401                                                    gpointer v_object)
402 {
403 	ValadocImporterInternalIdRegistrar * old;
404 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR));
405 	old = value->data[0].v_pointer;
406 	if (v_object) {
407 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR));
408 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
409 		value->data[0].v_pointer = v_object;
410 	} else {
411 		value->data[0].v_pointer = NULL;
412 	}
413 	if (old) {
414 		valadoc_importer_internal_id_registrar_unref (old);
415 	}
416 }
417 
418 static void
valadoc_importer_internal_id_registrar_class_init(ValadocImporterInternalIdRegistrarClass * klass,gpointer klass_data)419 valadoc_importer_internal_id_registrar_class_init (ValadocImporterInternalIdRegistrarClass * klass,
420                                                    gpointer klass_data)
421 {
422 	valadoc_importer_internal_id_registrar_parent_class = g_type_class_peek_parent (klass);
423 	((ValadocImporterInternalIdRegistrarClass *) klass)->finalize = valadoc_importer_internal_id_registrar_finalize;
424 	g_type_class_adjust_private_offset (klass, &ValadocImporterInternalIdRegistrar_private_offset);
425 }
426 
427 static void
valadoc_importer_internal_id_registrar_instance_init(ValadocImporterInternalIdRegistrar * self,gpointer klass)428 valadoc_importer_internal_id_registrar_instance_init (ValadocImporterInternalIdRegistrar * self,
429                                                       gpointer klass)
430 {
431 	self->priv = valadoc_importer_internal_id_registrar_get_instance_private (self);
432 	self->ref_count = 1;
433 }
434 
435 static void
valadoc_importer_internal_id_registrar_finalize(ValadocImporterInternalIdRegistrar * obj)436 valadoc_importer_internal_id_registrar_finalize (ValadocImporterInternalIdRegistrar * obj)
437 {
438 	ValadocImporterInternalIdRegistrar * self;
439 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_IMPORTER_TYPE_INTERNAL_ID_REGISTRAR, ValadocImporterInternalIdRegistrar);
440 	g_signal_handlers_destroy (self);
441 	_vala_map_unref0 (self->priv->symbol_map);
442 	_vala_map_unref0 (self->priv->map);
443 }
444 
445 static GType
valadoc_importer_internal_id_registrar_get_type_once(void)446 valadoc_importer_internal_id_registrar_get_type_once (void)
447 {
448 	static const GTypeValueTable g_define_type_value_table = { valadoc_importer_value_internal_id_registrar_init, valadoc_importer_value_internal_id_registrar_free_value, valadoc_importer_value_internal_id_registrar_copy_value, valadoc_importer_value_internal_id_registrar_peek_pointer, "p", valadoc_importer_value_internal_id_registrar_collect_value, "p", valadoc_importer_value_internal_id_registrar_lcopy_value };
449 	static const GTypeInfo g_define_type_info = { sizeof (ValadocImporterInternalIdRegistrarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_importer_internal_id_registrar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocImporterInternalIdRegistrar), 0, (GInstanceInitFunc) valadoc_importer_internal_id_registrar_instance_init, &g_define_type_value_table };
450 	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
451 	GType valadoc_importer_internal_id_registrar_type_id;
452 	valadoc_importer_internal_id_registrar_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ValadocImporterInternalIdRegistrar", &g_define_type_info, &g_define_type_fundamental_info, 0);
453 	ValadocImporterInternalIdRegistrar_private_offset = g_type_add_instance_private (valadoc_importer_internal_id_registrar_type_id, sizeof (ValadocImporterInternalIdRegistrarPrivate));
454 	return valadoc_importer_internal_id_registrar_type_id;
455 }
456 
457 GType
valadoc_importer_internal_id_registrar_get_type(void)458 valadoc_importer_internal_id_registrar_get_type (void)
459 {
460 	static volatile gsize valadoc_importer_internal_id_registrar_type_id__volatile = 0;
461 	if (g_once_init_enter (&valadoc_importer_internal_id_registrar_type_id__volatile)) {
462 		GType valadoc_importer_internal_id_registrar_type_id;
463 		valadoc_importer_internal_id_registrar_type_id = valadoc_importer_internal_id_registrar_get_type_once ();
464 		g_once_init_leave (&valadoc_importer_internal_id_registrar_type_id__volatile, valadoc_importer_internal_id_registrar_type_id);
465 	}
466 	return valadoc_importer_internal_id_registrar_type_id__volatile;
467 }
468 
469 gpointer
valadoc_importer_internal_id_registrar_ref(gpointer instance)470 valadoc_importer_internal_id_registrar_ref (gpointer instance)
471 {
472 	ValadocImporterInternalIdRegistrar * self;
473 	self = instance;
474 	g_atomic_int_inc (&self->ref_count);
475 	return instance;
476 }
477 
478 void
valadoc_importer_internal_id_registrar_unref(gpointer instance)479 valadoc_importer_internal_id_registrar_unref (gpointer instance)
480 {
481 	ValadocImporterInternalIdRegistrar * self;
482 	self = instance;
483 	if (g_atomic_int_dec_and_test (&self->ref_count)) {
484 		VALADOC_IMPORTER_INTERNAL_ID_REGISTRAR_GET_CLASS (self)->finalize (self);
485 		g_type_free_instance ((GTypeInstance *) self);
486 	}
487 }
488 
489