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