/* dbus_signals_client.c generated by valac, the Vala compiler * generated from dbus_signals_client.vala, do not modify */ #include #include #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define TYPE_TEST (test_get_type ()) #define TEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEST, Test)) #define IS_TEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEST)) #define TEST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_TEST, TestIface)) typedef struct _Test Test; typedef struct _TestIface TestIface; #define TYPE_TEST_PROXY (test_proxy_get_type ()) enum { TEST_FOO_SIGNAL, TEST_BAR_SIGNAL, TEST_FINISH_SIGNAL, TEST_NUM_SIGNALS }; static guint test_signals[TEST_NUM_SIGNALS] = {0}; typedef GDBusProxy TestProxy; typedef GDBusProxyClass TestProxyClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_main_loop_unref0(var) ((var == NULL) ? NULL : (var = (g_main_loop_unref (var), NULL))) #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); struct _TestIface { GTypeInterface parent_iface; void (*do_foo) (Test* self, gint i, GError** error); void (*do_bar) (Test* self, gchar** baz, gint baz_length1, GError** error); }; VALA_EXTERN GMainLoop* main_loop; GMainLoop* main_loop = NULL; VALA_EXTERN GType test_proxy_get_type (void) G_GNUC_CONST ; VALA_EXTERN guint test_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error); VALA_EXTERN GType test_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (Test, g_object_unref) VALA_EXTERN void test_do_foo (Test* self, gint i, GError** error); VALA_EXTERN void test_do_bar (Test* self, gchar** baz, gint baz_length1, GError** error); static void g_cclosure_user_marshal_VOID__BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static GType test_get_type_once (void); static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); static void _dbus_handle_test_foo (Test* self, GVariant* parameters); static void _dbus_handle_test_bar (Test* self, GVariant* parameters); static void test_proxy_do_foo (Test* self, gint i, GError** error); static void test_proxy_do_bar (Test* self, gchar** baz, gint baz_length1, GError** error); static void test_proxy_test_interface_init (TestIface* iface); static void _dbus_test_do_foo (Test* self, GVariant* _parameters_, GDBusMethodInvocation* invocation); static void _dbus_test_do_bar (Test* self, GVariant* _parameters_, GDBusMethodInvocation* invocation); static void test_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data); static GVariant* test_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data); static gboolean test_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data); static void _dbus_test_foo (GObject* _sender, gint i, gpointer* _data); static void _dbus_test_bar (GObject* _sender, gchar** baz, gint baz_length1, gpointer* _data); static void _test_unregister_object (gpointer user_data); static void _vala_main (void); static void _vala_lambda0_ (gint i); static void __vala_lambda0__test_foo (Test* _sender, gint i, gpointer self); static void _vala_lambda1_ (gchar** baz, gint baz_length1); static void __vala_lambda1__test_bar (Test* _sender, gchar** baz, gint baz_length1, gpointer self); static void _vala_lambda2_ (void); static void __vala_lambda2__test_finish (Test* _sender, gpointer self); static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func); static const GDBusArgInfo _test_dbus_arg_info_do_foo_i = {-1, "i", "i", NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_do_foo_in[] = {&_test_dbus_arg_info_do_foo_i, NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_do_foo_out[] = {NULL}; static const GDBusMethodInfo _test_dbus_method_info_do_foo = {-1, "DoFoo", (GDBusArgInfo **) (&_test_dbus_arg_info_do_foo_in), (GDBusArgInfo **) (&_test_dbus_arg_info_do_foo_out), NULL}; static const GDBusArgInfo _test_dbus_arg_info_do_bar_baz = {-1, "baz", "as", NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_do_bar_in[] = {&_test_dbus_arg_info_do_bar_baz, NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_do_bar_out[] = {NULL}; static const GDBusMethodInfo _test_dbus_method_info_do_bar = {-1, "DoBar", (GDBusArgInfo **) (&_test_dbus_arg_info_do_bar_in), (GDBusArgInfo **) (&_test_dbus_arg_info_do_bar_out), NULL}; static const GDBusMethodInfo * const _test_dbus_method_info[] = {&_test_dbus_method_info_do_foo, &_test_dbus_method_info_do_bar, NULL}; static const GDBusArgInfo _test_dbus_arg_info_foo_i = {-1, "i", "i", NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_foo[] = {&_test_dbus_arg_info_foo_i, NULL}; static const GDBusSignalInfo _test_dbus_signal_info_foo = {-1, "Foo", (GDBusArgInfo **) (&_test_dbus_arg_info_foo), NULL}; static const GDBusArgInfo _test_dbus_arg_info_bar_baz = {-1, "baz", "as", NULL}; static const GDBusArgInfo * const _test_dbus_arg_info_bar[] = {&_test_dbus_arg_info_bar_baz, NULL}; static const GDBusSignalInfo _test_dbus_signal_info_bar = {-1, "Bar", (GDBusArgInfo **) (&_test_dbus_arg_info_bar), NULL}; static const GDBusSignalInfo * const _test_dbus_signal_info[] = {&_test_dbus_signal_info_foo, &_test_dbus_signal_info_bar, NULL}; static const GDBusPropertyInfo * const _test_dbus_property_info[] = {NULL}; static const GDBusInterfaceInfo _test_dbus_interface_info = {-1, "org.example.Test", (GDBusMethodInfo **) (&_test_dbus_method_info), (GDBusSignalInfo **) (&_test_dbus_signal_info), (GDBusPropertyInfo **) (&_test_dbus_property_info), NULL}; static const GDBusInterfaceVTable _test_dbus_interface_vtable = {test_dbus_interface_method_call, test_dbus_interface_get_property, test_dbus_interface_set_property}; void test_do_foo (Test* self, gint i, GError** error) { TestIface* _iface_; g_return_if_fail (IS_TEST (self)); _iface_ = TEST_GET_INTERFACE (self); if (_iface_->do_foo) { _iface_->do_foo (self, i, error); } } void test_do_bar (Test* self, gchar** baz, gint baz_length1, GError** error) { TestIface* _iface_; g_return_if_fail (IS_TEST (self)); _iface_ = TEST_GET_INTERFACE (self); if (_iface_->do_bar) { _iface_->do_bar (self, baz, baz_length1, error); } } static void g_cclosure_user_marshal_VOID__BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_INT callback; register GCClosure * cc; register gpointer data1; register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_boxed (param_values + 1), g_value_get_int (param_values + 2), data2); } static void test_default_init (TestIface * iface, gpointer iface_data) { test_signals[TEST_FOO_SIGNAL] = g_signal_new ("foo", TYPE_TEST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); test_signals[TEST_BAR_SIGNAL] = g_signal_new ("bar", TYPE_TEST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED_INT, G_TYPE_NONE, 2, G_TYPE_STRV, G_TYPE_INT); test_signals[TEST_FINISH_SIGNAL] = g_signal_new ("finish", TYPE_TEST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } static GType test_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (TestIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) test_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; GType test_type_id; test_type_id = g_type_register_static (G_TYPE_INTERFACE, "Test", &g_define_type_info, 0); g_type_interface_add_prerequisite (test_type_id, G_TYPE_OBJECT); g_type_set_qdata (test_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) test_proxy_get_type); g_type_set_qdata (test_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.example.Test"); g_type_set_qdata (test_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_test_dbus_interface_info)); g_type_set_qdata (test_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) test_register_object); return test_type_id; } GType test_get_type (void) { static volatile gsize test_type_id__once = 0; if (g_once_init_enter (&test_type_id__once)) { GType test_type_id; test_type_id = test_get_type_once (); g_once_init_leave (&test_type_id__once, test_type_id); } return test_type_id__once; } G_DEFINE_TYPE_EXTENDED (TestProxy, test_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_TEST, test_proxy_test_interface_init) ) static void test_proxy_class_init (TestProxyClass* klass) { G_DBUS_PROXY_CLASS (klass)->g_signal = test_proxy_g_signal; } static void _dbus_handle_test_foo (Test* self, GVariant* parameters) { GVariantIter _arguments_iter; gint i = 0; GVariant* _tmp0_; g_variant_iter_init (&_arguments_iter, parameters); _tmp0_ = g_variant_iter_next_value (&_arguments_iter); i = g_variant_get_int32 (_tmp0_); g_variant_unref (_tmp0_); g_signal_emit_by_name (self, "foo", i); } static void _dbus_handle_test_bar (Test* self, GVariant* parameters) { GVariantIter _arguments_iter; gchar** baz = NULL; gint baz_length1; GVariant* _tmp1_; gchar** _tmp2_; gint _tmp2__length; gint _tmp2__size; gint _tmp2__length1; GVariantIter _tmp3_; GVariant* _tmp4_; g_variant_iter_init (&_arguments_iter, parameters); baz_length1 = 0; _tmp1_ = g_variant_iter_next_value (&_arguments_iter); _tmp2_ = g_new (gchar*, 5); _tmp2__length = 0; _tmp2__size = 4; _tmp2__length1 = 0; g_variant_iter_init (&_tmp3_, _tmp1_); for (; (_tmp4_ = g_variant_iter_next_value (&_tmp3_)) != NULL; _tmp2__length1++) { if (_tmp2__size == _tmp2__length) { _tmp2__size = 2 * _tmp2__size; _tmp2_ = g_renew (gchar*, _tmp2_, _tmp2__size + 1); } _tmp2_[_tmp2__length++] = g_variant_dup_string (_tmp4_, NULL); g_variant_unref (_tmp4_); } baz_length1 = _tmp2__length1; _tmp2_[_tmp2__length] = NULL; baz = _tmp2_; g_variant_unref (_tmp1_); g_signal_emit_by_name (self, "bar", baz, baz_length1); baz = (_vala_array_free (baz, baz_length1, (GDestroyNotify) g_free), NULL); } static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) { if (strcmp (signal_name, "Foo") == 0) { _dbus_handle_test_foo ((Test*) proxy, parameters); } else if (strcmp (signal_name, "Bar") == 0) { _dbus_handle_test_bar ((Test*) proxy, parameters); } } static void test_proxy_init (TestProxy* self) { g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } static void test_proxy_do_foo (Test* self, gint i, GError** error) { GDBusMessage *_message; GVariant *_arguments; GVariantBuilder _arguments_builder; GDBusMessage *_reply_message; G_DBUS_ERROR; G_IO_ERROR; _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "DoFoo"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); _arguments = g_variant_builder_end (&_arguments_builder); g_dbus_message_set_body (_message, _arguments); _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); g_object_unref (_message); if (!_reply_message) { return; } if (g_dbus_message_to_gerror (_reply_message, error)) { g_object_unref (_reply_message); return; } g_object_unref (_reply_message); } static void test_proxy_do_bar (Test* self, gchar** baz, gint baz_length1, GError** error) { GDBusMessage *_message; GVariant *_arguments; GVariantBuilder _arguments_builder; gchar** _tmp5_; GVariantBuilder _tmp6_; gint _tmp7_; GDBusMessage *_reply_message; G_DBUS_ERROR; G_IO_ERROR; _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "DoBar"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp5_ = baz; g_variant_builder_init (&_tmp6_, G_VARIANT_TYPE ("as")); for (_tmp7_ = 0; _tmp7_ < baz_length1; _tmp7_++) { g_variant_builder_add_value (&_tmp6_, g_variant_new_string (*_tmp5_)); _tmp5_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp6_)); _arguments = g_variant_builder_end (&_arguments_builder); g_dbus_message_set_body (_message, _arguments); _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); g_object_unref (_message); if (!_reply_message) { return; } if (g_dbus_message_to_gerror (_reply_message, error)) { g_object_unref (_reply_message); return; } g_object_unref (_reply_message); } static void test_proxy_test_interface_init (TestIface* iface) { iface->do_foo = test_proxy_do_foo; iface->do_bar = test_proxy_do_bar; } static void _dbus_test_do_foo (Test* self, GVariant* _parameters_, GDBusMethodInvocation* invocation) { GError* error = NULL; GVariantIter _arguments_iter; gint i = 0; GVariant* _tmp8_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; g_variant_iter_init (&_arguments_iter, _parameters_); _tmp8_ = g_variant_iter_next_value (&_arguments_iter); i = g_variant_get_int32 (_tmp8_); g_variant_unref (_tmp8_); test_do_foo (self, i, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); return; } _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation)); g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); g_object_unref (invocation); g_object_unref (_reply_message); } static void _dbus_test_do_bar (Test* self, GVariant* _parameters_, GDBusMethodInvocation* invocation) { GError* error = NULL; GVariantIter _arguments_iter; gchar** baz = NULL; gint baz_length1 = 0; GVariant* _tmp9_; gchar** _tmp10_; gint _tmp10__length; gint _tmp10__size; gint _tmp10__length1; GVariantIter _tmp11_; GVariant* _tmp12_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; g_variant_iter_init (&_arguments_iter, _parameters_); _tmp9_ = g_variant_iter_next_value (&_arguments_iter); _tmp10_ = g_new (gchar*, 5); _tmp10__length = 0; _tmp10__size = 4; _tmp10__length1 = 0; g_variant_iter_init (&_tmp11_, _tmp9_); for (; (_tmp12_ = g_variant_iter_next_value (&_tmp11_)) != NULL; _tmp10__length1++) { if (_tmp10__size == _tmp10__length) { _tmp10__size = 2 * _tmp10__size; _tmp10_ = g_renew (gchar*, _tmp10_, _tmp10__size + 1); } _tmp10_[_tmp10__length++] = g_variant_dup_string (_tmp12_, NULL); g_variant_unref (_tmp12_); } baz_length1 = _tmp10__length1; _tmp10_[_tmp10__length] = NULL; baz = _tmp10_; g_variant_unref (_tmp9_); test_do_bar (self, baz, baz_length1, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); goto _error; } _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation)); g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); g_object_unref (invocation); g_object_unref (_reply_message); _error: baz = (_vala_array_free (baz, baz_length1, (GDestroyNotify) g_free), NULL); ; } static void test_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) { gpointer* data; gpointer object; data = user_data; object = data[0]; if (strcmp (method_name, "DoFoo") == 0) { _dbus_test_do_foo (object, parameters, invocation); } else if (strcmp (method_name, "DoBar") == 0) { _dbus_test_do_bar (object, parameters, invocation); } else { g_object_unref (invocation); } } static GVariant* test_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) { gpointer* data; gpointer object; data = user_data; object = data[0]; return NULL; } static gboolean test_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) { gpointer* data; gpointer object; data = user_data; object = data[0]; return FALSE; } static void _dbus_test_foo (GObject* _sender, gint i, gpointer* _data) { GDBusConnection * _connection; const gchar * _path; GVariant *_arguments; GVariantBuilder _arguments_builder; _connection = _data[1]; _path = _data[2]; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); _arguments = g_variant_builder_end (&_arguments_builder); g_dbus_connection_emit_signal (_connection, NULL, _path, "org.example.Test", "Foo", _arguments, NULL); } static void _dbus_test_bar (GObject* _sender, gchar** baz, gint baz_length1, gpointer* _data) { GDBusConnection * _connection; const gchar * _path; GVariant *_arguments; GVariantBuilder _arguments_builder; gchar** _tmp13_; GVariantBuilder _tmp14_; gint _tmp15_; _connection = _data[1]; _path = _data[2]; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp13_ = baz; g_variant_builder_init (&_tmp14_, G_VARIANT_TYPE ("as")); for (_tmp15_ = 0; _tmp15_ < baz_length1; _tmp15_++) { g_variant_builder_add_value (&_tmp14_, g_variant_new_string (*_tmp13_)); _tmp13_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp14_)); _arguments = g_variant_builder_end (&_arguments_builder); g_dbus_connection_emit_signal (_connection, NULL, _path, "org.example.Test", "Bar", _arguments, NULL); } guint test_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) { guint result; gpointer *data; data = g_new (gpointer, 3); data[0] = g_object_ref (object); data[1] = g_object_ref (connection); data[2] = g_strdup (path); result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_test_dbus_interface_info), &_test_dbus_interface_vtable, data, _test_unregister_object, error); if (!result) { return 0; } g_signal_connect (object, "foo", (GCallback) _dbus_test_foo, data); g_signal_connect (object, "bar", (GCallback) _dbus_test_bar, data); return result; } static void _test_unregister_object (gpointer user_data) { gpointer* data; data = user_data; g_signal_handlers_disconnect_by_func (data[0], _dbus_test_foo, data); g_signal_handlers_disconnect_by_func (data[0], _dbus_test_bar, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); g_free (data); } static void _vala_lambda0_ (gint i) { _vala_assert (i == 42, "i == 42"); } static void __vala_lambda0__test_foo (Test* _sender, gint i, gpointer self) { _vala_lambda0_ (i); } static void _vala_lambda1_ (gchar** baz, gint baz_length1) { const gchar* _tmp0_; const gchar* _tmp1_; const gchar* _tmp2_; GMainLoop* _tmp3_; _vala_assert (baz_length1 == 3, "baz.length == 3"); _tmp0_ = baz[0]; _vala_assert (g_strcmp0 (_tmp0_, "zero") == 0, "baz[0] == \"zero\""); _tmp1_ = baz[1]; _vala_assert (g_strcmp0 (_tmp1_, "one") == 0, "baz[1] == \"one\""); _tmp2_ = baz[2]; _vala_assert (g_strcmp0 (_tmp2_, "two") == 0, "baz[2] == \"two\""); _tmp3_ = main_loop; g_main_loop_quit (_tmp3_); } static void __vala_lambda1__test_bar (Test* _sender, gchar** baz, gint baz_length1, gpointer self) { _vala_lambda1_ (baz, baz_length1); } static void _vala_lambda2_ (void) { g_assert_not_reached (); } static void __vala_lambda2__test_finish (Test* _sender, gpointer self) { _vala_lambda2_ (); } static void _vala_main (void) { Test* test = NULL; Test* _tmp0_; Test* _tmp1_; Test* _tmp2_; Test* _tmp3_; Test* _tmp4_; Test* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; gchar* _tmp8_; gchar** _tmp9_; gchar** _tmp10_; gint _tmp10__length1; GMainLoop* _tmp11_; GMainLoop* _tmp12_; GError* _inner_error0_ = NULL; _tmp0_ = (Test*) g_initable_new (TYPE_TEST_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", "org.example.Test", "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/example/test", "g-interface-name", "org.example.Test", NULL); test = (Test*) _tmp0_; if (G_UNLIKELY (_inner_error0_ != NULL)) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code); g_clear_error (&_inner_error0_); return; } _tmp1_ = test; g_signal_connect (_tmp1_, "foo", (GCallback) __vala_lambda0__test_foo, NULL); _tmp2_ = test; g_signal_connect (_tmp2_, "bar", (GCallback) __vala_lambda1__test_bar, NULL); _tmp3_ = test; g_signal_connect (_tmp3_, "finish", (GCallback) __vala_lambda2__test_finish, NULL); _tmp4_ = test; test_do_foo (_tmp4_, 42, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (test); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code); g_clear_error (&_inner_error0_); return; } _tmp5_ = test; _tmp6_ = g_strdup ("zero"); _tmp7_ = g_strdup ("one"); _tmp8_ = g_strdup ("two"); _tmp9_ = g_new0 (gchar*, 3 + 1); _tmp9_[0] = _tmp6_; _tmp9_[1] = _tmp7_; _tmp9_[2] = _tmp8_; _tmp10_ = _tmp9_; _tmp10__length1 = 3; test_do_bar (_tmp5_, _tmp10_, (gint) 3, &_inner_error0_); _tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (test); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code); g_clear_error (&_inner_error0_); return; } _tmp11_ = g_main_loop_new (NULL, FALSE); _g_main_loop_unref0 (main_loop); main_loop = _tmp11_; _tmp12_ = main_loop; g_main_loop_run (_tmp12_); _g_object_unref0 (test); } int main (int argc, char ** argv) { _vala_main (); return 0; } static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { gssize i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); }