1 /* linkhelper.c generated by valac, the Vala compiler
2 * generated from linkhelper.vala, do not modify */
3
4 /* linkhelper.vala
5 *
6 * Copyright (C) 2008-2012 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 <glib.h>
28 #include <stdlib.h>
29 #include <string.h>
30 #include <glib-object.h>
31
32 enum {
33 VALADOC_HTML_LINK_HELPER_0_PROPERTY,
34 VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY,
35 VALADOC_HTML_LINK_HELPER_NUM_PROPERTIES
36 };
37 static GParamSpec* valadoc_html_link_helper_properties[VALADOC_HTML_LINK_HELPER_NUM_PROPERTIES];
38 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
39 #define _g_free0(var) (var = (g_free (var), NULL))
40 #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
41 #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
42 #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
43 #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
44 #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
45
46 struct _ValadocHtmlLinkHelperPrivate {
47 gboolean _enable_browsable_check;
48 };
49
50 static gint ValadocHtmlLinkHelper_private_offset;
51 static gpointer valadoc_html_link_helper_parent_class = NULL;
52
53 static gchar* valadoc_html_link_helper_real_get_package_link (ValadocHtmlLinkHelper* self,
54 ValadocApiPackage* package,
55 ValadocSettings* settings);
56 static gchar* valadoc_html_link_helper_real_from_package_to_package (ValadocHtmlLinkHelper* self,
57 ValadocApiPackage* from,
58 ValadocApiPackage* to);
59 static gchar* valadoc_html_link_helper_real_from_package_to_wiki (ValadocHtmlLinkHelper* self,
60 ValadocApiPackage* from,
61 ValadocWikiPage* to);
62 static gchar* valadoc_html_link_helper_real_from_package_to_node (ValadocHtmlLinkHelper* self,
63 ValadocApiPackage* from,
64 ValadocApiNode* to);
65 static gchar* valadoc_html_link_helper_real_from_wiki_to_package (ValadocHtmlLinkHelper* self,
66 ValadocWikiPage* from,
67 ValadocApiPackage* to);
68 static gchar* valadoc_html_link_helper_real_from_wiki_to_wiki (ValadocHtmlLinkHelper* self,
69 ValadocWikiPage* from,
70 ValadocWikiPage* to);
71 static gchar* valadoc_html_link_helper_real_from_wiki_to_node (ValadocHtmlLinkHelper* self,
72 ValadocWikiPage* from,
73 ValadocApiNode* to);
74 static gchar* valadoc_html_link_helper_real_from_node_to_package (ValadocHtmlLinkHelper* self,
75 ValadocApiNode* from,
76 ValadocApiPackage* to);
77 static gchar* valadoc_html_link_helper_real_from_node_to_wiki (ValadocHtmlLinkHelper* self,
78 ValadocApiNode* from,
79 ValadocWikiPage* to);
80 static gchar* valadoc_html_link_helper_real_from_node_to_node (ValadocHtmlLinkHelper* self,
81 ValadocApiNode* from,
82 ValadocApiNode* to);
83 static void valadoc_html_link_helper_finalize (GObject * obj);
84 static GType valadoc_html_link_helper_get_type_once (void);
85 static void _vala_valadoc_html_link_helper_get_property (GObject * object,
86 guint property_id,
87 GValue * value,
88 GParamSpec * pspec);
89 static void _vala_valadoc_html_link_helper_set_property (GObject * object,
90 guint property_id,
91 const GValue * value,
92 GParamSpec * pspec);
93
94 static inline gpointer
valadoc_html_link_helper_get_instance_private(ValadocHtmlLinkHelper * self)95 valadoc_html_link_helper_get_instance_private (ValadocHtmlLinkHelper* self)
96 {
97 return G_STRUCT_MEMBER_P (self, ValadocHtmlLinkHelper_private_offset);
98 }
99
100 gboolean
valadoc_html_link_helper_get_enable_browsable_check(ValadocHtmlLinkHelper * self)101 valadoc_html_link_helper_get_enable_browsable_check (ValadocHtmlLinkHelper* self)
102 {
103 gboolean result;
104 g_return_val_if_fail (self != NULL, FALSE);
105 result = self->priv->_enable_browsable_check;
106 return result;
107 }
108
109 void
valadoc_html_link_helper_set_enable_browsable_check(ValadocHtmlLinkHelper * self,gboolean value)110 valadoc_html_link_helper_set_enable_browsable_check (ValadocHtmlLinkHelper* self,
111 gboolean value)
112 {
113 gboolean old_value;
114 g_return_if_fail (self != NULL);
115 old_value = valadoc_html_link_helper_get_enable_browsable_check (self);
116 if (old_value != value) {
117 self->priv->_enable_browsable_check = value;
118 g_object_notify_by_pspec ((GObject *) self, valadoc_html_link_helper_properties[VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY]);
119 }
120 }
121
122 static gchar*
valadoc_html_link_helper_real_get_package_link(ValadocHtmlLinkHelper * self,ValadocApiPackage * package,ValadocSettings * settings)123 valadoc_html_link_helper_real_get_package_link (ValadocHtmlLinkHelper* self,
124 ValadocApiPackage* package,
125 ValadocSettings* settings)
126 {
127 gboolean _tmp0_ = FALSE;
128 gboolean _tmp1_;
129 const gchar* _tmp2_;
130 const gchar* _tmp3_;
131 gchar* _tmp4_;
132 gchar* result = NULL;
133 g_return_val_if_fail (package != NULL, NULL);
134 g_return_val_if_fail (settings != NULL, NULL);
135 _tmp1_ = self->priv->_enable_browsable_check;
136 if (_tmp1_) {
137 _tmp0_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) package, settings);
138 } else {
139 _tmp0_ = FALSE;
140 }
141 if (_tmp0_) {
142 result = NULL;
143 return result;
144 }
145 _tmp2_ = valadoc_api_node_get_name ((ValadocApiNode*) package);
146 _tmp3_ = _tmp2_;
147 _tmp4_ = g_build_filename (_tmp3_, "index.htm", NULL);
148 result = _tmp4_;
149 return result;
150 }
151
152 gchar*
valadoc_html_link_helper_get_package_link(ValadocHtmlLinkHelper * self,ValadocApiPackage * package,ValadocSettings * settings)153 valadoc_html_link_helper_get_package_link (ValadocHtmlLinkHelper* self,
154 ValadocApiPackage* package,
155 ValadocSettings* settings)
156 {
157 g_return_val_if_fail (self != NULL, NULL);
158 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->get_package_link (self, package, settings);
159 }
160
161 static gpointer
_g_object_ref0(gpointer self)162 _g_object_ref0 (gpointer self)
163 {
164 return self ? g_object_ref (self) : NULL;
165 }
166
167 gchar*
valadoc_html_link_helper_get_relative_link(ValadocHtmlLinkHelper * self,ValadocDocumentation * from,ValadocDocumentation * to,ValadocSettings * settings)168 valadoc_html_link_helper_get_relative_link (ValadocHtmlLinkHelper* self,
169 ValadocDocumentation* from,
170 ValadocDocumentation* to,
171 ValadocSettings* settings)
172 {
173 ValadocSettings* _tmp0_;
174 gchar* result = NULL;
175 g_return_val_if_fail (self != NULL, NULL);
176 g_return_val_if_fail (from != NULL, NULL);
177 g_return_val_if_fail (to != NULL, NULL);
178 g_return_val_if_fail (settings != NULL, NULL);
179 _tmp0_ = _g_object_ref0 (settings);
180 _g_object_unref0 (self->_settings);
181 self->_settings = _tmp0_;
182 if (VALADOC_API_IS_PACKAGE (from)) {
183 if (VALADOC_API_IS_PACKAGE (to)) {
184 gchar* _tmp1_;
185 _tmp1_ = valadoc_html_link_helper_from_package_to_package (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage));
186 result = _tmp1_;
187 return result;
188 } else {
189 if (VALADOC_API_IS_NODE (to)) {
190 gchar* _tmp2_;
191 _tmp2_ = valadoc_html_link_helper_from_package_to_node (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_NODE, ValadocApiNode));
192 result = _tmp2_;
193 return result;
194 } else {
195 if (VALADOC_IS_WIKI_PAGE (to)) {
196 gchar* _tmp3_;
197 _tmp3_ = valadoc_html_link_helper_from_package_to_wiki (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage));
198 result = _tmp3_;
199 return result;
200 } else {
201 _vala_assert (TRUE, "true");
202 }
203 }
204 }
205 } else {
206 if (VALADOC_API_IS_NODE (from)) {
207 if (VALADOC_API_IS_PACKAGE (to)) {
208 gchar* _tmp4_;
209 _tmp4_ = valadoc_html_link_helper_from_node_to_package (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_NODE, ValadocApiNode), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage));
210 result = _tmp4_;
211 return result;
212 } else {
213 if (VALADOC_API_IS_NODE (to)) {
214 gchar* _tmp5_;
215 _tmp5_ = valadoc_html_link_helper_from_node_to_node (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_NODE, ValadocApiNode), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_NODE, ValadocApiNode));
216 result = _tmp5_;
217 return result;
218 } else {
219 if (VALADOC_IS_WIKI_PAGE (to)) {
220 gchar* _tmp6_;
221 _tmp6_ = valadoc_html_link_helper_from_node_to_wiki (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_API_TYPE_NODE, ValadocApiNode), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage));
222 result = _tmp6_;
223 return result;
224 } else {
225 _vala_assert (TRUE, "true");
226 }
227 }
228 }
229 } else {
230 if (VALADOC_IS_WIKI_PAGE (from)) {
231 if (VALADOC_API_IS_PACKAGE (to)) {
232 gchar* _tmp7_;
233 _tmp7_ = valadoc_html_link_helper_from_wiki_to_package (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage));
234 result = _tmp7_;
235 return result;
236 } else {
237 if (VALADOC_API_IS_NODE (to)) {
238 gchar* _tmp8_;
239 _tmp8_ = valadoc_html_link_helper_from_wiki_to_node (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_API_TYPE_NODE, ValadocApiNode));
240 result = _tmp8_;
241 return result;
242 } else {
243 if (VALADOC_IS_WIKI_PAGE (to)) {
244 gchar* _tmp9_;
245 _tmp9_ = valadoc_html_link_helper_from_wiki_to_wiki (self, G_TYPE_CHECK_INSTANCE_CAST (from, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage), G_TYPE_CHECK_INSTANCE_CAST (to, VALADOC_TYPE_WIKI_PAGE, ValadocWikiPage));
246 result = _tmp9_;
247 return result;
248 } else {
249 _vala_assert (TRUE, "true");
250 }
251 }
252 }
253 } else {
254 _vala_assert (TRUE, "true");
255 }
256 }
257 }
258 result = NULL;
259 return result;
260 }
261
262 static glong
string_strnlen(gchar * str,glong maxlen)263 string_strnlen (gchar* str,
264 glong maxlen)
265 {
266 gchar* end = NULL;
267 gchar* _tmp0_;
268 gchar* _tmp1_;
269 glong result = 0L;
270 _tmp0_ = memchr (str, 0, (gsize) maxlen);
271 end = _tmp0_;
272 _tmp1_ = end;
273 if (_tmp1_ == NULL) {
274 result = maxlen;
275 return result;
276 } else {
277 gchar* _tmp2_;
278 _tmp2_ = end;
279 result = (glong) (_tmp2_ - str);
280 return result;
281 }
282 }
283
284 static gchar*
string_substring(const gchar * self,glong offset,glong len)285 string_substring (const gchar* self,
286 glong offset,
287 glong len)
288 {
289 glong string_length = 0L;
290 gboolean _tmp0_ = FALSE;
291 gchar* _tmp3_;
292 gchar* result = NULL;
293 g_return_val_if_fail (self != NULL, NULL);
294 if (offset >= ((glong) 0)) {
295 _tmp0_ = len >= ((glong) 0);
296 } else {
297 _tmp0_ = FALSE;
298 }
299 if (_tmp0_) {
300 string_length = string_strnlen ((gchar*) self, offset + len);
301 } else {
302 gint _tmp1_;
303 gint _tmp2_;
304 _tmp1_ = strlen (self);
305 _tmp2_ = _tmp1_;
306 string_length = (glong) _tmp2_;
307 }
308 if (offset < ((glong) 0)) {
309 offset = string_length + offset;
310 g_return_val_if_fail (offset >= ((glong) 0), NULL);
311 } else {
312 g_return_val_if_fail (offset <= string_length, NULL);
313 }
314 if (len < ((glong) 0)) {
315 len = string_length - offset;
316 }
317 g_return_val_if_fail ((offset + len) <= string_length, NULL);
318 _tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
319 result = _tmp3_;
320 return result;
321 }
322
323 static gint
string_last_index_of_char(const gchar * self,gunichar c,gint start_index)324 string_last_index_of_char (const gchar* self,
325 gunichar c,
326 gint start_index)
327 {
328 gchar* _result_ = NULL;
329 gchar* _tmp0_;
330 gchar* _tmp1_;
331 gint result = 0;
332 g_return_val_if_fail (self != NULL, 0);
333 _tmp0_ = g_utf8_strrchr (((gchar*) self) + start_index, (gssize) -1, c);
334 _result_ = _tmp0_;
335 _tmp1_ = _result_;
336 if (_tmp1_ != NULL) {
337 gchar* _tmp2_;
338 _tmp2_ = _result_;
339 result = (gint) (_tmp2_ - ((gchar*) self));
340 return result;
341 } else {
342 result = -1;
343 return result;
344 }
345 }
346
347 static gchar*
string_replace(const gchar * self,const gchar * old,const gchar * replacement)348 string_replace (const gchar* self,
349 const gchar* old,
350 const gchar* replacement)
351 {
352 gboolean _tmp0_ = FALSE;
353 gboolean _tmp1_ = FALSE;
354 GError* _inner_error0_ = NULL;
355 gchar* result = NULL;
356 g_return_val_if_fail (self != NULL, NULL);
357 g_return_val_if_fail (old != NULL, NULL);
358 g_return_val_if_fail (replacement != NULL, NULL);
359 if ((*((gchar*) self)) == '\0') {
360 _tmp1_ = TRUE;
361 } else {
362 _tmp1_ = (*((gchar*) old)) == '\0';
363 }
364 if (_tmp1_) {
365 _tmp0_ = TRUE;
366 } else {
367 _tmp0_ = g_strcmp0 (old, replacement) == 0;
368 }
369 if (_tmp0_) {
370 gchar* _tmp2_;
371 _tmp2_ = g_strdup (self);
372 result = _tmp2_;
373 return result;
374 }
375 {
376 GRegex* regex = NULL;
377 gchar* _tmp3_;
378 gchar* _tmp4_;
379 GRegex* _tmp5_;
380 GRegex* _tmp6_;
381 gchar* _tmp7_ = NULL;
382 GRegex* _tmp8_;
383 gchar* _tmp9_;
384 gchar* _tmp10_;
385 _tmp3_ = g_regex_escape_string (old, -1);
386 _tmp4_ = _tmp3_;
387 _tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
388 _tmp6_ = _tmp5_;
389 _g_free0 (_tmp4_);
390 regex = _tmp6_;
391 if (G_UNLIKELY (_inner_error0_ != NULL)) {
392 _g_free0 (_tmp7_);
393 _g_regex_unref0 (regex);
394 if (_inner_error0_->domain == G_REGEX_ERROR) {
395 goto __catch0_g_regex_error;
396 }
397 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
398 g_clear_error (&_inner_error0_);
399 return NULL;
400 }
401 _tmp8_ = regex;
402 _tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
403 _tmp7_ = _tmp9_;
404 if (G_UNLIKELY (_inner_error0_ != NULL)) {
405 _g_free0 (_tmp7_);
406 _g_regex_unref0 (regex);
407 if (_inner_error0_->domain == G_REGEX_ERROR) {
408 goto __catch0_g_regex_error;
409 }
410 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
411 g_clear_error (&_inner_error0_);
412 return NULL;
413 }
414 _tmp10_ = _tmp7_;
415 _tmp7_ = NULL;
416 result = _tmp10_;
417 _g_free0 (_tmp7_);
418 _g_regex_unref0 (regex);
419 return result;
420 }
421 goto __finally0;
422 __catch0_g_regex_error:
423 {
424 g_clear_error (&_inner_error0_);
425 g_assert_not_reached ();
426 }
427 __finally0:
428 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
429 g_clear_error (&_inner_error0_);
430 return NULL;
431 }
432
433 gchar*
valadoc_html_link_helper_translate_wiki_name(ValadocHtmlLinkHelper * self,ValadocWikiPage * page)434 valadoc_html_link_helper_translate_wiki_name (ValadocHtmlLinkHelper* self,
435 ValadocWikiPage* page)
436 {
437 gchar* name = NULL;
438 const gchar* _tmp0_;
439 const gchar* _tmp1_;
440 gchar* _tmp2_;
441 gchar* _tmp3_;
442 gchar* _tmp4_;
443 gchar* _tmp5_;
444 gchar* _tmp6_;
445 gchar* _tmp7_;
446 gchar* _tmp8_;
447 gchar* result = NULL;
448 g_return_val_if_fail (self != NULL, NULL);
449 g_return_val_if_fail (page != NULL, NULL);
450 _tmp0_ = valadoc_wiki_page_get_name (page);
451 _tmp1_ = _tmp0_;
452 _tmp2_ = g_strdup (_tmp1_);
453 name = _tmp2_;
454 _tmp3_ = string_substring (name, (glong) 0, (glong) string_last_index_of_char (name, (gunichar) '.', 0));
455 _tmp4_ = _tmp3_;
456 _tmp5_ = string_replace (_tmp4_, "/", ".");
457 _tmp6_ = _tmp5_;
458 _tmp7_ = g_strconcat (_tmp6_, ".htm", NULL);
459 _tmp8_ = _tmp7_;
460 _g_free0 (_tmp6_);
461 _g_free0 (_tmp4_);
462 result = _tmp8_;
463 _g_free0 (name);
464 return result;
465 }
466
467 static gchar*
valadoc_html_link_helper_real_from_package_to_package(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocApiPackage * to)468 valadoc_html_link_helper_real_from_package_to_package (ValadocHtmlLinkHelper* self,
469 ValadocApiPackage* from,
470 ValadocApiPackage* to)
471 {
472 gboolean _tmp0_ = FALSE;
473 gboolean _tmp1_;
474 gchar* result = NULL;
475 g_return_val_if_fail (from != NULL, NULL);
476 g_return_val_if_fail (to != NULL, NULL);
477 _tmp1_ = self->priv->_enable_browsable_check;
478 if (_tmp1_) {
479 ValadocSettings* _tmp2_;
480 _tmp2_ = self->_settings;
481 _tmp0_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) to, _tmp2_);
482 } else {
483 _tmp0_ = FALSE;
484 }
485 if (_tmp0_) {
486 result = NULL;
487 return result;
488 }
489 if (from == to) {
490 gchar* _tmp3_;
491 _tmp3_ = g_strdup ("#");
492 result = _tmp3_;
493 return result;
494 } else {
495 const gchar* _tmp4_;
496 const gchar* _tmp5_;
497 gchar* _tmp6_;
498 _tmp4_ = valadoc_api_node_get_name ((ValadocApiNode*) to);
499 _tmp5_ = _tmp4_;
500 _tmp6_ = g_build_filename ("..", _tmp5_, "index.htm", NULL);
501 result = _tmp6_;
502 return result;
503 }
504 }
505
506 gchar*
valadoc_html_link_helper_from_package_to_package(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocApiPackage * to)507 valadoc_html_link_helper_from_package_to_package (ValadocHtmlLinkHelper* self,
508 ValadocApiPackage* from,
509 ValadocApiPackage* to)
510 {
511 g_return_val_if_fail (self != NULL, NULL);
512 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_package_to_package (self, from, to);
513 }
514
515 static gchar*
valadoc_html_link_helper_real_from_package_to_wiki(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocWikiPage * to)516 valadoc_html_link_helper_real_from_package_to_wiki (ValadocHtmlLinkHelper* self,
517 ValadocApiPackage* from,
518 ValadocWikiPage* to)
519 {
520 gboolean _tmp0_;
521 gboolean _tmp1_;
522 gchar* result = NULL;
523 g_return_val_if_fail (from != NULL, NULL);
524 g_return_val_if_fail (to != NULL, NULL);
525 _tmp0_ = valadoc_api_package_get_is_package (from);
526 _tmp1_ = _tmp0_;
527 if (_tmp1_) {
528 ValadocSettings* _tmp2_;
529 const gchar* _tmp3_;
530 gchar* _tmp4_;
531 gchar* _tmp5_;
532 gchar* _tmp6_;
533 gchar* _tmp7_;
534 _tmp2_ = self->_settings;
535 _tmp3_ = _tmp2_->pkg_name;
536 _tmp4_ = valadoc_html_link_helper_translate_wiki_name (self, to);
537 _tmp5_ = _tmp4_;
538 _tmp6_ = g_build_filename ("..", _tmp3_, _tmp5_, NULL);
539 _tmp7_ = _tmp6_;
540 _g_free0 (_tmp5_);
541 result = _tmp7_;
542 return result;
543 } else {
544 gchar* _tmp8_;
545 _tmp8_ = valadoc_html_link_helper_translate_wiki_name (self, to);
546 result = _tmp8_;
547 return result;
548 }
549 }
550
551 gchar*
valadoc_html_link_helper_from_package_to_wiki(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocWikiPage * to)552 valadoc_html_link_helper_from_package_to_wiki (ValadocHtmlLinkHelper* self,
553 ValadocApiPackage* from,
554 ValadocWikiPage* to)
555 {
556 g_return_val_if_fail (self != NULL, NULL);
557 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_package_to_wiki (self, from, to);
558 }
559
560 static gchar*
valadoc_html_link_helper_real_from_package_to_node(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocApiNode * to)561 valadoc_html_link_helper_real_from_package_to_node (ValadocHtmlLinkHelper* self,
562 ValadocApiPackage* from,
563 ValadocApiNode* to)
564 {
565 gboolean _tmp0_ = FALSE;
566 gboolean _tmp1_;
567 ValadocApiPackage* _tmp7_;
568 ValadocApiPackage* _tmp8_;
569 gchar* result = NULL;
570 g_return_val_if_fail (from != NULL, NULL);
571 g_return_val_if_fail (to != NULL, NULL);
572 _tmp1_ = self->priv->_enable_browsable_check;
573 if (_tmp1_) {
574 gboolean _tmp2_ = FALSE;
575 ValadocSettings* _tmp3_;
576 _tmp3_ = self->_settings;
577 if (!valadoc_api_node_is_browsable (to, _tmp3_)) {
578 _tmp2_ = TRUE;
579 } else {
580 ValadocApiPackage* _tmp4_;
581 ValadocApiPackage* _tmp5_;
582 ValadocSettings* _tmp6_;
583 _tmp4_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
584 _tmp5_ = _tmp4_;
585 _tmp6_ = self->_settings;
586 _tmp2_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) _tmp5_, _tmp6_);
587 }
588 _tmp0_ = _tmp2_;
589 } else {
590 _tmp0_ = FALSE;
591 }
592 if (_tmp0_) {
593 result = NULL;
594 return result;
595 }
596 _tmp7_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
597 _tmp8_ = _tmp7_;
598 if (from == _tmp8_) {
599 gchar* _tmp9_;
600 gchar* _tmp10_;
601 gchar* _tmp11_;
602 gchar* _tmp12_;
603 gchar* _tmp13_;
604 gchar* _tmp14_;
605 _tmp9_ = valadoc_api_node_get_full_name (to);
606 _tmp10_ = _tmp9_;
607 _tmp11_ = g_strconcat (_tmp10_, ".html", NULL);
608 _tmp12_ = _tmp11_;
609 _tmp13_ = g_build_filename (_tmp12_, NULL);
610 _tmp14_ = _tmp13_;
611 _g_free0 (_tmp12_);
612 _g_free0 (_tmp10_);
613 result = _tmp14_;
614 return result;
615 } else {
616 ValadocApiPackage* _tmp15_;
617 ValadocApiPackage* _tmp16_;
618 const gchar* _tmp17_;
619 const gchar* _tmp18_;
620 gchar* _tmp19_;
621 gchar* _tmp20_;
622 gchar* _tmp21_;
623 gchar* _tmp22_;
624 gchar* _tmp23_;
625 gchar* _tmp24_;
626 _tmp15_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
627 _tmp16_ = _tmp15_;
628 _tmp17_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp16_);
629 _tmp18_ = _tmp17_;
630 _tmp19_ = valadoc_api_node_get_full_name (to);
631 _tmp20_ = _tmp19_;
632 _tmp21_ = g_strconcat (_tmp20_, ".html", NULL);
633 _tmp22_ = _tmp21_;
634 _tmp23_ = g_build_filename ("..", _tmp18_, _tmp22_, NULL);
635 _tmp24_ = _tmp23_;
636 _g_free0 (_tmp22_);
637 _g_free0 (_tmp20_);
638 result = _tmp24_;
639 return result;
640 }
641 }
642
643 gchar*
valadoc_html_link_helper_from_package_to_node(ValadocHtmlLinkHelper * self,ValadocApiPackage * from,ValadocApiNode * to)644 valadoc_html_link_helper_from_package_to_node (ValadocHtmlLinkHelper* self,
645 ValadocApiPackage* from,
646 ValadocApiNode* to)
647 {
648 g_return_val_if_fail (self != NULL, NULL);
649 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_package_to_node (self, from, to);
650 }
651
652 static gchar*
valadoc_html_link_helper_real_from_wiki_to_package(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocApiPackage * to)653 valadoc_html_link_helper_real_from_wiki_to_package (ValadocHtmlLinkHelper* self,
654 ValadocWikiPage* from,
655 ValadocApiPackage* to)
656 {
657 gboolean _tmp0_ = FALSE;
658 gboolean _tmp1_;
659 gboolean _tmp3_;
660 gboolean _tmp4_;
661 gchar* result = NULL;
662 g_return_val_if_fail (from != NULL, NULL);
663 g_return_val_if_fail (to != NULL, NULL);
664 _tmp1_ = self->priv->_enable_browsable_check;
665 if (_tmp1_) {
666 ValadocSettings* _tmp2_;
667 _tmp2_ = self->_settings;
668 _tmp0_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) to, _tmp2_);
669 } else {
670 _tmp0_ = FALSE;
671 }
672 if (_tmp0_) {
673 result = NULL;
674 return result;
675 }
676 _tmp3_ = valadoc_api_package_get_is_package (to);
677 _tmp4_ = _tmp3_;
678 if (_tmp4_) {
679 const gchar* _tmp5_;
680 const gchar* _tmp6_;
681 gchar* _tmp7_;
682 _tmp5_ = valadoc_api_node_get_name ((ValadocApiNode*) to);
683 _tmp6_ = _tmp5_;
684 _tmp7_ = g_build_filename ("..", _tmp6_, "index.htm", NULL);
685 result = _tmp7_;
686 return result;
687 } else {
688 gchar* _tmp8_;
689 _tmp8_ = g_strdup ("index.htm");
690 result = _tmp8_;
691 return result;
692 }
693 }
694
695 gchar*
valadoc_html_link_helper_from_wiki_to_package(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocApiPackage * to)696 valadoc_html_link_helper_from_wiki_to_package (ValadocHtmlLinkHelper* self,
697 ValadocWikiPage* from,
698 ValadocApiPackage* to)
699 {
700 g_return_val_if_fail (self != NULL, NULL);
701 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_wiki_to_package (self, from, to);
702 }
703
704 static gchar*
valadoc_html_link_helper_real_from_wiki_to_wiki(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocWikiPage * to)705 valadoc_html_link_helper_real_from_wiki_to_wiki (ValadocHtmlLinkHelper* self,
706 ValadocWikiPage* from,
707 ValadocWikiPage* to)
708 {
709 gchar* _tmp0_;
710 gchar* result = NULL;
711 g_return_val_if_fail (from != NULL, NULL);
712 g_return_val_if_fail (to != NULL, NULL);
713 _tmp0_ = valadoc_html_link_helper_translate_wiki_name (self, to);
714 result = _tmp0_;
715 return result;
716 }
717
718 gchar*
valadoc_html_link_helper_from_wiki_to_wiki(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocWikiPage * to)719 valadoc_html_link_helper_from_wiki_to_wiki (ValadocHtmlLinkHelper* self,
720 ValadocWikiPage* from,
721 ValadocWikiPage* to)
722 {
723 g_return_val_if_fail (self != NULL, NULL);
724 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_wiki_to_wiki (self, from, to);
725 }
726
727 static gchar*
valadoc_html_link_helper_real_from_wiki_to_node(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocApiNode * to)728 valadoc_html_link_helper_real_from_wiki_to_node (ValadocHtmlLinkHelper* self,
729 ValadocWikiPage* from,
730 ValadocApiNode* to)
731 {
732 gboolean _tmp0_ = FALSE;
733 gboolean _tmp1_;
734 ValadocApiPackage* _tmp7_;
735 ValadocApiPackage* _tmp8_;
736 gboolean _tmp9_;
737 gboolean _tmp10_;
738 gchar* result = NULL;
739 g_return_val_if_fail (from != NULL, NULL);
740 g_return_val_if_fail (to != NULL, NULL);
741 _tmp1_ = self->priv->_enable_browsable_check;
742 if (_tmp1_) {
743 gboolean _tmp2_ = FALSE;
744 ValadocSettings* _tmp3_;
745 _tmp3_ = self->_settings;
746 if (!valadoc_api_node_is_browsable (to, _tmp3_)) {
747 _tmp2_ = TRUE;
748 } else {
749 ValadocApiPackage* _tmp4_;
750 ValadocApiPackage* _tmp5_;
751 ValadocSettings* _tmp6_;
752 _tmp4_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
753 _tmp5_ = _tmp4_;
754 _tmp6_ = self->_settings;
755 _tmp2_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) _tmp5_, _tmp6_);
756 }
757 _tmp0_ = _tmp2_;
758 } else {
759 _tmp0_ = FALSE;
760 }
761 if (_tmp0_) {
762 result = NULL;
763 return result;
764 }
765 _tmp7_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
766 _tmp8_ = _tmp7_;
767 _tmp9_ = valadoc_api_package_get_is_package (_tmp8_);
768 _tmp10_ = _tmp9_;
769 if (_tmp10_) {
770 ValadocApiPackage* _tmp11_;
771 ValadocApiPackage* _tmp12_;
772 const gchar* _tmp13_;
773 const gchar* _tmp14_;
774 gchar* _tmp15_;
775 gchar* _tmp16_;
776 gchar* _tmp17_;
777 gchar* _tmp18_;
778 gchar* _tmp19_;
779 gchar* _tmp20_;
780 _tmp11_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
781 _tmp12_ = _tmp11_;
782 _tmp13_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp12_);
783 _tmp14_ = _tmp13_;
784 _tmp15_ = valadoc_api_node_get_full_name (to);
785 _tmp16_ = _tmp15_;
786 _tmp17_ = g_strconcat (_tmp16_, ".html", NULL);
787 _tmp18_ = _tmp17_;
788 _tmp19_ = g_build_filename ("..", _tmp14_, _tmp18_, NULL);
789 _tmp20_ = _tmp19_;
790 _g_free0 (_tmp18_);
791 _g_free0 (_tmp16_);
792 result = _tmp20_;
793 return result;
794 } else {
795 gchar* _tmp21_;
796 gchar* _tmp22_;
797 gchar* _tmp23_;
798 gchar* _tmp24_;
799 _tmp21_ = valadoc_api_node_get_full_name (to);
800 _tmp22_ = _tmp21_;
801 _tmp23_ = g_strconcat (_tmp22_, ".html", NULL);
802 _tmp24_ = _tmp23_;
803 _g_free0 (_tmp22_);
804 result = _tmp24_;
805 return result;
806 }
807 }
808
809 gchar*
valadoc_html_link_helper_from_wiki_to_node(ValadocHtmlLinkHelper * self,ValadocWikiPage * from,ValadocApiNode * to)810 valadoc_html_link_helper_from_wiki_to_node (ValadocHtmlLinkHelper* self,
811 ValadocWikiPage* from,
812 ValadocApiNode* to)
813 {
814 g_return_val_if_fail (self != NULL, NULL);
815 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_wiki_to_node (self, from, to);
816 }
817
818 static gchar*
valadoc_html_link_helper_real_from_node_to_package(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocApiPackage * to)819 valadoc_html_link_helper_real_from_node_to_package (ValadocHtmlLinkHelper* self,
820 ValadocApiNode* from,
821 ValadocApiPackage* to)
822 {
823 gboolean _tmp0_ = FALSE;
824 gboolean _tmp1_;
825 ValadocApiPackage* _tmp3_;
826 ValadocApiPackage* _tmp4_;
827 gchar* result = NULL;
828 g_return_val_if_fail (from != NULL, NULL);
829 g_return_val_if_fail (to != NULL, NULL);
830 _tmp1_ = self->priv->_enable_browsable_check;
831 if (_tmp1_) {
832 ValadocSettings* _tmp2_;
833 _tmp2_ = self->_settings;
834 _tmp0_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) to, _tmp2_);
835 } else {
836 _tmp0_ = FALSE;
837 }
838 if (_tmp0_) {
839 result = NULL;
840 return result;
841 }
842 _tmp3_ = valadoc_documentation_get_package ((ValadocDocumentation*) from);
843 _tmp4_ = _tmp3_;
844 if (_tmp4_ == to) {
845 gchar* _tmp5_;
846 _tmp5_ = g_strdup ("index.htm");
847 result = _tmp5_;
848 return result;
849 } else {
850 const gchar* _tmp6_;
851 const gchar* _tmp7_;
852 gchar* _tmp8_;
853 _tmp6_ = valadoc_api_node_get_name ((ValadocApiNode*) to);
854 _tmp7_ = _tmp6_;
855 _tmp8_ = g_build_filename ("..", _tmp7_, "index.htm", NULL);
856 result = _tmp8_;
857 return result;
858 }
859 }
860
861 gchar*
valadoc_html_link_helper_from_node_to_package(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocApiPackage * to)862 valadoc_html_link_helper_from_node_to_package (ValadocHtmlLinkHelper* self,
863 ValadocApiNode* from,
864 ValadocApiPackage* to)
865 {
866 g_return_val_if_fail (self != NULL, NULL);
867 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_node_to_package (self, from, to);
868 }
869
870 static gchar*
valadoc_html_link_helper_real_from_node_to_wiki(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocWikiPage * to)871 valadoc_html_link_helper_real_from_node_to_wiki (ValadocHtmlLinkHelper* self,
872 ValadocApiNode* from,
873 ValadocWikiPage* to)
874 {
875 ValadocApiPackage* _tmp0_;
876 ValadocApiPackage* _tmp1_;
877 gboolean _tmp2_;
878 gboolean _tmp3_;
879 gchar* result = NULL;
880 g_return_val_if_fail (from != NULL, NULL);
881 g_return_val_if_fail (to != NULL, NULL);
882 _tmp0_ = valadoc_documentation_get_package ((ValadocDocumentation*) from);
883 _tmp1_ = _tmp0_;
884 _tmp2_ = valadoc_api_package_get_is_package (_tmp1_);
885 _tmp3_ = _tmp2_;
886 if (_tmp3_) {
887 ValadocSettings* _tmp4_;
888 const gchar* _tmp5_;
889 gchar* _tmp6_;
890 gchar* _tmp7_;
891 gchar* _tmp8_;
892 gchar* _tmp9_;
893 _tmp4_ = self->_settings;
894 _tmp5_ = _tmp4_->pkg_name;
895 _tmp6_ = valadoc_html_link_helper_translate_wiki_name (self, to);
896 _tmp7_ = _tmp6_;
897 _tmp8_ = g_build_filename ("..", _tmp5_, _tmp7_, NULL);
898 _tmp9_ = _tmp8_;
899 _g_free0 (_tmp7_);
900 result = _tmp9_;
901 return result;
902 } else {
903 gchar* _tmp10_;
904 _tmp10_ = valadoc_html_link_helper_translate_wiki_name (self, to);
905 result = _tmp10_;
906 return result;
907 }
908 }
909
910 gchar*
valadoc_html_link_helper_from_node_to_wiki(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocWikiPage * to)911 valadoc_html_link_helper_from_node_to_wiki (ValadocHtmlLinkHelper* self,
912 ValadocApiNode* from,
913 ValadocWikiPage* to)
914 {
915 g_return_val_if_fail (self != NULL, NULL);
916 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_node_to_wiki (self, from, to);
917 }
918
919 static gchar*
valadoc_html_link_helper_real_from_node_to_node(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocApiNode * to)920 valadoc_html_link_helper_real_from_node_to_node (ValadocHtmlLinkHelper* self,
921 ValadocApiNode* from,
922 ValadocApiNode* to)
923 {
924 gboolean _tmp0_ = FALSE;
925 gboolean _tmp1_;
926 ValadocApiPackage* _tmp7_;
927 ValadocApiPackage* _tmp8_;
928 ValadocApiPackage* _tmp9_;
929 ValadocApiPackage* _tmp10_;
930 gchar* result = NULL;
931 g_return_val_if_fail (from != NULL, NULL);
932 g_return_val_if_fail (to != NULL, NULL);
933 _tmp1_ = self->priv->_enable_browsable_check;
934 if (_tmp1_) {
935 gboolean _tmp2_ = FALSE;
936 ValadocSettings* _tmp3_;
937 _tmp3_ = self->_settings;
938 if (!valadoc_api_node_is_browsable (to, _tmp3_)) {
939 _tmp2_ = TRUE;
940 } else {
941 ValadocApiPackage* _tmp4_;
942 ValadocApiPackage* _tmp5_;
943 ValadocSettings* _tmp6_;
944 _tmp4_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
945 _tmp5_ = _tmp4_;
946 _tmp6_ = self->_settings;
947 _tmp2_ = !valadoc_api_node_is_browsable ((ValadocApiNode*) _tmp5_, _tmp6_);
948 }
949 _tmp0_ = _tmp2_;
950 } else {
951 _tmp0_ = FALSE;
952 }
953 if (_tmp0_) {
954 result = NULL;
955 return result;
956 }
957 _tmp7_ = valadoc_documentation_get_package ((ValadocDocumentation*) from);
958 _tmp8_ = _tmp7_;
959 _tmp9_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
960 _tmp10_ = _tmp9_;
961 if (_tmp8_ == _tmp10_) {
962 gchar* _tmp11_;
963 gchar* _tmp12_;
964 gchar* _tmp13_;
965 gchar* _tmp14_;
966 gchar* _tmp15_;
967 gchar* _tmp16_;
968 _tmp11_ = valadoc_api_node_get_full_name (to);
969 _tmp12_ = _tmp11_;
970 _tmp13_ = g_strconcat (_tmp12_, ".html", NULL);
971 _tmp14_ = _tmp13_;
972 _tmp15_ = g_build_filename (_tmp14_, NULL);
973 _tmp16_ = _tmp15_;
974 _g_free0 (_tmp14_);
975 _g_free0 (_tmp12_);
976 result = _tmp16_;
977 return result;
978 } else {
979 ValadocApiPackage* _tmp17_;
980 ValadocApiPackage* _tmp18_;
981 const gchar* _tmp19_;
982 const gchar* _tmp20_;
983 gchar* _tmp21_;
984 gchar* _tmp22_;
985 gchar* _tmp23_;
986 gchar* _tmp24_;
987 gchar* _tmp25_;
988 gchar* _tmp26_;
989 _tmp17_ = valadoc_documentation_get_package ((ValadocDocumentation*) to);
990 _tmp18_ = _tmp17_;
991 _tmp19_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp18_);
992 _tmp20_ = _tmp19_;
993 _tmp21_ = valadoc_api_node_get_full_name (to);
994 _tmp22_ = _tmp21_;
995 _tmp23_ = g_strconcat (_tmp22_, ".html", NULL);
996 _tmp24_ = _tmp23_;
997 _tmp25_ = g_build_filename ("..", _tmp20_, _tmp24_, NULL);
998 _tmp26_ = _tmp25_;
999 _g_free0 (_tmp24_);
1000 _g_free0 (_tmp22_);
1001 result = _tmp26_;
1002 return result;
1003 }
1004 }
1005
1006 gchar*
valadoc_html_link_helper_from_node_to_node(ValadocHtmlLinkHelper * self,ValadocApiNode * from,ValadocApiNode * to)1007 valadoc_html_link_helper_from_node_to_node (ValadocHtmlLinkHelper* self,
1008 ValadocApiNode* from,
1009 ValadocApiNode* to)
1010 {
1011 g_return_val_if_fail (self != NULL, NULL);
1012 return VALADOC_HTML_LINK_HELPER_GET_CLASS (self)->from_node_to_node (self, from, to);
1013 }
1014
1015 ValadocHtmlLinkHelper*
valadoc_html_link_helper_construct(GType object_type)1016 valadoc_html_link_helper_construct (GType object_type)
1017 {
1018 ValadocHtmlLinkHelper * self = NULL;
1019 self = (ValadocHtmlLinkHelper*) g_object_new (object_type, NULL);
1020 return self;
1021 }
1022
1023 ValadocHtmlLinkHelper*
valadoc_html_link_helper_new(void)1024 valadoc_html_link_helper_new (void)
1025 {
1026 return valadoc_html_link_helper_construct (VALADOC_HTML_TYPE_LINK_HELPER);
1027 }
1028
1029 static void
valadoc_html_link_helper_class_init(ValadocHtmlLinkHelperClass * klass,gpointer klass_data)1030 valadoc_html_link_helper_class_init (ValadocHtmlLinkHelperClass * klass,
1031 gpointer klass_data)
1032 {
1033 valadoc_html_link_helper_parent_class = g_type_class_peek_parent (klass);
1034 g_type_class_adjust_private_offset (klass, &ValadocHtmlLinkHelper_private_offset);
1035 ((ValadocHtmlLinkHelperClass *) klass)->get_package_link = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiPackage*, ValadocSettings*)) valadoc_html_link_helper_real_get_package_link;
1036 ((ValadocHtmlLinkHelperClass *) klass)->from_package_to_package = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiPackage*, ValadocApiPackage*)) valadoc_html_link_helper_real_from_package_to_package;
1037 ((ValadocHtmlLinkHelperClass *) klass)->from_package_to_wiki = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiPackage*, ValadocWikiPage*)) valadoc_html_link_helper_real_from_package_to_wiki;
1038 ((ValadocHtmlLinkHelperClass *) klass)->from_package_to_node = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiPackage*, ValadocApiNode*)) valadoc_html_link_helper_real_from_package_to_node;
1039 ((ValadocHtmlLinkHelperClass *) klass)->from_wiki_to_package = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocWikiPage*, ValadocApiPackage*)) valadoc_html_link_helper_real_from_wiki_to_package;
1040 ((ValadocHtmlLinkHelperClass *) klass)->from_wiki_to_wiki = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocWikiPage*, ValadocWikiPage*)) valadoc_html_link_helper_real_from_wiki_to_wiki;
1041 ((ValadocHtmlLinkHelperClass *) klass)->from_wiki_to_node = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocWikiPage*, ValadocApiNode*)) valadoc_html_link_helper_real_from_wiki_to_node;
1042 ((ValadocHtmlLinkHelperClass *) klass)->from_node_to_package = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiNode*, ValadocApiPackage*)) valadoc_html_link_helper_real_from_node_to_package;
1043 ((ValadocHtmlLinkHelperClass *) klass)->from_node_to_wiki = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiNode*, ValadocWikiPage*)) valadoc_html_link_helper_real_from_node_to_wiki;
1044 ((ValadocHtmlLinkHelperClass *) klass)->from_node_to_node = (gchar* (*) (ValadocHtmlLinkHelper*, ValadocApiNode*, ValadocApiNode*)) valadoc_html_link_helper_real_from_node_to_node;
1045 G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_html_link_helper_get_property;
1046 G_OBJECT_CLASS (klass)->set_property = _vala_valadoc_html_link_helper_set_property;
1047 G_OBJECT_CLASS (klass)->finalize = valadoc_html_link_helper_finalize;
1048 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY, valadoc_html_link_helper_properties[VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY] = g_param_spec_boolean ("enable-browsable-check", "enable-browsable-check", "enable-browsable-check", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
1049 }
1050
1051 static void
valadoc_html_link_helper_instance_init(ValadocHtmlLinkHelper * self,gpointer klass)1052 valadoc_html_link_helper_instance_init (ValadocHtmlLinkHelper * self,
1053 gpointer klass)
1054 {
1055 self->priv = valadoc_html_link_helper_get_instance_private (self);
1056 self->_settings = NULL;
1057 self->priv->_enable_browsable_check = TRUE;
1058 }
1059
1060 static void
valadoc_html_link_helper_finalize(GObject * obj)1061 valadoc_html_link_helper_finalize (GObject * obj)
1062 {
1063 ValadocHtmlLinkHelper * self;
1064 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_HTML_TYPE_LINK_HELPER, ValadocHtmlLinkHelper);
1065 _g_object_unref0 (self->_settings);
1066 G_OBJECT_CLASS (valadoc_html_link_helper_parent_class)->finalize (obj);
1067 }
1068
1069 static GType
valadoc_html_link_helper_get_type_once(void)1070 valadoc_html_link_helper_get_type_once (void)
1071 {
1072 static const GTypeInfo g_define_type_info = { sizeof (ValadocHtmlLinkHelperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_html_link_helper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocHtmlLinkHelper), 0, (GInstanceInitFunc) valadoc_html_link_helper_instance_init, NULL };
1073 GType valadoc_html_link_helper_type_id;
1074 valadoc_html_link_helper_type_id = g_type_register_static (G_TYPE_OBJECT, "ValadocHtmlLinkHelper", &g_define_type_info, 0);
1075 ValadocHtmlLinkHelper_private_offset = g_type_add_instance_private (valadoc_html_link_helper_type_id, sizeof (ValadocHtmlLinkHelperPrivate));
1076 return valadoc_html_link_helper_type_id;
1077 }
1078
1079 GType
valadoc_html_link_helper_get_type(void)1080 valadoc_html_link_helper_get_type (void)
1081 {
1082 static volatile gsize valadoc_html_link_helper_type_id__volatile = 0;
1083 if (g_once_init_enter (&valadoc_html_link_helper_type_id__volatile)) {
1084 GType valadoc_html_link_helper_type_id;
1085 valadoc_html_link_helper_type_id = valadoc_html_link_helper_get_type_once ();
1086 g_once_init_leave (&valadoc_html_link_helper_type_id__volatile, valadoc_html_link_helper_type_id);
1087 }
1088 return valadoc_html_link_helper_type_id__volatile;
1089 }
1090
1091 static void
_vala_valadoc_html_link_helper_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)1092 _vala_valadoc_html_link_helper_get_property (GObject * object,
1093 guint property_id,
1094 GValue * value,
1095 GParamSpec * pspec)
1096 {
1097 ValadocHtmlLinkHelper * self;
1098 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_HTML_TYPE_LINK_HELPER, ValadocHtmlLinkHelper);
1099 switch (property_id) {
1100 case VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY:
1101 g_value_set_boolean (value, valadoc_html_link_helper_get_enable_browsable_check (self));
1102 break;
1103 default:
1104 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1105 break;
1106 }
1107 }
1108
1109 static void
_vala_valadoc_html_link_helper_set_property(GObject * object,guint property_id,const GValue * value,GParamSpec * pspec)1110 _vala_valadoc_html_link_helper_set_property (GObject * object,
1111 guint property_id,
1112 const GValue * value,
1113 GParamSpec * pspec)
1114 {
1115 ValadocHtmlLinkHelper * self;
1116 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_HTML_TYPE_LINK_HELPER, ValadocHtmlLinkHelper);
1117 switch (property_id) {
1118 case VALADOC_HTML_LINK_HELPER_ENABLE_BROWSABLE_CHECK_PROPERTY:
1119 valadoc_html_link_helper_set_enable_browsable_check (self, g_value_get_boolean (value));
1120 break;
1121 default:
1122 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1123 break;
1124 }
1125 }
1126
1127