summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-08-12 12:03:23 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-08-15 09:52:13 +0800
commiteab36c0001e22c0ee66246ae9a0b8018b2325c96 (patch)
tree394acebd1032cf193e1f7404f4a5a780623068bc
parent28b01ad77f18f2df09878d59c3c0ed7e877badd4 (diff)
downloadgobject-introspection-eab36c0001e22c0ee66246ae9a0b8018b2325c96.tar.gz
tests/scanner: Decorate Symbols for Export
This updates the test headers and sources to decorate the symbols with the macro that can be used to export the symbols, and include config.h first in the c-sources so that the macro can be defined with the compiler directive to export the symbols. Update the CFLAGS as well so that the header that defines the export decoration macro can be found. https://bugzilla.gnome.org/show_bug.cgi?id=732669
-rw-r--r--tests/scanner/Makefile.am10
-rw-r--r--tests/scanner/annotation.c2
-rw-r--r--tests/scanner/annotation.h94
-rw-r--r--tests/scanner/barapp.c2
-rw-r--r--tests/scanner/barapp.h9
-rw-r--r--tests/scanner/drawable.c2
-rw-r--r--tests/scanner/drawable.h11
-rw-r--r--tests/scanner/foo.c2
-rw-r--r--tests/scanner/foo.h145
-rw-r--r--tests/scanner/gettype.c2
-rw-r--r--tests/scanner/gettype.h11
-rw-r--r--tests/scanner/gtkfrob.c2
-rw-r--r--tests/scanner/gtkfrob.h2
-rw-r--r--tests/scanner/regress.c2
-rw-r--r--tests/scanner/regress.h419
-rw-r--r--tests/scanner/sletter.c1
-rw-r--r--tests/scanner/sletter.h7
-rw-r--r--tests/scanner/typedefs.c2
-rw-r--r--tests/scanner/typedefs.h12
-rw-r--r--tests/scanner/utility.c2
-rw-r--r--tests/scanner/utility.h7
-rw-r--r--tests/scanner/warnlib.h7
22 files changed, 752 insertions, 1 deletions
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index 8b20141c..92ab12a3 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -20,8 +20,9 @@ EXTRA_LTLIBRARIES = \
$(NULL)
CLEANFILES += $(EXTRA_LTLIBRARIES)
+GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests
AM_CPPFLAGS = -I$(top_srcdir)/girepository
-AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS)
+AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS)
# -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
# target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
AM_LDFLAGS = -rpath /unused -avoid-version
@@ -82,6 +83,7 @@ EXTRA_DIST = $(EXPECTEDGIRS)
SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
SLetter_1_0_gir_LIBS = libsletter.la
+SLetter_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
SLetter_1_0_gir_INCLUDES = Gio-2.0
SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
@@ -100,6 +102,7 @@ GIRS += Regress-1.0.gir
WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
WarnLib_1_0_gir_LIBS = libwarnlib.la
+WarnLib_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
WarnLib_1_0_gir_INCLUDES = Gio-2.0
WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
@@ -108,6 +111,7 @@ GIRS += WarnLib-1.0.gir
Utility-1.0.gir: libutility.la
Utility_1_0_gir_PACKAGES = gobject-2.0
Utility_1_0_gir_LIBS = libutility.la
+Utility_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
Utility_1_0_gir_INCLUDES = GObject-2.0
Utility_1_0_gir_FILES = $(libutility_la_SOURCES)
Utility_1_0_gir_SCANNERFLAGS = --c-include="utility.h" --warn-error
@@ -117,6 +121,7 @@ GIRS += Utility-1.0.gir
GtkFrob-1.0.gir: libgtkfrob.la
GtkFrob_1_0_gir_PACKAGES = gobject-2.0
GtkFrob_1_0_gir_LIBS = libgtkfrob.la
+GtkFrob_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
GtkFrob_1_0_gir_INCLUDES = GObject-2.0
GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES)
GtkFrob_1_0_gir_SCANNERFLAGS = --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error
@@ -127,6 +132,7 @@ GIRS += GtkFrob-1.0.gir
GetType-1.0.gir: libgettype.la
GetType_1_0_gir_PACKAGES = gobject-2.0
GetType_1_0_gir_LIBS = libgettype.la
+GetType_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
GetType_1_0_gir_INCLUDES = GObject-2.0
GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
@@ -135,6 +141,7 @@ GIRS += GetType-1.0.gir
Typedefs-1.0.gir: libtypedefs.la
Typedefs_1_0_gir_PACKAGES = gobject-2.0
Typedefs_1_0_gir_LIBS = libtypedefs.la
+Typedefs_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
Typedefs_1_0_gir_INCLUDES = GObject-2.0
Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
@@ -151,6 +158,7 @@ barapp_LDFLAGS = -export-dynamic
Bar-1.0.gir: barapp
Bar_1_0_gir_PACKAGES = gobject-2.0
Bar_1_0_gir_PROGRAM = ./barapp
+Bar_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
Bar_1_0_gir_INCLUDES = GObject-2.0
Bar_1_0_gir_FILES = $(barapp_SOURCES)
Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c
index 30dc72ef..173db974 100644
--- a/tests/scanner/annotation.c
+++ b/tests/scanner/annotation.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include "annotation.h"
char backslash_parsing_tester = '\\';
diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h
index b0cbe42d..07894dfc 100644
--- a/tests/scanner/annotation.h
+++ b/tests/scanner/annotation.h
@@ -1,6 +1,8 @@
#ifndef __REGRESS_ANNOTATION_OBJECT_H__
#define __REGRESS_ANNOTATION_OBJECT_H__
+#include "gitestmacros.h"
+
#include <glib-object.h>
typedef enum /*< flags,prefix=ANN >*/
@@ -58,95 +60,177 @@ struct _RegressAnnotationObjectClass
GObjectClass parent_class;
};
+_GI_TEST_EXTERN
GType regress_annotation_object_get_type (void);
+_GI_TEST_EXTERN
gint regress_annotation_object_method (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_out (RegressAnnotationObject *object,
int *outarg);
+
+_GI_TEST_EXTERN
GObject* regress_annotation_object_create_object(RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
GObject* regress_annotation_object_allow_none (RegressAnnotationObject *object,
const gchar *somearg);
+
+_GI_TEST_EXTERN
GObject* regress_annotation_object_notrans (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_inout (RegressAnnotationObject *object,
int *inoutarg);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_inout2 (RegressAnnotationObject *object,
int *inoutarg);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_inout3 (RegressAnnotationObject *object,
int *inoutarg);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_in (RegressAnnotationObject *object,
int *inarg);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_calleeowns (RegressAnnotationObject *object,
GObject **toown);
+
+_GI_TEST_EXTERN
gint regress_annotation_object_calleesowns (RegressAnnotationObject *object,
GObject **toown1,
GObject **toown2);
+
+_GI_TEST_EXTERN
GList* regress_annotation_object_get_strings (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
GHashTable*regress_annotation_object_get_hash (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
void regress_annotation_object_with_voidp (RegressAnnotationObject *object,
void *data);
+
+_GI_TEST_EXTERN
GSList* regress_annotation_object_get_objects (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
void regress_annotation_object_use_buffer (RegressAnnotationObject *object,
guchar *bytes);
+
+_GI_TEST_EXTERN
void regress_annotation_object_compute_sum (RegressAnnotationObject *object,
int *nums);
+
+_GI_TEST_EXTERN
void regress_annotation_object_compute_sum_n(RegressAnnotationObject *object,
int *nums,
int n_nums);
+
+_GI_TEST_EXTERN
void regress_annotation_object_compute_sum_nz(RegressAnnotationObject *object,
int *nums,
int n_nums);
+
+_GI_TEST_EXTERN
void regress_annotation_object_parse_args (RegressAnnotationObject *object,
int *argc,
char ***argv);
+
+_GI_TEST_EXTERN
gboolean regress_annotation_object_string_out (RegressAnnotationObject *object,
char **str_out);
+
+_GI_TEST_EXTERN
void regress_annotation_object_foreach (RegressAnnotationObject *object,
RegressAnnotationForeachFunc func,
gpointer user_data);
+
+_GI_TEST_EXTERN
void regress_annotation_object_set_data (RegressAnnotationObject *object,
const guchar *data,
gsize length);
+
+_GI_TEST_EXTERN
void regress_annotation_object_set_data2 (RegressAnnotationObject *object,
const gchar *data,
gsize length);
+
+_GI_TEST_EXTERN
void regress_annotation_object_set_data3 (RegressAnnotationObject *object,
gpointer data,
gsize length);
+
+_GI_TEST_EXTERN
GObject* regress_annotation_object_do_not_use (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
void regress_annotation_object_watch (RegressAnnotationObject *object,
RegressAnnotationForeachFunc func,
gpointer user_data);
+
+_GI_TEST_EXTERN
void regress_annotation_object_watch_full (RegressAnnotationObject *object,
RegressAnnotationForeachFunc func,
gpointer user_data,
GDestroyNotify destroy);
+
+_GI_TEST_EXTERN
void regress_annotation_object_hidden_self (gpointer object);
+
+_GI_TEST_EXTERN
void regress_annotation_init (int *argc,
char ***argv);
+
+_GI_TEST_EXTERN
char ** regress_annotation_return_array (int *length);
+
+_GI_TEST_EXTERN
void regress_annotation_versioned (void);
+
+_GI_TEST_EXTERN
char ** regress_annotation_string_zero_terminated (void);
+
+_GI_TEST_EXTERN
void regress_annotation_string_zero_terminated_out (char ***out);
+
+_GI_TEST_EXTERN
void regress_annotation_string_array_length (guint n_properties, const gchar * const properties[]);
+
+_GI_TEST_EXTERN
void regress_annotation_object_extra_annos (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
void regress_annotation_custom_destroy (RegressAnnotationCallback callback,
RegressAnnotationNotifyFunc destroy,
gpointer data);
+
+_GI_TEST_EXTERN
char * regress_annotation_get_source_file (void);
+
+_GI_TEST_EXTERN
void regress_annotation_set_source_file (const char *fname);
+
+_GI_TEST_EXTERN
gint regress_annotation_attribute_func (RegressAnnotationObject *object,
const gchar *data);
+
+_GI_TEST_EXTERN
void regress_annotation_invalid_regress_annotation (int foo);
/**
@@ -174,14 +258,24 @@ struct RegressAnnotationFields
gulong len;
};
+
+_GI_TEST_EXTERN
void regress_annotation_ptr_array (GPtrArray *array);
+
+_GI_TEST_EXTERN
GObject * regress_annotation_test_parsing_bug630862 (void);
+
+_GI_TEST_EXTERN
void regress_annotation_space_after_comment_bug631690 (void);
+
+_GI_TEST_EXTERN
gchar* regress_annotation_return_filename (void);
+
+_GI_TEST_EXTERN
GObject * regress_annotation_transfer_floating(void);
/* This one we can handle properly */
diff --git a/tests/scanner/barapp.c b/tests/scanner/barapp.c
index ed391204..6189531e 100644
--- a/tests/scanner/barapp.c
+++ b/tests/scanner/barapp.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include "barapp.h"
#include <girepository.h>
diff --git a/tests/scanner/barapp.h b/tests/scanner/barapp.h
index 12c39a5f..8694ddbe 100644
--- a/tests/scanner/barapp.h
+++ b/tests/scanner/barapp.h
@@ -1,6 +1,8 @@
#include <glib-object.h>
+#include "gitestmacros.h"
+
#define BAR_TYPE_BAZ (bar_baz_get_type ())
#define BAR_BAZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BAR_TYPE_BAZ, BarBaz))
#define BAR_IS_BAZ(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BAR_TYPE_BAZ))
@@ -18,9 +20,14 @@ struct BarBazClass
GObjectClass parent_class;
};
+_GI_TEST_EXTERN
GType bar_baz_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void bar_app_func (void);
+
+_GI_TEST_EXTERN
void bar_app_func2 (int x, double y);
@@ -45,6 +52,8 @@ struct MutterWindowClass
GObjectClass parent_class;
};
+_GI_TEST_EXTERN
GType mutter_window_get_type (void) G_GNUC_CONST;
+_GI_TEST_EXTERN
void mutter_window_func (MutterWindow *window, guint v);
diff --git a/tests/scanner/drawable.c b/tests/scanner/drawable.c
index e378286b..9c58bfed 100644
--- a/tests/scanner/drawable.c
+++ b/tests/scanner/drawable.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include "drawable.h"
G_DEFINE_ABSTRACT_TYPE (RegressTestInheritDrawable, regress_test_inherit_drawable, G_TYPE_OBJECT);
diff --git a/tests/scanner/drawable.h b/tests/scanner/drawable.h
index 58383589..adf08da2 100644
--- a/tests/scanner/drawable.h
+++ b/tests/scanner/drawable.h
@@ -3,6 +3,8 @@
#include <glib-object.h>
+#include "gitestmacros.h"
+
typedef struct _RegressTestInheritDrawable RegressTestInheritDrawable;
typedef struct _RegressTestInheritDrawableClass RegressTestInheritDrawableClass;
@@ -16,11 +18,20 @@ struct _RegressTestInheritDrawableClass
GObjectClass parent_class;
};
+_GI_TEST_EXTERN
GType regress_test_inherit_drawable_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable *drawable, int x);
+
+_GI_TEST_EXTERN
void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable *drawable, int *x, int *y);
+
+_GI_TEST_EXTERN
void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable *drawable, guint *width, guint *height);
+
+_GI_TEST_EXTERN
void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable *drawable, int x, GError **error);
typedef struct _RegressTestInheritPixmapObjectClass RegressTestInheritPixmapObjectClass;
diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c
index 52b9054e..66b29845 100644
--- a/tests/scanner/foo.c
+++ b/tests/scanner/foo.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "foo.h"
/* A hidden type not exposed publicly, similar to GUPNP's XML wrapper
diff --git a/tests/scanner/foo.h b/tests/scanner/foo.h
index e097560e..02d9b7c8 100644
--- a/tests/scanner/foo.h
+++ b/tests/scanner/foo.h
@@ -3,6 +3,8 @@
#include <glib-object.h>
#include <gio/gio.h> /* GAsyncReadyCallback */
+
+#include "gitestmacros.h"
#include "utility.h"
#define REGRESS_FOO_SUCCESS_INT 0x1138
@@ -58,10 +60,16 @@ struct _RegressFooInterfaceIface
void (*do_regress_foo) (RegressFooInterface *self, int x);
};
+
+_GI_TEST_EXTERN
GType regress_foo_interface_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void regress_foo_interface_do_regress_foo (RegressFooInterface *iface, int x);
+
+_GI_TEST_EXTERN
void regress_foo_interface_static_method (int x);
struct _RegressFooSubInterfaceIface
@@ -79,9 +87,15 @@ struct _RegressFooSubInterfaceIface
void (*do_baz) (RegressFooSubInterface *self, GCallback callback, gpointer user_data);
};
+
+_GI_TEST_EXTERN
GType regress_foo_sub_interface_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void regress_foo_sub_interface_do_bar (RegressFooSubInterface *self);
+
+_GI_TEST_EXTERN
void regress_foo_sub_interface_do_baz (RegressFooSubInterface *self,
GCallback callback,
gpointer user_data);
@@ -106,35 +120,67 @@ struct _RegressFooObjectClass
GCallback _reserved[4];
};
+
+_GI_TEST_EXTERN
gint regress_foo_init (void);
+
+_GI_TEST_EXTERN
GType regress_foo_object_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
RegressFooObject* regress_foo_object_new (void);
+
+_GI_TEST_EXTERN
UtilityObject* regress_foo_object_external_type (RegressFooObject *object);
+
+_GI_TEST_EXTERN
GObject* regress_foo_object_new_as_super (void);
+
+_GI_TEST_EXTERN
void regress_foo_object_various (RegressFooObject *object, void *data, GType some_type);
+
+_GI_TEST_EXTERN
void regress_foo_object_take_all (RegressFooObject *object, int x, ...);
typedef gpointer RegressFooObjectCookie;
+
+_GI_TEST_EXTERN
RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject *object, const char *target);
+
+_GI_TEST_EXTERN
void regress_foo_object_is_it_time_yet (RegressFooObject *object, time_t time);
+
+_GI_TEST_EXTERN
const char * regress_foo_object_get_name (RegressFooObject *object);
+
+_GI_TEST_EXTERN
char * regress_foo_object_dup_name (RegressFooObject *object);
+
+_GI_TEST_EXTERN
void regress_foo_object_handle_glyph (RegressFooObject *object, UtilityGlyph glyph);
+
+_GI_TEST_EXTERN
gboolean regress_foo_object_virtual_method (RegressFooObject *object, int first_param);
+
+_GI_TEST_EXTERN
void regress_foo_object_read (RegressFooObject *object, int offset, int length);
+
+_GI_TEST_EXTERN
int regress_foo_object_static_meth (void);
+
+_GI_TEST_EXTERN
void regress_foo_object_skipped_method (RegressFooObject *object);
struct _RegressFooSubobject
@@ -147,17 +193,31 @@ struct _RegressFooSubobjectClass
RegressFooObjectClass parent_class;
};
+
+_GI_TEST_EXTERN
GType regress_foo_subobject_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
RegressFooSubobject* regress_foo_subobject_new (void);
+
+_GI_TEST_EXTERN
RegressFooObject * regress_foo_object_get_default (void);
+
+_GI_TEST_EXTERN
GType regress_foo_buffer_get_type (void);
+
+_GI_TEST_EXTERN
void regress_foo_buffer_some_method (RegressFooBuffer *buffer);
+
+_GI_TEST_EXTERN
GType regress_foo_other_object_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
RegressFooObject * regress_foo_not_a_constructor_new (void);
typedef enum
@@ -167,10 +227,16 @@ typedef enum
REGRESS_FOO_ENUM_DELTA
} RegressFooEnumType;
+
+_GI_TEST_EXTERN
GType regress_foo_enum_type_get_type (void);
+
+_GI_TEST_EXTERN
int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum);
+
+_GI_TEST_EXTERN
RegressFooEnumType regress_foo_enum_type_returnv (int x);
typedef enum
@@ -180,6 +246,8 @@ typedef enum
REGRESS_FOO_FLAGS_THIRD = 1 << 2
} RegressFooFlagsType;
+
+_GI_TEST_EXTERN
GType regress_foo_flags_type_get_type (void);
typedef enum
@@ -213,18 +281,34 @@ typedef enum
typedef struct _RegressFooBoxed RegressFooBoxed;
+
+_GI_TEST_EXTERN
GType regress_foo_boxed_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
RegressFooBoxed* regress_foo_boxed_new (void);
+
+_GI_TEST_EXTERN
void regress_foo_boxed_method (RegressFooBoxed* boxed);
/* This one tests capitalization handling with respect to DBus */
typedef struct _RegressFooDBusData RegressFooDBusData;
+
+_GI_TEST_EXTERN
GType regress_foo_dbus_data_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata);
/* FIXME: Scanner does not support this yet
+
+_GI_TEST_EXTERN
const char *REGRESS_FOO_CONSTANT_STR = "regress_foo-constant-str";
+
+_GI_TEST_EXTERN
const int REGRESS_FOO_CONSTANT_INT = 10;
+
+_GI_TEST_EXTERN
const float REGRESS_FOO_CONSTANT_FLOAT = 10;
*/
@@ -255,14 +339,20 @@ struct _RegressFooRectangle
gint height;
};
+
+_GI_TEST_EXTERN
void
regress_foo_method_external_references (UtilityObject *object,
UtilityEnumType e,
UtilityFlagType f,
UtilityStruct s);
+
+_GI_TEST_EXTERN
void regress_foo_rectangle_add(RegressFooRectangle *r1, const RegressFooRectangle *r2);
+
+_GI_TEST_EXTERN
RegressFooRectangle * regress_foo_rectangle_new (int x, int y, int width, int height);
@@ -301,10 +391,16 @@ struct _RegressFooBRect
double y;
};
+
+_GI_TEST_EXTERN
GType regress_foo_brect_get_type (void);
+
+_GI_TEST_EXTERN
RegressFooBRect *regress_foo_brect_new (double x, double y);
+
+_GI_TEST_EXTERN
void regress_foo_brect_add (RegressFooBRect *b1, RegressFooBRect *b2);
typedef union _RegressFooBUnion RegressFooBUnion;
@@ -338,36 +434,69 @@ struct _RegressFooThingWithArray
guchar *data;
} ;
+
+_GI_TEST_EXTERN
RegressFooBUnion *regress_foo_bunion_new (void);
+
+_GI_TEST_EXTERN
GType regress_foo_bunion_get_type (void);
+
+_GI_TEST_EXTERN
int regress_foo_bunion_get_contained_type (RegressFooBUnion *bunion);
+
+_GI_TEST_EXTERN
void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
+
+_GI_TEST_EXTERN
void regress_foo_test_unsigned_type (unsigned unsigned_param);
+
+_GI_TEST_EXTERN
void regress_foo_test_string_array (char **array);
+
+_GI_TEST_EXTERN
void regress_foo_test_string_array_with_g (gchar **array);
+
+_GI_TEST_EXTERN
GArray *regress_foo_test_array (void);
+
+_GI_TEST_EXTERN
const char * regress_foo_test_const_char_retval (void);
+
+_GI_TEST_EXTERN
const RegressFooStruct * regress_foo_test_const_struct_retval (void);
+
+_GI_TEST_EXTERN
void regress_foo_test_const_char_param (const char * param);
+
+_GI_TEST_EXTERN
void regress_foo_test_const_struct_param (const RegressFooStruct * param);
typedef void (*RegressFooVarargsCallback) (const char * param, ...);
+
+_GI_TEST_EXTERN
void regress_foo_test_varargs_callback (gint i, RegressFooVarargsCallback callback);
+
+_GI_TEST_EXTERN
void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
+
+_GI_TEST_EXTERN
void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
RegressFooVarargsCallback callback2);
/* Make sure callbacks get the right scope by default */
+_GI_TEST_EXTERN
void regress_foo_async_ready_callback(GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
+
+_GI_TEST_EXTERN
void regress_foo_destroy_notify_callback(RegressFooCallback callback,
gpointer data,
GDestroyNotify destroy);
@@ -377,8 +506,12 @@ typedef enum {
REGRESS_FOO_ERROR_BAD,
REGRESS_FOO_ERROR_UGLY
} RegressFooError;
+
+_GI_TEST_EXTERN
GType regress_foo_error_get_type (void);
+
+_GI_TEST_EXTERN
GQuark regress_foo_error_quark (void);
typedef enum
@@ -400,7 +533,11 @@ typedef enum
} RegressFooASingle;
/* Should be skipped */
+
+_GI_TEST_EXTERN
void regress_foo_some_variant (guint x, va_list args);
+
+_GI_TEST_EXTERN
void regress_foo_some_variant_ptr (guint x, va_list *args);
/**
@@ -424,14 +561,22 @@ struct _RegressFooForeignStruct
int regress_foo;
};
+
+_GI_TEST_EXTERN
RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
+
+_GI_TEST_EXTERN
RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct *original);
/* This one should be a global, not a method on UtilityObject since
* it's a separate namespace.
*/
+
+_GI_TEST_EXTERN
void regress_foo_object_a_global_method (UtilityObject *obj);
+
+_GI_TEST_EXTERN
RegressFooOtherObject * regress_foo_object_append_new_stack_layer (RegressFooObject *obj, int x);
#endif /* __REGRESS_FOO_OBJECT_H__ */
diff --git a/tests/scanner/gettype.c b/tests/scanner/gettype.c
index a3c2d6be..fac94a4d 100644
--- a/tests/scanner/gettype.c
+++ b/tests/scanner/gettype.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "gettype.h"
G_DEFINE_TYPE (GetTypeObject, gettype_object, G_TYPE_OBJECT);
diff --git a/tests/scanner/gettype.h b/tests/scanner/gettype.h
index 755f091c..5adab579 100644
--- a/tests/scanner/gettype.h
+++ b/tests/scanner/gettype.h
@@ -3,6 +3,8 @@
#include <glib-object.h>
+#include "gitestmacros.h"
+
#define GETTYPE_TYPE_OBJECT (gettype_object_get_type ())
#define GETTYPE_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GETTYPE_TYPE_OBJECT, GetTypeObject))
#define GETTYPE_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GETTYPE_TYPE_OBJECT))
@@ -19,11 +21,20 @@ struct _GetTypeObjectClass
GObjectClass parent_class;
};
+_GI_TEST_EXTERN
GType gettype_object_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
GetTypeObject* gettype_object_new (void);
+
+_GI_TEST_EXTERN
GType gettype_object_nonmeta1_get_type (GetTypeObject *obj);
+
+_GI_TEST_EXTERN
gboolean gettype_object_nonmeta2_get_type (void);
+
+_GI_TEST_EXTERN
gboolean gettype_object_nonmeta_get_gtype (void);
#endif /* __GETTYPE_OBJECT_H__ */
diff --git a/tests/scanner/gtkfrob.c b/tests/scanner/gtkfrob.c
index d1c2312c..fa085613 100644
--- a/tests/scanner/gtkfrob.c
+++ b/tests/scanner/gtkfrob.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include "gtkfrob.h"
void
diff --git a/tests/scanner/gtkfrob.h b/tests/scanner/gtkfrob.h
index 06a282d1..fb079748 100644
--- a/tests/scanner/gtkfrob.h
+++ b/tests/scanner/gtkfrob.h
@@ -3,9 +3,11 @@
#include <glib-object.h>
+#include "gitestmacros.h"
/* A global function */
+_GI_TEST_EXTERN
void gtk_frob_language_manager_get_default (void);
#endif /* __GTKFROB_H__ */
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index e60b8e17..48d9e931 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include <string.h>
#include <stdlib.h>
#include <glib-object.h>
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index 3bbcb991..74a95b72 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -10,146 +10,344 @@
#include <string.h>
#include <stdlib.h>
+#include "gitestmacros.h"
+
+_GI_TEST_EXTERN
void regress_set_abort_on_error (gboolean abort_on_error);
/* basic types */
+_GI_TEST_EXTERN
gboolean regress_test_boolean (gboolean in);
+
+_GI_TEST_EXTERN
gboolean regress_test_boolean_true (gboolean in);
+
+_GI_TEST_EXTERN
gboolean regress_test_boolean_false (gboolean in);
+
+_GI_TEST_EXTERN
gint8 regress_test_int8 (gint8 in);
+
+_GI_TEST_EXTERN
guint8 regress_test_uint8 (guint8 in);
+
+_GI_TEST_EXTERN
gint16 regress_test_int16 (gint16 in);
+
+_GI_TEST_EXTERN
guint16 regress_test_uint16 (guint16 in);
+
+_GI_TEST_EXTERN
gint32 regress_test_int32 (gint32 in);
+
+_GI_TEST_EXTERN
guint32 regress_test_uint32 (guint32 in);
+
+_GI_TEST_EXTERN
gint64 regress_test_int64 (gint64 in);
+
+_GI_TEST_EXTERN
guint64 regress_test_uint64 (guint64 in);
+
+_GI_TEST_EXTERN
gshort regress_test_short (gshort in);
+
+_GI_TEST_EXTERN
gushort regress_test_ushort (gushort in);
+
+_GI_TEST_EXTERN
gint regress_test_int (gint in);
+
+_GI_TEST_EXTERN
guint regress_test_uint (guint in);
+
+_GI_TEST_EXTERN
glong regress_test_long (glong in);
+
+_GI_TEST_EXTERN
gulong regress_test_ulong (gulong in);
+
+_GI_TEST_EXTERN
gssize regress_test_ssize (gssize in);
+
+_GI_TEST_EXTERN
gsize regress_test_size (gsize in);
+
+_GI_TEST_EXTERN
gfloat regress_test_float (gfloat in);
+
+_GI_TEST_EXTERN
gdouble regress_test_double (gdouble in);
+
+_GI_TEST_EXTERN
gunichar regress_test_unichar (gunichar in);
+
+_GI_TEST_EXTERN
time_t regress_test_timet (time_t in);
+
+_GI_TEST_EXTERN
GType regress_test_gtype (GType in);
/* utf8 */
+_GI_TEST_EXTERN
const char *regress_test_utf8_const_return (void);
+
+_GI_TEST_EXTERN
char *regress_test_utf8_nonconst_return (void);
+
+_GI_TEST_EXTERN
void regress_test_utf8_const_in (const char *in);
+
+_GI_TEST_EXTERN
void regress_test_utf8_out (char **out);
+
+_GI_TEST_EXTERN
void regress_test_utf8_inout (char **inout);
+
+_GI_TEST_EXTERN
GSList *regress_test_filename_return (void);
+
+_GI_TEST_EXTERN
void regress_test_utf8_null_in (char *in);
+
+_GI_TEST_EXTERN
void regress_test_utf8_null_out (char **char_out);
/* in arguments after out arguments */
+_GI_TEST_EXTERN
void regress_test_int_out_utf8 (int *length, const char *in);
/* multiple output arguments */
+
+_GI_TEST_EXTERN
void regress_test_multi_double_args (gdouble in, gdouble *one, gdouble *two);
+
+_GI_TEST_EXTERN
void regress_test_utf8_out_out (char **out0, char **out1);
+
+_GI_TEST_EXTERN
char *regress_test_utf8_out_nonconst_return (char **out);
/* non-basic-types */
/* array */
+_GI_TEST_EXTERN
gboolean regress_test_strv_in (char **arr);
+
+_GI_TEST_EXTERN
int regress_test_array_int_in (int n_ints, int *ints);
+
+_GI_TEST_EXTERN
void regress_test_array_int_out (int *n_ints, int **ints);
+
+_GI_TEST_EXTERN
void regress_test_array_int_inout (int *n_ints, int **ints);
+
+_GI_TEST_EXTERN
int regress_test_array_gint8_in (int n_ints, gint8 *ints);
+
+_GI_TEST_EXTERN
int regress_test_array_gint16_in (int n_ints, gint16 *ints);
+
+_GI_TEST_EXTERN
gint32 regress_test_array_gint32_in (int n_ints, gint32 *ints);
+
+_GI_TEST_EXTERN
gint64 regress_test_array_gint64_in (int n_ints, gint64 *ints);
+
+_GI_TEST_EXTERN
char *regress_test_array_gtype_in (int n_types, GType *types);
+
+_GI_TEST_EXTERN
char **regress_test_strv_out_container (void);
+
+_GI_TEST_EXTERN
char **regress_test_strv_out (void);
+
+_GI_TEST_EXTERN
const char * const * regress_test_strv_out_c (void);
+
+_GI_TEST_EXTERN
void regress_test_strv_outarg (char ***retp);
+
+_GI_TEST_EXTERN
int regress_test_array_fixed_size_int_in (int *ints);
+
+_GI_TEST_EXTERN
void regress_test_array_fixed_size_int_out (int **ints);
+
+_GI_TEST_EXTERN
int *regress_test_array_fixed_size_int_return (void);
/* transfer tests */
+_GI_TEST_EXTERN
int *regress_test_array_int_full_out(int *len);
+
+_GI_TEST_EXTERN
int *regress_test_array_int_none_out(int *len);
+
+_GI_TEST_EXTERN
void regress_test_array_int_null_in (int *arr, int len);
+
+_GI_TEST_EXTERN
void regress_test_array_int_null_out (int **arr, int *len);
/* interface */
/* GList */
+_GI_TEST_EXTERN
const GList *regress_test_glist_nothing_return (void);
+
+_GI_TEST_EXTERN
GList *regress_test_glist_nothing_return2 (void);
+
+_GI_TEST_EXTERN
GList *regress_test_glist_container_return (void);
+
+_GI_TEST_EXTERN
GList *regress_test_glist_everything_return (void);
+
+_GI_TEST_EXTERN
void regress_test_glist_nothing_in (const GList *in);
+
+_GI_TEST_EXTERN
void regress_test_glist_nothing_in2 (GList *in);
+
+_GI_TEST_EXTERN
void regress_test_glist_null_in(GSList *in);
+
+_GI_TEST_EXTERN
void regress_test_glist_null_out(GSList **out_list);
/* GSList */
+_GI_TEST_EXTERN
const GSList *regress_test_gslist_nothing_return (void);
+
+_GI_TEST_EXTERN
GSList *regress_test_gslist_nothing_return2 (void);
+
+_GI_TEST_EXTERN
GSList *regress_test_gslist_container_return (void);
+
+_GI_TEST_EXTERN
GSList *regress_test_gslist_everything_return (void);
+
+_GI_TEST_EXTERN
void regress_test_gslist_nothing_in (const GSList *in);
+
+_GI_TEST_EXTERN
void regress_test_gslist_nothing_in2 (GSList *in);
+
+_GI_TEST_EXTERN
void regress_test_gslist_null_in(GSList *in);
+
+_GI_TEST_EXTERN
void regress_test_gslist_null_out(GSList **out_list);
/* GHashTable */
+_GI_TEST_EXTERN
const GHashTable *regress_test_ghash_null_return (void);
+
+_GI_TEST_EXTERN
const GHashTable *regress_test_ghash_nothing_return (void);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_nothing_return2 (void);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_gvalue_return (void);
+
+_GI_TEST_EXTERN
void regress_test_ghash_gvalue_in (GHashTable *hash);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_container_return (void);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_everything_return (void);
+
+_GI_TEST_EXTERN
void regress_test_ghash_null_in (const GHashTable *in);
+
+_GI_TEST_EXTERN
void regress_test_ghash_null_out (const GHashTable **out);
+
+_GI_TEST_EXTERN
void regress_test_ghash_nothing_in (const GHashTable *in);
+
+_GI_TEST_EXTERN
void regress_test_ghash_nothing_in2 (GHashTable *in);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_nested_everything_return (void);
+
+_GI_TEST_EXTERN
GHashTable *regress_test_ghash_nested_everything_return2 (void);
/* GPtrArray */
+_GI_TEST_EXTERN
GPtrArray *regress_test_garray_container_return (void);
+
+_GI_TEST_EXTERN
GPtrArray *regress_test_garray_full_return (void);
/* error? */
/* closure */
+_GI_TEST_EXTERN
int regress_test_closure (GClosure *closure);
+
+_GI_TEST_EXTERN
int regress_test_closure_one_arg (GClosure *closure, int arg);
+
+_GI_TEST_EXTERN
GVariant *regress_test_closure_variant (GClosure *closure, GVariant* arg);
/* value */
+_GI_TEST_EXTERN
int regress_test_int_value_arg(const GValue *v);
+
+_GI_TEST_EXTERN
const GValue *regress_test_value_return(int i);
/* foreign structs */
#ifndef _GI_DISABLE_CAIRO
+_GI_TEST_EXTERN
cairo_t *regress_test_cairo_context_full_return (void);
+
+_GI_TEST_EXTERN
void regress_test_cairo_context_none_in (cairo_t *context);
+
+_GI_TEST_EXTERN
cairo_surface_t *regress_test_cairo_surface_none_return (void);
+
+_GI_TEST_EXTERN
cairo_surface_t *regress_test_cairo_surface_full_return (void);
+
+_GI_TEST_EXTERN
void regress_test_cairo_surface_none_in (cairo_surface_t *surface);
+
+_GI_TEST_EXTERN
void regress_test_cairo_surface_full_out (cairo_surface_t **surface);
#endif
/* versioning (deprecated, since, stability) */
+_GI_TEST_EXTERN
void regress_test_versioning (void);
+
+_GI_TEST_EXTERN
GVariant *regress_test_gvariant_i (void);
+
+_GI_TEST_EXTERN
GVariant *regress_test_gvariant_s (void);
+
+_GI_TEST_EXTERN
GVariant *regress_test_gvariant_asv (void);
+
+_GI_TEST_EXTERN
GVariant *regress_test_gvariant_v (void);
+
+_GI_TEST_EXTERN
GVariant *regress_test_gvariant_as (void);
/* enums / flags */
@@ -184,10 +382,15 @@ typedef enum
REGRESS_TEST_FLAG3 = 1 << 2,
} RegressTestFlags;
+_GI_TEST_EXTERN
GType regress_test_enum_get_type (void) G_GNUC_CONST;
#define REGRESS_TEST_TYPE_ENUM (regress_test_enum_get_type ())
+
+_GI_TEST_EXTERN
GType regress_test_enum_unsigned_get_type (void) G_GNUC_CONST;
#define REGRESS_TEST_TYPE_ENUM_UNSIGNED (regress_test_enum_unsigned_get_type ())
+
+_GI_TEST_EXTERN
GType regress_test_flags_get_type (void) G_GNUC_CONST;
#define REGRESS_TEST_TYPE_FLAGS (regress_test_flags_get_type ())
@@ -209,9 +412,14 @@ typedef enum
REGRESS_TEST_EVALUE3 = '0'
} RegressTestEnumNoGEnum;
+_GI_TEST_EXTERN
const gchar * regress_test_enum_param(RegressTestEnum e);
+
+_GI_TEST_EXTERN
const gchar * regress_test_unsigned_enum_param(RegressTestEnumUnsigned e);
+
+_GI_TEST_EXTERN
void regress_global_get_flags_out (RegressTestFlags *v);
/* error domains */
@@ -223,7 +431,10 @@ typedef enum
REGRESS_TEST_ERROR_CODE3 = 3
} RegressTestError;
+_GI_TEST_EXTERN
GType regress_test_error_get_type (void);
+
+_GI_TEST_EXTERN
GQuark regress_test_error_quark (void);
/* Test weird names, with and without
@@ -236,7 +447,10 @@ typedef enum
REGRESS_TEST_ABC_ERROR_CODE3 = 3
} RegressTestABCError;
+_GI_TEST_EXTERN
GType regress_test_abc_error_get_type (void);
+
+_GI_TEST_EXTERN
GQuark regress_test_abc_error_quark (void);
typedef enum
@@ -250,7 +464,10 @@ typedef enum
The difference is intentional, although it
is mainly meant for capitalization problems.
*/
+_GI_TEST_EXTERN
GType regress_test_unconventional_error_get_type (void);
+
+_GI_TEST_EXTERN
GQuark regress_test_unconventional_error_quark (void);
typedef enum
@@ -260,6 +477,7 @@ typedef enum
REGRESS_TEST_DEF_ERROR_CODE2 = 2
} RegressTestDEFError;
+_GI_TEST_EXTERN
GQuark regress_test_def_error_quark (void);
/* the scanner used to have problem
@@ -273,6 +491,7 @@ typedef enum
REGRESS_ATEST_ERROR_CODE2 = 2
} RegressATestError;
+_GI_TEST_EXTERN
GQuark regress_atest_error_quark (void);
@@ -305,8 +524,11 @@ struct _RegressTestStructA
RegressTestEnum some_enum;
};
+_GI_TEST_EXTERN
void regress_test_struct_a_clone (RegressTestStructA *a,
RegressTestStructA *a_out);
+
+_GI_TEST_EXTERN
void regress_test_struct_a_parse (RegressTestStructA *a_out, const gchar *string);
struct _RegressTestStructB
@@ -315,6 +537,7 @@ struct _RegressTestStructB
RegressTestStructA nested_a;
};
+_GI_TEST_EXTERN
void regress_test_struct_b_clone (RegressTestStructB *b,
RegressTestStructB *b_out);
@@ -386,10 +609,17 @@ struct _RegressTestSimpleBoxedA
};
/* Intentionally uses _get_gtype */
+_GI_TEST_EXTERN
GType regress_test_simple_boxed_a_get_gtype (void);
+
+_GI_TEST_EXTERN
RegressTestSimpleBoxedA *regress_test_simple_boxed_a_copy (RegressTestSimpleBoxedA *a);
+
+_GI_TEST_EXTERN
gboolean regress_test_simple_boxed_a_equals (RegressTestSimpleBoxedA *a,
RegressTestSimpleBoxedA *other_a);
+
+_GI_TEST_EXTERN
const RegressTestSimpleBoxedA *regress_test_simple_boxed_a_const_return (void);
@@ -399,7 +629,11 @@ struct _RegressTestSimpleBoxedB
RegressTestSimpleBoxedA nested_a;
};
+
+_GI_TEST_EXTERN
GType regress_test_simple_boxed_b_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestSimpleBoxedB *regress_test_simple_boxed_b_copy (RegressTestSimpleBoxedB *b);
/* opaque boxed */
@@ -416,17 +650,34 @@ struct _RegressTestBoxed
RegressTestBoxedPrivate *priv;
};
+_GI_TEST_EXTERN
GType regress_test_boxed_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestBoxed *regress_test_boxed_new (void);
+
+_GI_TEST_EXTERN
RegressTestBoxed *regress_test_boxed_new_alternative_constructor1 (int i);
+
+_GI_TEST_EXTERN
RegressTestBoxed *regress_test_boxed_new_alternative_constructor2 (int i, int j);
+
+_GI_TEST_EXTERN
RegressTestBoxed *regress_test_boxed_new_alternative_constructor3 (char *s);
+
+_GI_TEST_EXTERN
RegressTestBoxed *regress_test_boxed_copy (RegressTestBoxed *boxed);
+
+_GI_TEST_EXTERN
gboolean regress_test_boxed_equals (RegressTestBoxed *boxed,
RegressTestBoxed *other);
+
+_GI_TEST_EXTERN
void regress_test_boxeds_not_a_method (RegressTestBoxed *boxed);
+
+_GI_TEST_EXTERN
void regress_test_boxeds_not_a_static (void);
typedef struct _RegressTestBoxedB RegressTestBoxedB;
@@ -437,8 +688,14 @@ struct _RegressTestBoxedB
glong some_long;
};
+
+_GI_TEST_EXTERN
GType regress_test_boxed_b_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestBoxedB *regress_test_boxed_b_new (gint8 some_int8, glong some_long);
+
+_GI_TEST_EXTERN
RegressTestBoxedB *regress_test_boxed_b_copy (RegressTestBoxedB *boxed);
typedef struct _RegressTestBoxedC RegressTestBoxedC;
@@ -449,17 +706,30 @@ struct _RegressTestBoxedC
guint another_thing;
};
+_GI_TEST_EXTERN
GType regress_test_boxed_c_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestBoxedC *regress_test_boxed_c_new (void);
typedef struct _RegressTestBoxedD RegressTestBoxedD;
+
+_GI_TEST_EXTERN
GType regress_test_boxed_d_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestBoxedD *regress_test_boxed_d_new (const char *a_string, int a_int);
+
+_GI_TEST_EXTERN
RegressTestBoxedD *regress_test_boxed_d_copy (RegressTestBoxedD *boxed);
+
+_GI_TEST_EXTERN
void regress_test_boxed_d_free (RegressTestBoxedD *boxed);
+
+_GI_TEST_EXTERN
int regress_test_boxed_d_get_magic (RegressTestBoxedD *boxed);
/* gobject */
@@ -517,22 +787,51 @@ struct _RegressTestObjClass
void (*_regress_reserved2) (void);
};
+_GI_TEST_EXTERN
GType regress_test_obj_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestObj* regress_test_obj_new (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
RegressTestObj* regress_constructor (void);
+
+_GI_TEST_EXTERN
RegressTestObj* regress_test_obj_new_from_file (const char *x, GError **error);
+
+_GI_TEST_EXTERN
void regress_test_obj_set_bare (RegressTestObj *obj, GObject *bare);
+
+_GI_TEST_EXTERN
void regress_test_obj_emit_sig_with_obj (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
int regress_test_obj_instance_method (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_obj_instance_method_full (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
double regress_test_obj_static_method (int x);
+
+_GI_TEST_EXTERN
void regress_forced_method (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_array_fixed_out_objects (RegressTestObj ***objs);
+
+_GI_TEST_EXTERN
void regress_test_obj_torture_signature_0 (RegressTestObj *obj,
int x,
double *y,
@@ -540,6 +839,8 @@ void regress_test_obj_torture_signature_0 (RegressTestObj *obj,
const char *foo,
int *q,
guint m);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_torture_signature_1 (RegressTestObj *obj,
int x,
double *y,
@@ -549,6 +850,8 @@ gboolean regress_test_obj_torture_signature_1 (RegressTestObj *obj,
guint m,
GError **error);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_skip_return_val (RegressTestObj *obj,
gint a,
gint *out_b,
@@ -559,10 +862,14 @@ gboolean regress_test_obj_skip_return_val (RegressTestObj *obj,
gint num2,
GError **error);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj *obj,
gint a,
GError **error);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_skip_param (RegressTestObj *obj,
gint a,
gint *out_b,
@@ -573,6 +880,8 @@ gboolean regress_test_obj_skip_param (RegressTestObj *obj,
gint num2,
GError **error);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_skip_out_param (RegressTestObj *obj,
gint a,
gint *out_b,
@@ -583,6 +892,8 @@ gboolean regress_test_obj_skip_out_param (RegressTestObj *obj,
gint num2,
GError **error);
+
+_GI_TEST_EXTERN
gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj,
gint a,
gint *out_b,
@@ -594,9 +905,14 @@ gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj,
GError **error);
/* virtual */
+_GI_TEST_EXTERN
int regress_test_obj_do_matrix (RegressTestObj *obj, const char *somestr);
+
+_GI_TEST_EXTERN
void regress_func_obj_null_in (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
void regress_test_obj_null_out (RegressTestObj **obj);
/* inheritance */
@@ -618,9 +934,17 @@ struct _RegressTestSubObjClass
RegressTestObjClass parent_class;
};
+
+_GI_TEST_EXTERN
GType regress_test_sub_obj_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestObj* regress_test_sub_obj_new (void);
+
+_GI_TEST_EXTERN
void regress_test_sub_obj_unset_bare (RegressTestSubObj *obj);
+
+_GI_TEST_EXTERN
int regress_test_sub_obj_instance_method (RegressTestSubObj *obj);
/* fundamental object */
@@ -656,13 +980,21 @@ struct _RegressTestFundamentalObjectClass {
RegressTestFundamentalObjectFinalizeFunction finalize;
};
+_GI_TEST_EXTERN
GType regress_test_fundamental_object_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestFundamentalObject* regress_test_fundamental_object_ref (RegressTestFundamentalObject *fundamental_object);
+
+_GI_TEST_EXTERN
void regress_test_fundamental_object_unref (RegressTestFundamentalObject *fundamental_object);
#define REGRESS_TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT(value) (G_VALUE_HOLDS(value, REGRESS_TEST_TYPE_FUNDAMENTAL_OBJECT))
+_GI_TEST_EXTERN
void regress_test_value_set_fundamental_object (GValue *value, RegressTestFundamentalObject *fundamental_object);
+
+_GI_TEST_EXTERN
RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const GValue *value);
typedef struct _RegressTestFundamentalSubObject RegressTestFundamentalSubObject;
@@ -678,8 +1010,12 @@ struct _RegressTestFundamentalSubObjectClass {
RegressTestFundamentalObjectClass fundamental_object_class;
};
+
+_GI_TEST_EXTERN
GType regress_test_fundamental_sub_object_get_type(void);
+
+_GI_TEST_EXTERN
RegressTestFundamentalSubObject *
regress_test_fundamental_sub_object_new (const char *data);
@@ -720,35 +1056,74 @@ typedef int (*RegressTestCallbackArray) (int *one, gsize one_length, const char*
*/
typedef void (* RegressTestCallbackArrayInOut) (int **ints, int *length);
+_GI_TEST_EXTERN
void regress_test_simple_callback (RegressTestSimpleCallback callback);
+
+_GI_TEST_EXTERN
int regress_test_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
int regress_test_multi_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
int regress_test_array_callback (RegressTestCallbackArray callback);
+
+_GI_TEST_EXTERN
int regress_test_array_inout_callback (RegressTestCallbackArrayInOut callback);
+
+_GI_TEST_EXTERN
int regress_test_callback_user_data (RegressTestCallbackUserData callback,
gpointer user_data);
+
+_GI_TEST_EXTERN
int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
gpointer user_data,
GDestroyNotify notify);
+
+_GI_TEST_EXTERN
int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
GDestroyNotify notify);
+
+_GI_TEST_EXTERN
int regress_test_callback_thaw_notifications (void);
+
+_GI_TEST_EXTERN
void regress_test_callback_async (RegressTestCallbackUserData callback, gpointer user_data);
+
+_GI_TEST_EXTERN
int regress_test_callback_thaw_async (void);
+
+_GI_TEST_EXTERN
void regress_test_async_ready_callback (GAsyncReadyCallback callback);
+
+_GI_TEST_EXTERN
void regress_test_obj_instance_method_callback (RegressTestObj *obj, RegressTestCallback callback);
+
+_GI_TEST_EXTERN
void regress_test_obj_static_method_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
RegressTestObj *regress_test_obj_new_callback (RegressTestCallbackUserData callback,
gpointer user_data,
GDestroyNotify notify);
+
+_GI_TEST_EXTERN
void regress_test_hash_table_callback (GHashTable *data, RegressTestCallbackHashtable callback);
+
+_GI_TEST_EXTERN
void regress_test_gerror_callback (RegressTestCallbackGError callback);
+
+_GI_TEST_EXTERN
void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
+
+_GI_TEST_EXTERN
void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback);
+
+_GI_TEST_EXTERN
void regress_test_skip_unannotated_callback (RegressTestCallback callback);
typedef struct _RegressTestInterface RegressTestInterface;
@@ -765,6 +1140,7 @@ struct _RegressTestInterfaceIface {
GTypeInterface base_iface;
};
+_GI_TEST_EXTERN
GType regress_test_interface_get_type (void) G_GNUC_CONST;
/* gobject with non-standard prefix */
@@ -785,10 +1161,20 @@ typedef struct
GObjectClass parent_class;
} RegressTestWi8021xClass;
+
+_GI_TEST_EXTERN
GType regress_test_wi_802_1x_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestWi8021x* regress_test_wi_802_1x_new (void);
+
+_GI_TEST_EXTERN
gboolean regress_test_wi_802_1x_get_testbool (RegressTestWi8021x *obj);
+
+_GI_TEST_EXTERN
void regress_test_wi_802_1x_set_testbool (RegressTestWi8021x *obj, gboolean v);
+
+_GI_TEST_EXTERN
int regress_test_wi_802_1x_static_method (int x);
/* floating gobject */
@@ -807,16 +1193,24 @@ typedef struct
GInitiallyUnownedClass parent_class;
} RegressTestFloatingClass;
+
+_GI_TEST_EXTERN
GType regress_test_floating_get_type (void);
+
+_GI_TEST_EXTERN
RegressTestFloating* regress_test_floating_new (void);
/* Function signature torture tests */
+
+_GI_TEST_EXTERN
void regress_test_torture_signature_0 (int x,
double *y,
int *z,
const char *foo,
int *q,
guint m);
+
+_GI_TEST_EXTERN
gboolean regress_test_torture_signature_1 (int x,
double *y,
int *z,
@@ -824,6 +1218,8 @@ gboolean regress_test_torture_signature_1 (int x,
int *q,
guint m,
GError **error);
+
+_GI_TEST_EXTERN
void regress_test_torture_signature_2 (int x,
RegressTestCallbackUserData callback,
gpointer user_data,
@@ -834,12 +1230,22 @@ void regress_test_torture_signature_2 (int x,
int *q,
guint m);
+
+_GI_TEST_EXTERN
GValue *regress_test_date_in_gvalue (void);
+
+_GI_TEST_EXTERN
GValue *regress_test_strv_in_gvalue (void);
+
+_GI_TEST_EXTERN
GObject * _regress_this_is_a_private_symbol (void);
+
+_GI_TEST_EXTERN
void regress_test_multiline_doc_comments (void);
+
+_GI_TEST_EXTERN
void regress_test_nested_parameter (int a);
/**
@@ -854,6 +1260,8 @@ typedef struct
double v;
} RegressSkippedStructure;
+
+_GI_TEST_EXTERN
void regress_random_function_with_skipped_structure (int x,
RegressSkippedStructure *foo,
double v);
@@ -881,6 +1289,8 @@ typedef RegressIntset RegressIntSet;
*/
typedef GPtrArray RegressPtrArrayAlias;
+
+_GI_TEST_EXTERN
void regress_introspectable_via_alias (RegressPtrArrayAlias *data);
/**
@@ -890,6 +1300,8 @@ void regress_introspectable_via_alias (RegressPtrArrayAlias *data);
*/
typedef va_list RegressVaListAlias;
+
+_GI_TEST_EXTERN
void regress_not_introspectable_via_alias (RegressVaListAlias ok);
/**
@@ -899,6 +1311,8 @@ void regress_not_introspectable_via_alias (RegressVaListAlias ok);
*/
typedef RegressTestBoxed RegressAliasedTestBoxed;
+
+_GI_TEST_EXTERN
void regress_aliased_caller_alloc (RegressAliasedTestBoxed *boxed);
/* private testing */
@@ -924,12 +1338,16 @@ typedef struct {
gint array[10];
} RegressTestStructFixedArray;
+
+_GI_TEST_EXTERN
void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
typedef struct {
gchar name[32];
} RegressLikeXklConfigItem;
+
+_GI_TEST_EXTERN
void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
const char *name);
@@ -947,6 +1365,7 @@ void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
"POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF," \
"PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP"
+_GI_TEST_EXTERN
void regress_has_parameter_named_attrs (int foo,
gpointer attributes);
diff --git a/tests/scanner/sletter.c b/tests/scanner/sletter.c
index a6e7bcca..8cb6db52 100644
--- a/tests/scanner/sletter.c
+++ b/tests/scanner/sletter.c
@@ -1,4 +1,5 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
#include "sletter.h"
diff --git a/tests/scanner/sletter.h b/tests/scanner/sletter.h
index 20797f6c..f6a146df 100644
--- a/tests/scanner/sletter.h
+++ b/tests/scanner/sletter.h
@@ -3,11 +3,14 @@
#include <gio/gio.h>
+#include "gitestmacros.h"
+
typedef struct {
double x;
double y;
} SPoint;
+_GI_TEST_EXTERN
void s_hello (void);
/* Like GSpawnError; not registered with GType */
@@ -17,6 +20,8 @@ typedef enum
S_SPAWN_ERROR_CODE2 = 2,
S_SPAWN_ERROR_CODE3 = 3
} SSpawnError;
+
+_GI_TEST_EXTERN
GQuark s_spawn_error_quark (void);
/* Like GDBusError but not registered with GType */
@@ -26,6 +31,8 @@ typedef enum
S_DBUS_ERROR_CODE2 = 2,
S_DBUS_ERROR_CODE3 = 3
} SDBusError;
+
+_GI_TEST_EXTERN
GQuark s_dbus_error_quark (void);
#endif
diff --git a/tests/scanner/typedefs.c b/tests/scanner/typedefs.c
index 7c1dea19..03614b64 100644
--- a/tests/scanner/typedefs.c
+++ b/tests/scanner/typedefs.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "typedefs.h"
static TypedefsBoxedWithTypedefBefore *
diff --git a/tests/scanner/typedefs.h b/tests/scanner/typedefs.h
index 2a5d8beb..7eaa73bb 100644
--- a/tests/scanner/typedefs.h
+++ b/tests/scanner/typedefs.h
@@ -3,6 +3,8 @@
#include <glib-object.h>
+#include "gitestmacros.h"
+
/*
* Tests for various orderings of typedef struct declarations.
*/
@@ -40,6 +42,8 @@ typedef struct _TypedefsBoxedWithTypedefBefore TypedefsBoxedWithTypedefBefore;
struct _TypedefsBoxedWithTypedefBefore {
int value;
};
+
+_GI_TEST_EXTERN
GType typedefs_boxed_with_typedef_before_get_type (void) G_GNUC_CONST;
@@ -48,6 +52,8 @@ struct _TypedefsBoxedWithTypedefAfter {
int value;
};
typedef struct _TypedefsBoxedWithTypedefAfter TypedefsBoxedWithTypedefAfter;
+
+_GI_TEST_EXTERN
GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
@@ -55,6 +61,8 @@ GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
typedef struct _TypedefsBoxedWithTagAndTypedef {
int value;
} TypedefsBoxedWithTagAndTypedef;
+
+_GI_TEST_EXTERN
GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
@@ -62,11 +70,15 @@ GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
typedef struct {
int value;
} TypedefsBoxedWithAnonymousTypedef;
+
+_GI_TEST_EXTERN
GType typedefs_boxed_with_anonymous_typedef_get_type (void) G_GNUC_CONST;
/* BUG: uses <record> instead of <glib:boxed> */
typedef struct _TypedefsBoxedWithHiddenStruct TypedefsBoxedWithHiddenStruct;
+
+_GI_TEST_EXTERN
GType typedefs_boxed_with_hidden_struct_get_type (void) G_GNUC_CONST;
diff --git a/tests/scanner/utility.c b/tests/scanner/utility.c
index fb1cf5a0..c5e48a4e 100644
--- a/tests/scanner/utility.c
+++ b/tests/scanner/utility.c
@@ -1,4 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
#include "utility.h"
G_DEFINE_TYPE (UtilityObject, utility_object, G_TYPE_OBJECT);
diff --git a/tests/scanner/utility.h b/tests/scanner/utility.h
index 8dc6d549..ff1c3824 100644
--- a/tests/scanner/utility.h
+++ b/tests/scanner/utility.h
@@ -3,6 +3,8 @@
#include <glib-object.h>
+#include "gitestmacros.h"
+
#define UTILITY_TYPE_OBJECT (utility_object_get_type ())
#define UTILITY_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), UTILITY_TYPE_OBJECT, UtilityObject))
#define UTILITY_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), UTILITY_TYPE_OBJECT))
@@ -53,7 +55,11 @@ typedef struct
typedef void (*UtilityFileFunc)(const char *path, gpointer user_data);
+
+_GI_TEST_EXTERN
GType utility_object_get_type (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
void utility_object_watch_dir (UtilityObject *object,
const char *path,
UtilityFileFunc func,
@@ -90,6 +96,7 @@ typedef union
double real;
} UtilityUnion;
+_GI_TEST_EXTERN
void utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data);
#endif /* __UTILITY_H__ */
diff --git a/tests/scanner/warnlib.h b/tests/scanner/warnlib.h
index a4c28b47..546e8ea3 100644
--- a/tests/scanner/warnlib.h
+++ b/tests/scanner/warnlib.h
@@ -5,9 +5,13 @@
#include <gio/gio.h>
+#include "gitestmacros.h"
+
#define WARNLIB_UNPAIRED_ERROR (warnlib_unpaired_error_quark ())
+_GI_TEST_EXTERN
GQuark warnlib_unpaired_error_quark (void);
+_GI_TEST_EXTERN
gboolean warnlib_throw_unpaired (GError **error);
/* interface */
@@ -31,9 +35,12 @@ struct _WarnLibWhateverIface
void (*do_boo) (WarnLibWhatever *self, int x, gpointer y);
};
+_GI_TEST_EXTERN
void warnlib_whatever_do_moo (WarnLibWhatever *self, int, gpointer);
+_GI_TEST_EXTERN
void warnlib_whatever_do_boo (WarnLibWhatever *self, int, gpointer);
+_GI_TEST_EXTERN
GType warnlib_whatever_get_type (void) G_GNUC_CONST;
#endif