123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- #ifndef __REGRESS_ANNOTATION_OBJECT_H__
- #define __REGRESS_ANNOTATION_OBJECT_H__
- #include "gitestmacros.h"
- #include <glib-object.h>
- typedef enum /*< flags,prefix=ANN >*/
- {
- ANN_FLAG_FOO = 1,
- ANN_FLAG_BAR = 2
- } RegressAnnotationBitfield;
- /**
- * RegressAnnotationCallback:
- * @in: (in) (transfer none): array of ints
- *
- * This is a callback.
- * Return value: (transfer none): array of ints
- */
- typedef const gint* (*RegressAnnotationCallback) (const gint *in);
- /**
- * RegressAnnotationListCallback:
- * @in: (in) (transfer none) (element-type utf8): list of strings
- *
- * This is a callback taking a list.
- * Return value: (transfer container) (element-type utf8): list of strings
- */
- typedef GList* (*RegressAnnotationListCallback) (GList *in);
- /**
- * RegressAnnotationNotifyFunc:
- * @data: (closure): The user data
- *
- * This is a callback with a 'closure' argument that is not named
- * 'user_data' and hence has to be annotated.
- */
- typedef void (*RegressAnnotationNotifyFunc) (gpointer data);
- /**
- * RegressAnnotationObject: (attributes org.example.Test=cows)
- *
- * This is an object used to test annotations.
- */
- typedef struct _RegressAnnotationObject RegressAnnotationObject;
- typedef struct _RegressAnnotationObjectClass RegressAnnotationObjectClass;
- typedef void (*RegressAnnotationForeachFunc) (RegressAnnotationObject *object,
- const char *item,
- gpointer user_data);
- struct _RegressAnnotationObject
- {
- GObject parent_instance;
- };
- 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);
- /**
- * RegressAnnotationStruct:
- *
- * This is a test of an array of object in an field of a struct.
- */
- struct RegressAnnotationStruct
- {
- RegressAnnotationObject *objects[10];
- };
- /**
- * RegressAnnotationFields:
- * @field1: Some documentation
- * @arr: (array length=len): an array of length @len
- * @len: the length of array
- *
- * This is a struct for testing field documentation and annotations
- */
- struct RegressAnnotationFields
- {
- int field1;
- guchar *arr;
- 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 */
- #define REGRESS_ANNOTATION_CALCULATED_DEFINE (10 * 10)
- /**
- * REGRESS_ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
- *
- * Constant to define a calculated large value
- *
- * Since: 1.4
- */
- #define REGRESS_ANNOTATION_CALCULATED_LARGE (1000 * G_GINT64_CONSTANT (10000000))
- /**
- * REGRESS_ANNOTATION_CALCULATED_LARGE_DIV: (value 1000000UL)
- *
- * Constant to define a calculated large value
- */
- #define REGRESS_ANNOTATION_CALCULATED_LARGE_DIV (1000 / G_GINT64_CONSTANT (10000000))
- #endif /* __REGRESS_ANNOTATION_OBJECT_H__ */
|