diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-09-09 16:33:25 +0200 |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-09-09 16:35:25 +0200 |
commit | a9dc0722ae291fc0644cebc9f2ec3bb61b0d9d87 (patch) | |
tree | 596b65cc07a140f0d4f376ebc496baa40448439d /tests | |
parent | c6cf170030cf46b0f156e4dc84e47a4339eff6af (diff) | |
download | gobject-introspection-a9dc0722ae291fc0644cebc9f2ec3bb61b0d9d87.tar.gz |
Foreign structs can have constructors
Diffstat (limited to 'tests')
-rw-r--r-- | tests/scanner/Foo-1.0-expected.gir | 5 | ||||
-rw-r--r-- | tests/scanner/foo.c | 6 | ||||
-rw-r--r-- | tests/scanner/foo.h | 2 |
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. */ |