summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/scanner/annotation-1.0-expected.gir32
-rw-r--r--tests/scanner/annotation-1.0-expected.tgir29
-rw-r--r--tests/scanner/annotation.c16
-rw-r--r--tests/scanner/annotation.h7
-rw-r--r--tests/scanner/utility-1.0-expected.gir51
-rw-r--r--tests/scanner/utility-1.0-expected.tgir48
-rw-r--r--tests/scanner/utility.c15
-rw-r--r--tests/scanner/utility.h11
8 files changed, 208 insertions, 1 deletions
diff --git a/tests/scanner/annotation-1.0-expected.gir b/tests/scanner/annotation-1.0-expected.gir
index 88dcdc6a..155b9c4a 100644
--- a/tests/scanner/annotation-1.0-expected.gir
+++ b/tests/scanner/annotation-1.0-expected.gir
@@ -245,6 +245,22 @@
</parameter>
</parameters>
</method>
+ <method name="foreach" c:identifier="annotation_object_foreach">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="do_not_use"
c:identifier="annotation_object_do_not_use"
deprecated="Use annotation_object_create_object() instead."
@@ -262,6 +278,22 @@
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
+ <callback name="ForeachFunc" c:type="AnnotationForeachFunc">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="AnnotationObject*"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
<function name="init" c:identifier="annotation_init">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
diff --git a/tests/scanner/annotation-1.0-expected.tgir b/tests/scanner/annotation-1.0-expected.tgir
index 4fe10bd6..576d6d74 100644
--- a/tests/scanner/annotation-1.0-expected.tgir
+++ b/tests/scanner/annotation-1.0-expected.tgir
@@ -234,6 +234,19 @@
</parameter>
</parameters>
</method>
+ <method name="foreach" c:identifier="annotation_object_foreach">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" scope="call" closure="2">
+ <type name="ForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="do_not_use" c:identifier="annotation_object_do_not_use" deprecated="1">
<return-value transfer-ownership="full">
<type name="GObject.Object"/>
@@ -245,6 +258,22 @@
<type name="GObject.ObjectClass"/>
</field>
</record>
+ <callback name="ForeachFunc">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any"/>
+ </parameter>
+ </parameters>
+ </callback>
<function name="init" c:identifier="annotation_init">
<return-value transfer-ownership="none">
<type name="none"/>
diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c
index cbb69b72..6278b6ce 100644
--- a/tests/scanner/annotation.c
+++ b/tests/scanner/annotation.c
@@ -308,6 +308,22 @@ annotation_object_string_out(AnnotationObject *object,
}
/**
+ * annotation_object_foreach:
+ * @object: a #AnnotationObject
+ * @func: (scope call): Callback to invoke
+ * @user_data: Callback user data
+ *
+ * Test taking a call-scoped callback
+ **/
+void
+annotation_object_foreach (AnnotationObject *object,
+ AnnotationForeachFunc func,
+ gpointer user_data)
+{
+
+}
+
+/**
* annotation_object_allow_none:
* @object: a #GObject
* @somearg: (allow-none):
diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h
index 1e83ca23..87946609 100644
--- a/tests/scanner/annotation.h
+++ b/tests/scanner/annotation.h
@@ -22,6 +22,10 @@ typedef GList* (*AnnotationListCallback) (GList *in);
typedef struct _AnnotationObject AnnotationObject;
typedef struct _AnnotationObjectClass AnnotationObjectClass;
+typedef void (*AnnotationForeachFunc) (AnnotationObject *object,
+ const char *item,
+ gpointer user_data);
+
struct _AnnotationObject
{
GObject parent_instance;
@@ -75,6 +79,9 @@ void annotation_object_parse_args (AnnotationObject *object,
char ***argv);
gboolean annotation_object_string_out (AnnotationObject *object,
char **str_out);
+void annotation_object_foreach (AnnotationObject *object,
+ AnnotationForeachFunc func,
+ gpointer user_data);
GObject* annotation_object_do_not_use (AnnotationObject *object);
diff --git a/tests/scanner/utility-1.0-expected.gir b/tests/scanner/utility-1.0-expected.gir
index c01ec4cb..6642d2fc 100644
--- a/tests/scanner/utility-1.0-expected.gir
+++ b/tests/scanner/utility-1.0-expected.gir
@@ -12,6 +12,28 @@
parent="GObject.Object"
glib:type-name="UtilityObject"
glib:get-type="utility_object_get_type">
+ <method name="watch_dir" c:identifier="utility_object_watch_dir">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ closure="3"
+ destroy="4">
+ <type name="FileFunc" c:type="UtilityFileFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
@@ -21,6 +43,19 @@
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
+ <callback name="FileFunc" c:type="UtilityFileFunc">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
<enumeration name="EnumType" c:type="UtilityEnumType">
<member name="a" value="0" c:identifier="UTILITY_ENUM_A"/>
<member name="b" value="1" c:identifier="UTILITY_ENUM_B"/>
@@ -58,5 +93,21 @@
<type name="double" c:type="double"/>
</field>
</union>
+ <function name="dir_foreach" c:identifier="utility_dir_foreach">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <type name="FileFunc" c:type="UtilityFileFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
</namespace>
</repository>
diff --git a/tests/scanner/utility-1.0-expected.tgir b/tests/scanner/utility-1.0-expected.tgir
index 236e2d72..26e6d196 100644
--- a/tests/scanner/utility-1.0-expected.tgir
+++ b/tests/scanner/utility-1.0-expected.tgir
@@ -10,12 +10,44 @@
<field name="parent_instance">
<type name="GObject.Object"/>
</field>
+ <method name="watch_dir" c:identifier="utility_object_watch_dir">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="3" destroy="4">
+ <type name="FileFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none">
+ <type name="GLib.DestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
</class>
<record name="ObjectClass">
<field name="parent_class">
<type name="GObject.ObjectClass"/>
</field>
</record>
+ <callback name="FileFunc">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any"/>
+ </parameter>
+ </parameters>
+ </callback>
<enumeration name="EnumType">
<member name="a" value="0"/>
<member name="b" value="1"/>
@@ -53,5 +85,21 @@
<type name="double"/>
</field>
</union>
+ <function name="dir_foreach" c:identifier="utility_dir_foreach">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <type name="FileFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="any"/>
+ </parameter>
+ </parameters>
+ </function>
</namespace>
</repository>
diff --git a/tests/scanner/utility.c b/tests/scanner/utility.c
index 45b4bd28..756de178 100644
--- a/tests/scanner/utility.c
+++ b/tests/scanner/utility.c
@@ -14,3 +14,18 @@ utility_object_init (UtilityObject *object)
}
+void
+utility_object_watch_dir (UtilityObject *object,
+ const char *path,
+ UtilityFileFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy)
+{
+
+}
+
+void
+utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data)
+{
+
+}
diff --git a/tests/scanner/utility.h b/tests/scanner/utility.h
index a592a96d..a744f037 100644
--- a/tests/scanner/utility.h
+++ b/tests/scanner/utility.h
@@ -23,7 +23,14 @@ struct _UtilityObjectClass
/* This one is similar to Pango.Glyph */
typedef guint32 UtilityGlyph;
+typedef void (*UtilityFileFunc)(const char *path, gpointer user_data);
+
GType utility_object_get_type (void) G_GNUC_CONST;
+void utility_object_watch_dir (UtilityObject *object,
+ const char *path,
+ UtilityFileFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy);
typedef enum
{
@@ -53,5 +60,7 @@ typedef union
glong integer;
double real;
} UtilityUnion;
-
+
+void utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data);
+
#endif /* __UTILITY_H__ */