summaryrefslogtreecommitdiff
path: root/tests/dbus/bug783002_server.c-expected
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dbus/bug783002_server.c-expected')
-rw-r--r--tests/dbus/bug783002_server.c-expected680
1 files changed, 680 insertions, 0 deletions
diff --git a/tests/dbus/bug783002_server.c-expected b/tests/dbus/bug783002_server.c-expected
new file mode 100644
index 000000000..3b2a6e4a0
--- /dev/null
+++ b/tests/dbus/bug783002_server.c-expected
@@ -0,0 +1,680 @@
+/* dbus_bug783002_server.c generated by valac, the Vala compiler
+ * generated from dbus_bug783002_server.vala, do not modify */
+
+#include <glib-object.h>
+#include <gio/gio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#if !defined(VALA_EXTERN)
+#if defined(_MSC_VER)
+#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 TEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEST, TestClass))
+#define IS_TEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEST))
+#define IS_TEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEST))
+#define TEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEST, TestClass))
+
+typedef struct _Test Test;
+typedef struct _TestClass TestClass;
+typedef struct _TestPrivate TestPrivate;
+enum {
+ TEST_0_PROPERTY,
+ TEST_NUM_PROPERTIES
+};
+static GParamSpec* test_properties[TEST_NUM_PROPERTIES];
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _Block1Data Block1Data;
+#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
+typedef struct _TestTestArrayLifetimeData TestTestArrayLifetimeData;
+typedef struct _TestTestArrayLifetimeReadyData TestTestArrayLifetimeReadyData;
+#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_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 _Test {
+ GObject parent_instance;
+ TestPrivate * priv;
+};
+
+struct _TestClass {
+ GObjectClass parent_class;
+};
+
+struct _Block1Data {
+ int _ref_count_;
+ Test* self;
+ gpointer _async_data_;
+};
+
+struct _TestTestArrayLifetimeData {
+ int _state_;
+ GObject* _source_object_;
+ GAsyncResult* _res_;
+ GTask* _async_result;
+ Test* self;
+ gchar** items;
+ gint items_length1;
+ gchar* result;
+ Block1Data* _data1_;
+ GString* _result_;
+ GString* _tmp0_;
+ gchar** item_collection;
+ gint item_collection_length1;
+ gint _item_collection_size_;
+ gint item_it;
+ gchar* _tmp1_;
+ gchar* item;
+ GString* _tmp2_;
+ const gchar* _tmp3_;
+ GString* _tmp4_;
+ const gchar* _tmp5_;
+ GString* _tmp6_;
+ const gchar* _tmp7_;
+ gchar* _tmp8_;
+};
+
+struct _TestTestArrayLifetimeReadyData {
+ GDBusMethodInvocation* _invocation_;
+ gchar** items;
+ gint items_length1;
+};
+
+static gpointer test_parent_class = NULL;
+VALA_EXTERN GMainLoop* main_loop;
+GMainLoop* main_loop = NULL;
+
+VALA_EXTERN GType test_get_type (void) G_GNUC_CONST ;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (Test, g_object_unref)
+VALA_EXTERN guint test_register_object (void* object,
+ GDBusConnection* connection,
+ const gchar* path,
+ GError** error);
+static void test_test_array_lifetime_data_free (gpointer _data);
+VALA_EXTERN void test_test_array_lifetime (Test* self,
+ gchar** items,
+ gint items_length1,
+ GAsyncReadyCallback _callback_,
+ gpointer _user_data_);
+VALA_EXTERN gchar* test_test_array_lifetime_finish (Test* self,
+ GAsyncResult* _res_,
+ GError** error);
+static gboolean test_test_array_lifetime_co (TestTestArrayLifetimeData* _data_);
+static Block1Data* block1_data_ref (Block1Data* _data1_);
+static void block1_data_unref (void * _userdata_);
+static gboolean __lambda4_ (Block1Data* _data1_);
+static gboolean ___lambda4__gsource_func (gpointer self);
+VALA_EXTERN Test* test_new (void);
+VALA_EXTERN Test* test_construct (GType object_type);
+static GType test_get_type_once (void);
+static void _dbus_test_test_array_lifetime (Test* self,
+ GVariant* _parameters_,
+ GDBusMethodInvocation* invocation);
+static void _dbus_test_test_array_lifetime_ready (GObject * source_object,
+ GAsyncResult * _res_,
+ gpointer _user_data_);
+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 _test_unregister_object (gpointer user_data);
+VALA_EXTERN void on_client_exit (GPid pid,
+ gint status);
+static void _vala_main (void);
+static guint _variant_get1 (GVariant* value);
+static void _on_client_exit_gchild_watch_func (GPid pid,
+ gint wait_status,
+ 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_test_array_lifetime_items = {-1, "items", "as", NULL};
+static const GDBusArgInfo _test_dbus_arg_info_test_array_lifetime_result = {-1, "result", "s", NULL};
+static const GDBusArgInfo * const _test_dbus_arg_info_test_array_lifetime_in[] = {&_test_dbus_arg_info_test_array_lifetime_items, NULL};
+static const GDBusArgInfo * const _test_dbus_arg_info_test_array_lifetime_out[] = {&_test_dbus_arg_info_test_array_lifetime_result, NULL};
+static const GDBusMethodInfo _test_dbus_method_info_test_array_lifetime = {-1, "TestArrayLifetime", (GDBusArgInfo **) (&_test_dbus_arg_info_test_array_lifetime_in), (GDBusArgInfo **) (&_test_dbus_arg_info_test_array_lifetime_out), NULL};
+static const GDBusMethodInfo * const _test_dbus_method_info[] = {&_test_dbus_method_info_test_array_lifetime, NULL};
+static const GDBusSignalInfo * const _test_dbus_signal_info[] = {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};
+
+static void
+test_test_array_lifetime_data_free (gpointer _data)
+{
+ TestTestArrayLifetimeData* _data_;
+ _data_ = _data;
+ _g_free0 (_data_->result);
+ _g_object_unref0 (_data_->self);
+ g_slice_free (TestTestArrayLifetimeData, _data_);
+}
+
+static gpointer
+_g_object_ref0 (gpointer self)
+{
+ return self ? g_object_ref (self) : NULL;
+}
+
+void
+test_test_array_lifetime (Test* self,
+ gchar** items,
+ gint items_length1,
+ GAsyncReadyCallback _callback_,
+ gpointer _user_data_)
+{
+ TestTestArrayLifetimeData* _data_;
+ Test* _tmp0_;
+ g_return_if_fail (IS_TEST (self));
+ _data_ = g_slice_new0 (TestTestArrayLifetimeData);
+ _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
+ g_task_set_task_data (_data_->_async_result, _data_, test_test_array_lifetime_data_free);
+ _tmp0_ = _g_object_ref0 (self);
+ _data_->self = _tmp0_;
+ _data_->items = items;
+ _data_->items_length1 = items_length1;
+ test_test_array_lifetime_co (_data_);
+}
+
+gchar*
+test_test_array_lifetime_finish (Test* self,
+ GAsyncResult* _res_,
+ GError** error)
+{
+ gchar* result;
+ TestTestArrayLifetimeData* _data_;
+ _data_ = g_task_propagate_pointer (G_TASK (_res_), error);
+ if (NULL == _data_) {
+ return NULL;
+ }
+ result = _data_->result;
+ _data_->result = NULL;
+ return result;
+}
+
+static Block1Data*
+block1_data_ref (Block1Data* _data1_)
+{
+ g_atomic_int_inc (&_data1_->_ref_count_);
+ return _data1_;
+}
+
+static void
+block1_data_unref (void * _userdata_)
+{
+ Block1Data* _data1_;
+ _data1_ = (Block1Data*) _userdata_;
+ if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
+ Test* self;
+ self = _data1_->self;
+ _g_object_unref0 (self);
+ g_slice_free (Block1Data, _data1_);
+ }
+}
+
+static gboolean
+__lambda4_ (Block1Data* _data1_)
+{
+ Test* self;
+ gboolean result = FALSE;
+ self = _data1_->self;
+ test_test_array_lifetime_co (_data1_->_async_data_);
+ result = FALSE;
+ return result;
+}
+
+static gboolean
+___lambda4__gsource_func (gpointer self)
+{
+ gboolean result;
+ result = __lambda4_ (self);
+ return result;
+}
+
+static gboolean
+test_test_array_lifetime_co (TestTestArrayLifetimeData* _data_)
+{
+ switch (_data_->_state_) {
+ case 0:
+ goto _state_0;
+ case 1:
+ goto _state_1;
+ default:
+ g_assert_not_reached ();
+ }
+ _state_0:
+ _data_->_data1_ = g_slice_new0 (Block1Data);
+ _data_->_data1_->_ref_count_ = 1;
+ _data_->_data1_->self = g_object_ref (_data_->self);
+ _data_->_data1_->_async_data_ = _data_;
+ g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ___lambda4__gsource_func, block1_data_ref (_data_->_data1_), block1_data_unref);
+ _data_->_state_ = 1;
+ return FALSE;
+ _state_1:
+ ;
+ _data_->_tmp0_ = g_string_new ("");
+ _data_->_result_ = _data_->_tmp0_;
+ {
+ _data_->item_collection_length1 = 0;
+ _data_->_item_collection_size_ = 0;
+ _data_->item_collection = _data_->items;
+ _data_->item_collection_length1 = _data_->items_length1;
+ for (_data_->item_it = 0; _data_->item_it < _data_->item_collection_length1; _data_->item_it = _data_->item_it + 1) {
+ _data_->_tmp1_ = g_strdup (_data_->item_collection[_data_->item_it]);
+ _data_->item = _data_->_tmp1_;
+ {
+ _data_->_tmp2_ = _data_->_result_;
+ _data_->_tmp3_ = _data_->item;
+ g_string_append (_data_->_tmp2_, _data_->_tmp3_);
+ _g_free0 (_data_->item);
+ }
+ }
+ }
+ _data_->_tmp4_ = _data_->_result_;
+ _data_->_tmp5_ = _data_->_tmp4_->str;
+ _vala_assert (g_strcmp0 (_data_->_tmp5_, "BadgerSnakeMushroom") == 0, "result.str == \"BadgerSnakeMushroom\"");
+ _data_->_tmp6_ = _data_->_result_;
+ _data_->_tmp7_ = _data_->_tmp6_->str;
+ _data_->_tmp8_ = g_strdup (_data_->_tmp7_);
+ _data_->result = _data_->_tmp8_;
+ _g_string_free0 (_data_->_result_);
+ block1_data_unref (_data_->_data1_);
+ _data_->_data1_ = NULL;
+ g_task_return_pointer (_data_->_async_result, _data_, NULL);
+ if (_data_->_state_ != 0) {
+ while (!g_task_get_completed (_data_->_async_result)) {
+ g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
+ }
+ }
+ g_object_unref (_data_->_async_result);
+ return FALSE;
+}
+
+Test*
+test_construct (GType object_type)
+{
+ Test * self = NULL;
+ self = (Test*) g_object_new (object_type, NULL);
+ return self;
+}
+
+Test*
+test_new (void)
+{
+ return test_construct (TYPE_TEST);
+}
+
+static void
+test_class_init (TestClass * klass,
+ gpointer klass_data)
+{
+ test_parent_class = g_type_class_peek_parent (klass);
+}
+
+static void
+test_instance_init (Test * self,
+ gpointer klass)
+{
+}
+
+static GType
+test_get_type_once (void)
+{
+ static const GTypeInfo g_define_type_info = { sizeof (TestClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) test_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Test), 0, (GInstanceInitFunc) test_instance_init, NULL };
+ GType test_type_id;
+ test_type_id = g_type_register_static (G_TYPE_OBJECT, "Test", &g_define_type_info, 0);
+ 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__volatile = 0;
+ if (g_once_init_enter (&test_type_id__volatile)) {
+ GType test_type_id;
+ test_type_id = test_get_type_once ();
+ g_once_init_leave (&test_type_id__volatile, test_type_id);
+ }
+ return test_type_id__volatile;
+}
+
+static void
+_dbus_test_test_array_lifetime (Test* self,
+ GVariant* _parameters_,
+ GDBusMethodInvocation* invocation)
+{
+ GVariantIter _arguments_iter;
+ TestTestArrayLifetimeReadyData* _ready_data;
+ GVariant* _tmp0_;
+ gchar** _tmp1_;
+ gint _tmp1__length;
+ gint _tmp1__size;
+ gint _tmp1__length1;
+ GVariantIter _tmp2_;
+ GVariant* _tmp3_;
+ g_variant_iter_init (&_arguments_iter, _parameters_);
+ _ready_data = g_slice_new0 (TestTestArrayLifetimeReadyData);
+ _ready_data->_invocation_ = invocation;
+ _tmp0_ = g_variant_iter_next_value (&_arguments_iter);
+ _tmp1_ = g_new (gchar*, 5);
+ _tmp1__length = 0;
+ _tmp1__size = 4;
+ _tmp1__length1 = 0;
+ g_variant_iter_init (&_tmp2_, _tmp0_);
+ for (; (_tmp3_ = g_variant_iter_next_value (&_tmp2_)) != NULL; _tmp1__length1++) {
+ if (_tmp1__size == _tmp1__length) {
+ _tmp1__size = 2 * _tmp1__size;
+ _tmp1_ = g_renew (gchar*, _tmp1_, _tmp1__size + 1);
+ }
+ _tmp1_[_tmp1__length++] = g_variant_dup_string (_tmp3_, NULL);
+ g_variant_unref (_tmp3_);
+ }
+ _ready_data->items_length1 = _tmp1__length1;
+ _tmp1_[_tmp1__length] = NULL;
+ _ready_data->items = _tmp1_;
+ g_variant_unref (_tmp0_);
+ test_test_array_lifetime (self, _ready_data->items, _ready_data->items_length1, (GAsyncReadyCallback) _dbus_test_test_array_lifetime_ready, _ready_data);
+ _error:
+ ;
+}
+
+static void
+_dbus_test_test_array_lifetime_ready (GObject * source_object,
+ GAsyncResult * _res_,
+ gpointer _user_data_)
+{
+ TestTestArrayLifetimeReadyData* _ready_data;
+ GDBusMethodInvocation* invocation;
+ GError* error = NULL;
+ GDBusMessage* _reply_message = NULL;
+ GVariant* _reply;
+ GVariantBuilder _reply_builder;
+ gchar* result;
+ _ready_data = _user_data_;
+ invocation = _ready_data->_invocation_;
+ result = test_test_array_lifetime_finish ((Test*) source_object, _res_, &error);
+ if (error) {
+ g_dbus_method_invocation_return_gerror (invocation, error);
+ g_error_free (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);
+ g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
+ _g_free0 (result);
+ _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:
+ _ready_data->items = (_vala_array_free (_ready_data->items, _ready_data->items_length1, (GDestroyNotify) g_free), NULL);
+ g_slice_free (TestTestArrayLifetimeReadyData, _ready_data);
+}
+
+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, "TestArrayLifetime") == 0) {
+ _dbus_test_test_array_lifetime (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;
+}
+
+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;
+ }
+ return result;
+}
+
+static void
+_test_unregister_object (gpointer user_data)
+{
+ gpointer* data;
+ data = user_data;
+ g_object_unref (data[0]);
+ g_object_unref (data[1]);
+ g_free (data[2]);
+ g_free (data);
+}
+
+void
+on_client_exit (GPid pid,
+ gint status)
+{
+ GMainLoop* _tmp0_;
+ _vala_assert (status == 0, "status == 0");
+ _tmp0_ = main_loop;
+ g_main_loop_quit (_tmp0_);
+}
+
+static guint
+_variant_get1 (GVariant* value)
+{
+ return g_variant_get_uint32 (value);
+}
+
+static void
+_on_client_exit_gchild_watch_func (GPid pid,
+ gint wait_status,
+ gpointer self)
+{
+ on_client_exit (pid, wait_status);
+}
+
+static void
+_vala_main (void)
+{
+ GDBusConnection* conn = NULL;
+ GDBusConnection* _tmp0_;
+ GDBusConnection* _tmp1_;
+ Test* _tmp2_;
+ Test* _tmp3_;
+ GVariant* request_result = NULL;
+ GDBusConnection* _tmp4_;
+ GVariant* _tmp5_;
+ GVariant* _tmp6_;
+ GVariant* _tmp7_;
+ GVariant* _tmp8_;
+ GVariant* _tmp9_;
+ GVariant* _tmp10_;
+ GVariant* _tmp11_;
+ guint _tmp12_;
+ GPid client_pid = 0;
+ gchar* _tmp13_;
+ gchar** _tmp14_;
+ gchar** _tmp15_;
+ gint _tmp15__length1;
+ GPid _tmp16_ = 0;
+ GMainLoop* _tmp17_;
+ GMainLoop* _tmp18_;
+ GError* _inner_error0_ = NULL;
+ _tmp0_ = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &_inner_error0_);
+ conn = _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_ = conn;
+ _tmp2_ = test_new ();
+ _tmp3_ = _tmp2_;
+ test_register_object (_tmp3_, _tmp1_, "/org/example/test", &_inner_error0_);
+ _g_object_unref0 (_tmp3_);
+ if (G_UNLIKELY (_inner_error0_ != NULL)) {
+ _g_object_unref0 (conn);
+ 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;
+ }
+ _tmp4_ = conn;
+ _tmp5_ = g_variant_new ("(su)", "org.example.Test", 0x4, NULL);
+ g_variant_ref_sink (_tmp5_);
+ _tmp6_ = _tmp5_;
+ _tmp7_ = g_dbus_connection_call_sync (_tmp4_, "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "RequestName", _tmp6_, NULL, 0, -1, NULL, &_inner_error0_);
+ _tmp8_ = _tmp7_;
+ _g_variant_unref0 (_tmp6_);
+ request_result = _tmp8_;
+ if (G_UNLIKELY (_inner_error0_ != NULL)) {
+ _g_object_unref0 (conn);
+ 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;
+ }
+ _tmp9_ = request_result;
+ _tmp10_ = g_variant_get_child_value (_tmp9_, (gsize) 0);
+ _tmp11_ = _tmp10_;
+ _tmp12_ = _variant_get1 (_tmp11_);
+ _vala_assert (_tmp12_ == ((guint) 1), "(uint) request_result.get_child_value (0) == 1");
+ _g_variant_unref0 (_tmp11_);
+ _tmp13_ = g_strdup ("dbus_bug783002_client");
+ _tmp14_ = g_new0 (gchar*, 1 + 1);
+ _tmp14_[0] = _tmp13_;
+ _tmp15_ = _tmp14_;
+ _tmp15__length1 = 1;
+ g_spawn_async (NULL, _tmp15_, NULL, G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp16_, &_inner_error0_);
+ client_pid = _tmp16_;
+ _tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
+ if (G_UNLIKELY (_inner_error0_ != NULL)) {
+ _g_variant_unref0 (request_result);
+ _g_object_unref0 (conn);
+ 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;
+ }
+ g_child_watch_add_full (G_PRIORITY_DEFAULT_IDLE, client_pid, _on_client_exit_gchild_watch_func, NULL, NULL);
+ _tmp17_ = g_main_loop_new (NULL, FALSE);
+ _g_main_loop_unref0 (main_loop);
+ main_loop = _tmp17_;
+ _tmp18_ = main_loop;
+ g_main_loop_run (_tmp18_);
+ _g_variant_unref0 (request_result);
+ _g_object_unref0 (conn);
+}
+
+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);
+}
+