[build] Added basic GObject introspection to libadg
[adg.git] / src / adg / adg-internal.h
blob07358aa4938745252e6f2cfd007243072336d920
1 /* ADG - Automatic Drawing Generation
2 * Copyright (C) 2007,2008,2009,2010,2011 Nicola Fontana <ntd at entidi.it>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
21 * This header is included by every .c files of the library to
22 * enable the inclusion of the internal headers and initialize
23 * some common stuff (above all, localization).
26 #ifndef __ADG_INTERNAL_H__
27 #define __ADG_INTERNAL_H__
30 /* The following define enables the inclusion of internal headers */
31 #undef __ADG_H__
32 #define __ADG_H__
34 #include <config.h>
35 #define G_LOG_DOMAIN PACKAGE
36 #include <glib-object.h>
37 #include <cpml.h>
39 /* The following headers are autogenerated, so they could be hosted
40 * in a different directory on VPATH builds (in other words, angle
41 * brackets are used instead of quotes) */
42 #include <adg/adg-type-builtins.h>
43 #include <adg/adg-marshal.h>
45 /* ADG headers basically included by every source file */
46 #include "adg-enums.h"
47 #include "adg-utils.h"
48 #include "adg-pair.h"
49 #include "adg-matrix.h"
50 #include "adg-primitive.h"
51 #include "adg-segment.h"
52 #include "adg-entity.h"
55 #ifdef ENABLE_NLS
57 #include <libintl.h>
59 #ifndef GETTEXT_PACKAGE
60 #error You must define GETTEXT_PACKAGE before including adg-internal.h. Did you forget to include config.h?
61 #endif
63 #ifdef gettext_noop
64 #define N_(String) gettext_noop(String)
65 #else
66 #define N_(String) (String)
67 #endif
69 #define _(String) _adg_dgettext(GETTEXT_PACKAGE, String)
70 #define P_(String) _adg_dgettext(GETTEXT_PACKAGE "-properties", String)
71 #define Q_(String) _adg_dpgettext(GETTEXT_PACKAGE, String, 0)
72 #define C_(Context,String) _adg_dpgettext(GETTEXT_PACKAGE, Context "\004" String, strlen(Context) + 1)
73 #define NC_(Context,String) N_(String)
75 #else /* !ENABLE_NLS */
77 #define _(String) (String)
78 #define P_(String) (String)
79 #define Q_(String) (String)
80 #define N_(String) (String)
81 #define C_(Context,String) (String)
82 #define NC_(Context, String) (String)
84 #endif
87 G_CONST_RETURN gchar * _adg_dgettext (const gchar *domain,
88 const gchar *msgid) G_GNUC_FORMAT(2);
89 G_CONST_RETURN gchar * _adg_dpgettext (const gchar *domain,
90 const gchar *msgctxtid,
91 gsize msgidoffset) G_GNUC_FORMAT(2);
94 #endif /* __ADG_INTERNAL_H__ */