summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-09-09 16:33:25 +0200
committerTomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-09-09 16:35:25 +0200
commita9dc0722ae291fc0644cebc9f2ec3bb61b0d9d87 (patch)
tree596b65cc07a140f0d4f376ebc496baa40448439d /tests
parentc6cf170030cf46b0f156e4dc84e47a4339eff6af (diff)
downloadgobject-introspection-a9dc0722ae291fc0644cebc9f2ec3bb61b0d9d87.tar.gz
Foreign structs can have constructors
Diffstat (limited to 'tests')
-rw-r--r--tests/scanner/Foo-1.0-expected.gir5
-rw-r--r--tests/scanner/foo.c6
-rw-r--r--tests/scanner/foo.h2
3 files changed, 13 insertions, 0 deletions
diff --git a/tests/scanner/Foo-1.0-expected.gir b/tests/scanner/Foo-1.0-expected.gir
index 36bec038..a0cb696d 100644
--- a/tests/scanner/Foo-1.0-expected.gir
+++ b/tests/scanner/Foo-1.0-expected.gir
@@ -255,6 +255,11 @@ and/or use gtk-doc annotations. -->
<field name="foo" writable="1">
<type name="gint" c:type="int"/>
</field>
+ <constructor name="new" c:identifier="foo_foreign_struct_new">
+ <return-value transfer-ownership="full">
+ <type name="ForeignStruct" c:type="FooForeignStruct*"/>
+ </return-value>
+ </constructor>
</record>
<interface name="Interface"
c:symbol-prefix="interface"
diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c
index 9e3a38d6..a2901f1b 100644
--- a/tests/scanner/foo.c
+++ b/tests/scanner/foo.c
@@ -711,6 +711,12 @@ foo_skip_me (FooSkippable fs)
*
*/
+FooForeignStruct*
+foo_foreign_struct_new (void)
+{
+ return g_slice_new0 (FooForeignStruct);
+}
+
/**
* foo_test_varargs_callback: (skip)
*
diff --git a/tests/scanner/foo.h b/tests/scanner/foo.h
index 110c3139..6c572666 100644
--- a/tests/scanner/foo.h
+++ b/tests/scanner/foo.h
@@ -423,6 +423,8 @@ struct _FooForeignStruct
int foo;
};
+FooForeignStruct* foo_foreign_struct_new (void);
+
/* This one should be a global, not a method on UtilityObject since
* it's a separate namespace.
*/