1 #ifndef __ANNOTATION_OBJECT_H__
2 #define __ANNOTATION_OBJECT_H__
4 #include <glib-object.h>
8 * @in: (in) (transfer none): array of ints
11 * Return value: (transfer none): array of ints
13 typedef const gint* (*AnnotationCallback) (const gint *in);
16 * AnnotationListCallback:
17 * @in: (in) (transfer none) (element-type utf8): list of strings
19 * This is a callback taking a list.
20 * Return value: (transfer container) (element-type utf8): list of strings
22 typedef GList* (*AnnotationListCallback) (GList *in);
27 * This is an object used to test annotations.
29 * Attributes: (org.example.Test cows)
31 typedef struct _AnnotationObject AnnotationObject;
32 typedef struct _AnnotationObjectClass AnnotationObjectClass;
34 typedef void (*AnnotationForeachFunc) (AnnotationObject *object,
38 struct _AnnotationObject
40 GObject parent_instance;
43 struct _AnnotationObjectClass
45 GObjectClass parent_class;
48 GType annotation_object_get_type (void);
50 gint annotation_object_method (AnnotationObject *object);
51 gint annotation_object_out (AnnotationObject *object,
53 GObject* annotation_object_create_object(AnnotationObject *object);
54 GObject* annotation_object_allow_none (AnnotationObject *object,
55 const gchar *somearg);
56 GObject* annotation_object_notrans (AnnotationObject *object);
57 gint annotation_object_inout (AnnotationObject *object,
59 gint annotation_object_inout2 (AnnotationObject *object,
61 gint annotation_object_inout3 (AnnotationObject *object,
63 gint annotation_object_in (AnnotationObject *object,
65 gint annotation_object_calleeowns (AnnotationObject *object,
67 gint annotation_object_calleesowns (AnnotationObject *object,
70 GList* annotation_object_get_strings (AnnotationObject *object);
71 GHashTable*annotation_object_get_hash (AnnotationObject *object);
72 void annotation_object_with_voidp (AnnotationObject *object,
74 GSList* annotation_object_get_objects (AnnotationObject *object);
76 void annotation_object_use_buffer (AnnotationObject *object,
79 void annotation_object_compute_sum (AnnotationObject *object,
82 void annotation_object_compute_sum_n(AnnotationObject *object,
85 void annotation_object_compute_sum_nz(AnnotationObject *object,
88 void annotation_object_parse_args (AnnotationObject *object,
91 gboolean annotation_object_string_out (AnnotationObject *object,
93 void annotation_object_foreach (AnnotationObject *object,
94 AnnotationForeachFunc func,
97 void annotation_object_set_data (AnnotationObject *object,
100 void annotation_object_set_data2 (AnnotationObject *object,
103 void annotation_object_set_data3 (AnnotationObject *object,
107 GObject* annotation_object_do_not_use (AnnotationObject *object);
108 void annotation_object_watch (AnnotationObject *object,
109 AnnotationForeachFunc func,
111 void annotation_object_watch_full (AnnotationObject *object,
112 AnnotationForeachFunc func,
114 GDestroyNotify destroy);
116 void annotation_init (int *argc,
118 char ** annotation_return_array (int *length);
119 void annotation_versioned (void);
120 char ** annotation_string_zero_terminated (void);
121 void annotation_string_zero_terminated_out (char ***out);
123 void annotation_object_extra_annos (AnnotationObject *object);
125 char * annotation_get_source_file (void);
126 void annotation_set_source_file (const char *fname);
131 * This is a test of an array of object in an field of a struct.
133 struct AnnotationStruct
135 AnnotationObject *objects[10];
138 #endif /* __ANNOTATION_OBJECT_H__ */