diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2014-07-04 18:18:32 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2014-08-15 09:45:41 +0800 |
commit | 94380459c1e33c0f47a7f21a3608d7966aaf9208 (patch) | |
tree | bb539aaae0e903289c62a3407d79b140d33e0f94 /girepository/gibaseinfo.h | |
parent | 4bfe7f1da88c6bd73cc51666a13840661ab9edb1 (diff) | |
download | gobject-introspection-94380459c1e33c0f47a7f21a3608d7966aaf9208.tar.gz |
girepository: Add Header for Version Macros
This adds a header to the girepository library, which is then included
either directly or indirectly by the other headers so that all the public
symbols (and the 2 symbols in gitypelib-internal.h used by the tools) are
decorated by a macro, that can later be used to export the symbols and also
to be used to display compile-time warnings for usage of deprecated APIs,
which is like what is now being done in GLib (and GTK+, Clutter, and so
on).
This marks the first step that we begin to stop depending on the .symbols/
.def files to export the symbols.
https://bugzilla.gnome.org/show_bug.cgi?id=732669
Diffstat (limited to 'girepository/gibaseinfo.h')
-rw-r--r-- | girepository/gibaseinfo.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/girepository/gibaseinfo.h b/girepository/gibaseinfo.h index a49dd506..52471df3 100644 --- a/girepository/gibaseinfo.h +++ b/girepository/gibaseinfo.h @@ -66,23 +66,49 @@ typedef struct { #define GI_TYPE_BASE_INFO (g_base_info_gtype_get_type ()) + +GI_AVAILABLE_IN_ALL GType g_base_info_gtype_get_type (void) G_GNUC_CONST; + +GI_AVAILABLE_IN_ALL GIBaseInfo * g_base_info_ref (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL void g_base_info_unref (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL GIInfoType g_base_info_get_type (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL const gchar * g_base_info_get_name (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL const gchar * g_base_info_get_namespace (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL gboolean g_base_info_is_deprecated (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL const gchar * g_base_info_get_attribute (GIBaseInfo *info, const gchar *name); + +GI_AVAILABLE_IN_ALL gboolean g_base_info_iterate_attributes (GIBaseInfo *info, GIAttributeIter *iterator, char **name, char **value); + +GI_AVAILABLE_IN_ALL GIBaseInfo * g_base_info_get_container (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL GITypelib * g_base_info_get_typelib (GIBaseInfo *info); + +GI_AVAILABLE_IN_ALL gboolean g_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2); + +GI_AVAILABLE_IN_ALL GIBaseInfo * g_info_new (GIInfoType type, GIBaseInfo *container, GITypelib *typelib, |