summaryrefslogtreecommitdiff
path: root/girepository/girepository.h
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-07-04 18:18:32 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-08-15 09:45:41 +0800
commit94380459c1e33c0f47a7f21a3608d7966aaf9208 (patch)
treebb539aaae0e903289c62a3407d79b140d33e0f94 /girepository/girepository.h
parent4bfe7f1da88c6bd73cc51666a13840661ab9edb1 (diff)
downloadgobject-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/girepository.h')
-rw-r--r--girepository/girepository.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/girepository/girepository.h b/girepository/girepository.h
index dea250df..dcc34ce2 100644
--- a/girepository/girepository.h
+++ b/girepository/girepository.h
@@ -45,6 +45,7 @@
#include <gitypelib.h>
#include <gitypes.h>
#include <giunioninfo.h>
+#include <giversionmacros.h>
#include <givfuncinfo.h>
G_BEGIN_DECLS
@@ -92,57 +93,99 @@ typedef enum
/* Repository */
+GI_AVAILABLE_IN_ALL
GType g_irepository_get_type (void) G_GNUC_CONST;
+
+GI_AVAILABLE_IN_ALL
GIRepository *g_irepository_get_default (void);
+
+GI_AVAILABLE_IN_ALL
void g_irepository_prepend_search_path (const char *directory);
+
+GI_AVAILABLE_IN_1_36
void g_irepository_prepend_library_path (const char *directory);
+
+GI_AVAILABLE_IN_ALL
GSList * g_irepository_get_search_path (void);
+
+GI_AVAILABLE_IN_ALL
const char * g_irepository_load_typelib (GIRepository *repository,
GITypelib *typelib,
GIRepositoryLoadFlags flags,
GError **error);
+
+GI_AVAILABLE_IN_ALL
gboolean g_irepository_is_registered (GIRepository *repository,
const gchar *namespace_,
const gchar *version);
+
+GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_find_by_name (GIRepository *repository,
const gchar *namespace_,
const gchar *name);
+
+GI_AVAILABLE_IN_ALL
GList * g_irepository_enumerate_versions (GIRepository *repository,
const gchar *namespace_);
+
+GI_AVAILABLE_IN_ALL
GITypelib * g_irepository_require (GIRepository *repository,
const gchar *namespace_,
const gchar *version,
GIRepositoryLoadFlags flags,
GError **error);
+
+GI_AVAILABLE_IN_ALL
GITypelib * g_irepository_require_private (GIRepository *repository,
const gchar *typelib_dir,
const gchar *namespace_,
const gchar *version,
GIRepositoryLoadFlags flags,
GError **error);
+
+GI_AVAILABLE_IN_ALL
gchar ** g_irepository_get_dependencies (GIRepository *repository,
const gchar *namespace_);
+
+GI_AVAILABLE_IN_ALL
gchar ** g_irepository_get_loaded_namespaces (GIRepository *repository);
+
+GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_find_by_gtype (GIRepository *repository,
GType gtype);
+
+GI_AVAILABLE_IN_ALL
gint g_irepository_get_n_infos (GIRepository *repository,
const gchar *namespace_);
+
+GI_AVAILABLE_IN_ALL
GIBaseInfo * g_irepository_get_info (GIRepository *repository,
const gchar *namespace_,
gint index);
+
+GI_AVAILABLE_IN_ALL
GIEnumInfo * g_irepository_find_by_error_domain (GIRepository *repository,
GQuark domain);
+
+GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_typelib_path (GIRepository *repository,
const gchar *namespace_);
+GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_shared_library (GIRepository *repository,
const gchar *namespace_);
+GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_c_prefix (GIRepository *repository,
const gchar *namespace_);
+GI_AVAILABLE_IN_ALL
const gchar * g_irepository_get_version (GIRepository *repository,
const gchar *namespace_);
+
+GI_AVAILABLE_IN_ALL
GOptionGroup * g_irepository_get_option_group (void);
+
+GI_AVAILABLE_IN_ALL
gboolean g_irepository_dump (const char *arg, GError **error);
/**
@@ -175,11 +218,13 @@ typedef enum
*/
#define G_IREPOSITORY_ERROR (g_irepository_error_quark ())
+GI_AVAILABLE_IN_ALL
GQuark g_irepository_error_quark (void);
/* Global utility functions */
+GI_AVAILABLE_IN_ALL
void gi_cclosure_marshal_generic (GClosure *closure,
GValue *return_gvalue,
guint n_param_values,