diff options
-rw-r--r-- | tests/gimarshallingtests.c | 27 | ||||
-rw-r--r-- | tests/gimarshallingtests.h | 17 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c index 53c17818..fbb1273e 100644 --- a/tests/gimarshallingtests.c +++ b/tests/gimarshallingtests.c @@ -4767,6 +4767,33 @@ gi_marshalling_tests_object_vfunc_out_enum (GIMarshallingTestsObject *self, GIMa g_assert_cmpint (local, ==, 0x12345678); } +/** + * gi_marshalling_tests_object_vfunc_return_flags: + */ +GIMarshallingTestsFlags +gi_marshalling_tests_object_vfunc_return_flags (GIMarshallingTestsObject *self) +{ + /* make sure that local variables don't get smashed */ + GIMarshallingTestsFlags return_value; + glong local = 0x12345678; + return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_flags (self); + g_assert_cmpint (local, ==, 0x12345678); + return return_value; +} + +/** + * gi_marshalling_tests_object_vfunc_out_flags: + * @flags: (out): + */ +void +gi_marshalling_tests_object_vfunc_out_flags (GIMarshallingTestsObject *self, GIMarshallingTestsFlags *flags) +{ + /* make sure that local variables don't get smashed */ + gulong local = 0x12345678; + GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_out_flags (self, flags); + g_assert_cmpuint (local, ==, 0x12345678); +} + /* NOTE: * diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h index 747a075d..656cadd9 100644 --- a/tests/gimarshallingtests.h +++ b/tests/gimarshallingtests.h @@ -1515,6 +1515,17 @@ struct _GIMarshallingTestsObjectClass * @object: (in) (transfer full): */ void (* vfunc_in_object_transfer_full) (GIMarshallingTestsObject *self, GObject *object); + + /** + * GIMarshallingTestsObjectClass::vfunc_return_flags: + */ + GIMarshallingTestsFlags (* vfunc_return_flags) (GIMarshallingTestsObject *self); + + /** + * GIMarshallingTestsObjectClass::vfunc_out_flags: + * @flags: (out): + */ + void (* vfunc_out_flags) (GIMarshallingTestsObject *self, GIMarshallingTestsFlags *flags); }; struct _GIMarshallingTestsObject @@ -1620,6 +1631,12 @@ GIMarshallingTestsEnum gi_marshalling_tests_object_vfunc_return_enum (GIMarshall _GI_TEST_EXTERN void gi_marshalling_tests_object_vfunc_out_enum (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum); +_GI_TEST_EXTERN +GIMarshallingTestsFlags gi_marshalling_tests_object_vfunc_return_flags (GIMarshallingTestsObject *self); + +_GI_TEST_EXTERN +void gi_marshalling_tests_object_vfunc_out_flags (GIMarshallingTestsObject *self, GIMarshallingTestsFlags *flags); + _GI_TEST_EXTERN void gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_none (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating); |