/* client.c generated by valac, the Vala compiler * generated from client.vala, do not modify */ #include #include #include #include #include #include #include #define TYPE_DATA (data_get_type ()) typedef struct _Data Data; #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; typedef struct _TestDBusProxy TestDBusProxy; typedef DBusGProxyClass TestDBusProxyClass; #define _dbus_g_connection_unref0(var) ((var == NULL) ? NULL : (var = (dbus_g_connection_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _DBusObjectVTable _DBusObjectVTable; struct _Data { gint id; char** data; gint data_length1; gint data_size; }; struct _TestIface { GTypeInterface parent_iface; gint (*TestMethod) (Test* self, Data* x, int x_length1, GError** error); }; struct _TestDBusProxy { DBusGProxy parent_instance; gboolean disposed; }; struct _DBusObjectVTable { void (*register_object) (DBusConnection*, const char*, void*); }; GType data_get_type (void); Data* data_dup (const Data* self); void data_free (Data* self); void data_copy (const Data* self, Data* dest); void data_destroy (Data* self); static char** _vala_array_dup1 (char** self, int length); GType test_get_type (void); gint test_TestMethod (Test* self, Data* x, int x_length1, GError** error); void test_dbus_register_object (DBusConnection* connection, const char* path, void* object); void _test_dbus_unregister (DBusConnection* connection, void* _user_data_); DBusHandlerResult test_dbus_message (DBusConnection* connection, DBusMessage* message, void* object); static DBusHandlerResult _dbus_test_introspect (Test* self, DBusConnection* connection, DBusMessage* message); static DBusHandlerResult _dbus_test_property_get_all (Test* self, DBusConnection* connection, DBusMessage* message); static void _vala_Data_array_free (Data* array, gint array_length); static DBusHandlerResult _dbus_test_TestMethod (Test* self, DBusConnection* connection, DBusMessage* message); GType test_dbus_proxy_get_type (void); Test* test_dbus_proxy_new (DBusGConnection* connection, const char* name, const char* path); DBusHandlerResult test_dbus_proxy_filter (DBusConnection* connection, DBusMessage* message, void* user_data); enum { TEST_DBUS_PROXY_DUMMY_PROPERTY }; static gint test_dbus_proxy_TestMethod (Test* self, Data* x, int x_length1, GError** error); static void test_dbus_proxy_test__interface_init (TestIface* iface); static void test_dbus_proxy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void test_dbus_proxy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); void _main (void); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_dbus_register_object (DBusConnection* connection, const char* path, void* object); static void _vala_dbus_unregister_object (gpointer connection, GObject* object); static const DBusObjectPathVTable _test_dbus_path_vtable = {_test_dbus_unregister, test_dbus_message}; static const _DBusObjectVTable _test_dbus_vtable = {test_dbus_register_object}; static char** _vala_array_dup1 (char** self, int length) { char** result; int i; result = g_new0 (char*, length + 1); for (i = 0; i < length; i++) { result[i] = g_strdup (self[i]); } return result; } void data_copy (const Data* self, Data* dest) { char** _tmp0_; dest->id = self->id; dest->data = (_tmp0_ = self->data, (_tmp0_ == NULL) ? ((gpointer) _tmp0_) : _vala_array_dup1 (_tmp0_, (*self).data_length1)); dest->data_length1 = self->data_length1; } void data_destroy (Data* self) { self->data = (_vala_array_free (self->data, (*self).data_length1, (GDestroyNotify) g_free), NULL); } Data* data_dup (const Data* self) { Data* dup; dup = g_new0 (Data, 1); data_copy (self, dup); return dup; } void data_free (Data* self) { data_destroy (self); g_free (self); } GType data_get_type (void) { static GType data_type_id = 0; if (data_type_id == 0) { data_type_id = g_boxed_type_register_static ("Data", (GBoxedCopyFunc) data_dup, (GBoxedFreeFunc) data_free); } return data_type_id; } gint test_TestMethod (Test* self, Data* x, int x_length1, GError** error) { return TEST_GET_INTERFACE (self)->TestMethod (self, x, x_length1, error); } void _test_dbus_unregister (DBusConnection* connection, void* _user_data_) { } static DBusHandlerResult _dbus_test_introspect (Test* self, DBusConnection* connection, DBusMessage* message) { DBusMessage* reply; DBusMessageIter iter; GString* xml_data; char** children; int i; reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); xml_data = g_string_new ("\n"); g_string_append (xml_data, "\n\n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n\n"); dbus_connection_list_registered (connection, g_object_get_data ((GObject *) self, "dbus_object_path"), &children); for (i = 0; children[i]; i++) { g_string_append_printf (xml_data, "\n", children[i]); } dbus_free_string_array (children); g_string_append (xml_data, "\n"); dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &xml_data->str); g_string_free (xml_data, TRUE); if (reply) { dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } static DBusHandlerResult _dbus_test_property_get_all (Test* self, DBusConnection* connection, DBusMessage* message) { DBusMessage* reply; DBusMessageIter iter, reply_iter, subiter; char* interface_name; const char* _tmp1_; if (strcmp (dbus_message_get_signature (message), "s")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &reply_iter); dbus_message_iter_get_basic (&iter, &_tmp1_); dbus_message_iter_next (&iter); interface_name = g_strdup (_tmp1_); if (strcmp (interface_name, "org.example.Test") == 0) { dbus_message_iter_open_container (&reply_iter, DBUS_TYPE_ARRAY, "{sv}", &subiter); dbus_message_iter_close_container (&reply_iter, &subiter); } else { dbus_message_unref (reply); reply = NULL; } g_free (interface_name); if (reply) { dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } static void _vala_Data_array_free (Data* array, gint array_length) { if (array != NULL) { int i; for (i = 0; i < array_length; i = i + 1) { data_destroy (&array[i]); } } g_free (array); } static DBusHandlerResult _dbus_test_TestMethod (Test* self, DBusConnection* connection, DBusMessage* message) { DBusMessageIter iter; GError* error; Data* x = NULL; int x_length1; Data* _tmp2_; int _tmp2__length; int _tmp2__size; int _tmp2__length1; DBusMessageIter _tmp3_; gint result; DBusMessage* reply; dbus_int32_t _tmp10_; error = NULL; if (strcmp (dbus_message_get_signature (message), "a(ias)")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } dbus_message_iter_init (message, &iter); x_length1 = 0; _tmp2_ = g_new (Data, 5); _tmp2__length = 0; _tmp2__size = 4; _tmp2__length1 = 0; dbus_message_iter_recurse (&iter, &_tmp3_); for (; dbus_message_iter_get_arg_type (&_tmp3_); _tmp2__length1++) { Data _tmp4_; DBusMessageIter _tmp5_; dbus_int32_t _tmp6_; char** _tmp7_; int _tmp7__length; int _tmp7__size; int _tmp7__length1; DBusMessageIter _tmp8_; if (_tmp2__size == _tmp2__length) { _tmp2__size = 2 * _tmp2__size; _tmp2_ = g_renew (Data, _tmp2_, _tmp2__size + 1); } dbus_message_iter_recurse (&_tmp3_, &_tmp5_); dbus_message_iter_get_basic (&_tmp5_, &_tmp6_); dbus_message_iter_next (&_tmp5_); _tmp4_.id = _tmp6_; _tmp7_ = g_new (char*, 5); _tmp7__length = 0; _tmp7__size = 4; _tmp7__length1 = 0; dbus_message_iter_recurse (&_tmp5_, &_tmp8_); for (; dbus_message_iter_get_arg_type (&_tmp8_); _tmp7__length1++) { const char* _tmp9_; if (_tmp7__size == _tmp7__length) { _tmp7__size = 2 * _tmp7__size; _tmp7_ = g_renew (char*, _tmp7_, _tmp7__size + 1); } dbus_message_iter_get_basic (&_tmp8_, &_tmp9_); dbus_message_iter_next (&_tmp8_); _tmp7_[_tmp7__length++] = g_strdup (_tmp9_); } _tmp4_->data_length1 = _tmp7__length1; _tmp7_[_tmp7__length] = NULL; dbus_message_iter_next (&_tmp5_); _tmp4_.data = _tmp7_; dbus_message_iter_next (&_tmp3_); _tmp2_[_tmp2__length++] = _tmp4_; } x_length1 = _tmp2__length1; dbus_message_iter_next (&iter); x = _tmp2_; result = test_TestMethod (self, x, x_length1, &error); if (error) { if (error->domain == DBUS_GERROR) { switch (error->code) { case DBUS_GERROR_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Failed", error->message); break; case DBUS_GERROR_NO_MEMORY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoMemory", error->message); break; case DBUS_GERROR_SERVICE_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.ServiceUnknown", error->message); break; case DBUS_GERROR_NAME_HAS_NO_OWNER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NameHasNoOwner", error->message); break; case DBUS_GERROR_NO_REPLY: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoReply", error->message); break; case DBUS_GERROR_IO_ERROR: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.IOError", error->message); break; case DBUS_GERROR_BAD_ADDRESS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.BadAddress", error->message); break; case DBUS_GERROR_NOT_SUPPORTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NotSupported", error->message); break; case DBUS_GERROR_LIMITS_EXCEEDED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.LimitsExceeded", error->message); break; case DBUS_GERROR_ACCESS_DENIED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AccessDenied", error->message); break; case DBUS_GERROR_AUTH_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AuthFailed", error->message); break; case DBUS_GERROR_NO_SERVER: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoServer", error->message); break; case DBUS_GERROR_TIMEOUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Timeout", error->message); break; case DBUS_GERROR_NO_NETWORK: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.NoNetwork", error->message); break; case DBUS_GERROR_ADDRESS_IN_USE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.AddressInUse", error->message); break; case DBUS_GERROR_DISCONNECTED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Disconnected", error->message); break; case DBUS_GERROR_INVALID_ARGS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidArgs", error->message); break; case DBUS_GERROR_FILE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileNotFound", error->message); break; case DBUS_GERROR_FILE_EXISTS: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.FileExists", error->message); break; case DBUS_GERROR_UNKNOWN_METHOD: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnknownMethod", error->message); break; case DBUS_GERROR_TIMED_OUT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.TimedOut", error->message); break; case DBUS_GERROR_MATCH_RULE_NOT_FOUND: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleNotFound", error->message); break; case DBUS_GERROR_MATCH_RULE_INVALID: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.MatchRuleInvalid", error->message); break; case DBUS_GERROR_SPAWN_EXEC_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ExecFailed", error->message); break; case DBUS_GERROR_SPAWN_FORK_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ForkFailed", error->message); break; case DBUS_GERROR_SPAWN_CHILD_EXITED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildExited", error->message); break; case DBUS_GERROR_SPAWN_CHILD_SIGNALED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.ChildSignaled", error->message); break; case DBUS_GERROR_SPAWN_FAILED: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.Spawn.Failed", error->message); break; case DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.UnixProcessIdUnknown", error->message); break; case DBUS_GERROR_INVALID_SIGNATURE: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidSignature", error->message); break; case DBUS_GERROR_INVALID_FILE_CONTENT: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.InvalidFileContent", error->message); break; case DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown", error->message); break; case DBUS_GERROR_REMOTE_EXCEPTION: reply = dbus_message_new_error (message, "org.freedesktop.DBus.Error.RemoteException", error->message); break; } } dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } reply = dbus_message_new_method_return (message); dbus_message_iter_init_append (reply, &iter); x = (_vala_Data_array_free (x, x_length1), NULL); _tmp10_ = result; dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &_tmp10_); if (reply) { dbus_connection_send (connection, reply, NULL); dbus_message_unref (reply); return DBUS_HANDLER_RESULT_HANDLED; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } DBusHandlerResult test_dbus_message (DBusConnection* connection, DBusMessage* message, void* object) { DBusHandlerResult result; result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED; if (dbus_message_is_method_call (message, "org.freedesktop.DBus.Introspectable", "Introspect")) { result = _dbus_test_introspect (object, connection, message); } else if (dbus_message_is_method_call (message, "org.freedesktop.DBus.Properties", "GetAll")) { result = _dbus_test_property_get_all (object, connection, message); } else if (dbus_message_is_method_call (message, "org.example.Test", "TestMethod")) { result = _dbus_test_TestMethod (object, connection, message); } if (result == DBUS_HANDLER_RESULT_HANDLED) { return result; } else { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } } void test_dbus_register_object (DBusConnection* connection, const char* path, void* object) { if (!g_object_get_data (object, "dbus_object_path")) { g_object_set_data (object, "dbus_object_path", g_strdup (path)); dbus_connection_register_object_path (connection, path, &_test_dbus_path_vtable, object); g_object_weak_ref (object, _vala_dbus_unregister_object, connection); } } static void test_base_init (TestIface * iface) { static gboolean initialized = FALSE; if (!initialized) { initialized = TRUE; g_type_set_qdata (TYPE_TEST, g_quark_from_static_string ("DBusObjectVTable"), (void*) (&_test_dbus_vtable)); } } GType test_get_type (void) { static GType test_type_id = 0; if (test_type_id == 0) { static const GTypeInfo g_define_type_info = { sizeof (TestIface), (GBaseInitFunc) test_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; 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_string ("ValaDBusInterfaceProxyType"), &test_dbus_proxy_get_type); } return test_type_id; } G_DEFINE_TYPE_EXTENDED (TestDBusProxy, test_dbus_proxy, DBUS_TYPE_G_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_TEST, test_dbus_proxy_test__interface_init) ); Test* test_dbus_proxy_new (DBusGConnection* connection, const char* name, const char* path) { Test* self; self = g_object_new (test_dbus_proxy_get_type (), "connection", connection, "name", name, "path", path, "interface", "org.example.Test", NULL); return self; } static GObject* test_dbus_proxy_construct (GType gtype, guint n_properties, GObjectConstructParam* properties) { GObject* self; DBusGConnection *connection; char* path; char* filter; self = G_OBJECT_CLASS (test_dbus_proxy_parent_class)->constructor (gtype, n_properties, properties); g_object_get (self, "connection", &connection, NULL); g_object_get (self, "path", &path, NULL); dbus_connection_add_filter (dbus_g_connection_get_connection (connection), test_dbus_proxy_filter, self, NULL); filter = g_strdup_printf ("type='signal',path='%s'", path); dbus_bus_add_match (dbus_g_connection_get_connection (connection), filter, NULL); dbus_g_connection_unref (connection); g_free (path); g_free (filter); return self; } DBusHandlerResult test_dbus_proxy_filter (DBusConnection* connection, DBusMessage* message, void* user_data) { if (dbus_message_has_path (message, dbus_g_proxy_get_path (user_data))) { } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } static void test_dbus_proxy_dispose (GObject* self) { DBusGConnection *connection; if (((TestDBusProxy*) self)->disposed) { return; } ((TestDBusProxy*) self)->disposed = TRUE; g_object_get (self, "connection", &connection, NULL); dbus_connection_remove_filter (dbus_g_connection_get_connection (connection), test_dbus_proxy_filter, self); G_OBJECT_CLASS (test_dbus_proxy_parent_class)->dispose (self); } static void test_dbus_proxy_class_init (TestDBusProxyClass* klass) { G_OBJECT_CLASS (klass)->constructor = test_dbus_proxy_construct; G_OBJECT_CLASS (klass)->dispose = test_dbus_proxy_dispose; G_OBJECT_CLASS (klass)->get_property = test_dbus_proxy_get_property; G_OBJECT_CLASS (klass)->set_property = test_dbus_proxy_set_property; } static void test_dbus_proxy_init (TestDBusProxy* self) { } static gint test_dbus_proxy_TestMethod (Test* self, Data* x, int x_length1, GError** error) { DBusError _dbus_error; DBusGConnection *_connection; DBusMessage *_message, *_reply; DBusMessageIter _iter; Data* _tmp11_; DBusMessageIter _tmp12_; int _tmp13_; gint _result; dbus_int32_t _tmp20_; if (((TestDBusProxy*) self)->disposed) { g_set_error_literal (error, DBUS_GERROR, DBUS_GERROR_DISCONNECTED, "Connection is closed"); return 0; } _message = dbus_message_new_method_call (dbus_g_proxy_get_bus_name ((DBusGProxy*) self), dbus_g_proxy_get_path ((DBusGProxy*) self), "org.example.Test", "TestMethod"); dbus_message_iter_init_append (_message, &_iter); _tmp11_ = x; dbus_message_iter_open_container (&_iter, DBUS_TYPE_ARRAY, "(ias)", &_tmp12_); for (_tmp13_ = 0; _tmp13_ < x_length1; _tmp13_++) { DBusMessageIter _tmp14_; dbus_int32_t _tmp15_; char** _tmp16_; DBusMessageIter _tmp17_; int _tmp18_; dbus_message_iter_open_container (&_tmp12_, DBUS_TYPE_STRUCT, NULL, &_tmp14_); _tmp15_ = (*_tmp11_).id; dbus_message_iter_append_basic (&_tmp14_, DBUS_TYPE_INT32, &_tmp15_); _tmp16_ = (*_tmp11_).data; dbus_message_iter_open_container (&_tmp14_, DBUS_TYPE_ARRAY, "s", &_tmp17_); for (_tmp18_ = 0; _tmp18_ < (*_tmp11_)->data_length1; _tmp18_++) { const char* _tmp19_; _tmp19_ = *_tmp16_; dbus_message_iter_append_basic (&_tmp17_, DBUS_TYPE_STRING, &_tmp19_); _tmp16_++; } dbus_message_iter_close_container (&_tmp14_, &_tmp17_); dbus_message_iter_close_container (&_tmp12_, &_tmp14_); _tmp11_++; } dbus_message_iter_close_container (&_iter, &_tmp12_); g_object_get (self, "connection", &_connection, NULL); dbus_error_init (&_dbus_error); _reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (_connection), _message, -1, &_dbus_error); dbus_g_connection_unref (_connection); dbus_message_unref (_message); if (dbus_error_is_set (&_dbus_error)) { GQuark _edomain; gint _ecode; if (strstr (_dbus_error.name, "org.freedesktop.DBus.Error") == _dbus_error.name) { const char* _tmp21_; _edomain = DBUS_GERROR; _tmp21_ = _dbus_error.name + 27; if (strcmp (_tmp21_, "Failed") == 0) { _ecode = DBUS_GERROR_FAILED; } else if (strcmp (_tmp21_, "NoMemory") == 0) { _ecode = DBUS_GERROR_NO_MEMORY; } else if (strcmp (_tmp21_, "ServiceUnknown") == 0) { _ecode = DBUS_GERROR_SERVICE_UNKNOWN; } else if (strcmp (_tmp21_, "NameHasNoOwner") == 0) { _ecode = DBUS_GERROR_NAME_HAS_NO_OWNER; } else if (strcmp (_tmp21_, "NoReply") == 0) { _ecode = DBUS_GERROR_NO_REPLY; } else if (strcmp (_tmp21_, "IOError") == 0) { _ecode = DBUS_GERROR_IO_ERROR; } else if (strcmp (_tmp21_, "BadAddress") == 0) { _ecode = DBUS_GERROR_BAD_ADDRESS; } else if (strcmp (_tmp21_, "NotSupported") == 0) { _ecode = DBUS_GERROR_NOT_SUPPORTED; } else if (strcmp (_tmp21_, "LimitsExceeded") == 0) { _ecode = DBUS_GERROR_LIMITS_EXCEEDED; } else if (strcmp (_tmp21_, "AccessDenied") == 0) { _ecode = DBUS_GERROR_ACCESS_DENIED; } else if (strcmp (_tmp21_, "AuthFailed") == 0) { _ecode = DBUS_GERROR_AUTH_FAILED; } else if (strcmp (_tmp21_, "NoServer") == 0) { _ecode = DBUS_GERROR_NO_SERVER; } else if (strcmp (_tmp21_, "Timeout") == 0) { _ecode = DBUS_GERROR_TIMEOUT; } else if (strcmp (_tmp21_, "NoNetwork") == 0) { _ecode = DBUS_GERROR_NO_NETWORK; } else if (strcmp (_tmp21_, "AddressInUse") == 0) { _ecode = DBUS_GERROR_ADDRESS_IN_USE; } else if (strcmp (_tmp21_, "Disconnected") == 0) { _ecode = DBUS_GERROR_DISCONNECTED; } else if (strcmp (_tmp21_, "InvalidArgs") == 0) { _ecode = DBUS_GERROR_INVALID_ARGS; } else if (strcmp (_tmp21_, "FileNotFound") == 0) { _ecode = DBUS_GERROR_FILE_NOT_FOUND; } else if (strcmp (_tmp21_, "FileExists") == 0) { _ecode = DBUS_GERROR_FILE_EXISTS; } else if (strcmp (_tmp21_, "UnknownMethod") == 0) { _ecode = DBUS_GERROR_UNKNOWN_METHOD; } else if (strcmp (_tmp21_, "TimedOut") == 0) { _ecode = DBUS_GERROR_TIMED_OUT; } else if (strcmp (_tmp21_, "MatchRuleNotFound") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_NOT_FOUND; } else if (strcmp (_tmp21_, "MatchRuleInvalid") == 0) { _ecode = DBUS_GERROR_MATCH_RULE_INVALID; } else if (strcmp (_tmp21_, "Spawn.ExecFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_EXEC_FAILED; } else if (strcmp (_tmp21_, "Spawn.ForkFailed") == 0) { _ecode = DBUS_GERROR_SPAWN_FORK_FAILED; } else if (strcmp (_tmp21_, "Spawn.ChildExited") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_EXITED; } else if (strcmp (_tmp21_, "Spawn.ChildSignaled") == 0) { _ecode = DBUS_GERROR_SPAWN_CHILD_SIGNALED; } else if (strcmp (_tmp21_, "Spawn.Failed") == 0) { _ecode = DBUS_GERROR_SPAWN_FAILED; } else if (strcmp (_tmp21_, "UnixProcessIdUnknown") == 0) { _ecode = DBUS_GERROR_UNIX_PROCESS_ID_UNKNOWN; } else if (strcmp (_tmp21_, "InvalidSignature") == 0) { _ecode = DBUS_GERROR_INVALID_SIGNATURE; } else if (strcmp (_tmp21_, "InvalidFileContent") == 0) { _ecode = DBUS_GERROR_INVALID_FILE_CONTENT; } else if (strcmp (_tmp21_, "SELinuxSecurityContextUnknown") == 0) { _ecode = DBUS_GERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN; } else if (strcmp (_tmp21_, "RemoteException") == 0) { _ecode = DBUS_GERROR_REMOTE_EXCEPTION; } } g_set_error_literal (error, _edomain, _ecode, _dbus_error.message); dbus_error_free (&_dbus_error); return 0; } if (strcmp (dbus_message_get_signature (_reply), "i")) { g_set_error (error, DBUS_GERROR, DBUS_GERROR_INVALID_SIGNATURE, "Invalid signature, expected \"%s\", got \"%s\"", "i", dbus_message_get_signature (_reply)); dbus_message_unref (_reply); return 0; } dbus_message_iter_init (_reply, &_iter); dbus_message_iter_get_basic (&_iter, &_tmp20_); dbus_message_iter_next (&_iter); _result = _tmp20_; dbus_message_unref (_reply); return _result; } static void test_dbus_proxy_test__interface_init (TestIface* iface) { iface->TestMethod = test_dbus_proxy_TestMethod; } static void test_dbus_proxy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { } static void test_dbus_proxy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { } void _main (void) { GError * _inner_error_; DBusGConnection* conn; Test* test; _inner_error_ = NULL; conn = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_); if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } test = test_dbus_proxy_new (conn, "org.example.Test", "/org/example/test"); _dbus_g_connection_unref0 (conn); _g_object_unref0 (test); } int main (int argc, char ** argv) { g_type_init (); _main (); return 0; } static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int 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, gint array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); } static void _vala_dbus_register_object (DBusConnection* connection, const char* path, void* object) { const _DBusObjectVTable * vtable; vtable = g_type_get_qdata (G_TYPE_FROM_INSTANCE (object), g_quark_from_static_string ("DBusObjectVTable")); if (vtable) { vtable->register_object (connection, path, object); } else { g_warning ("Object does not implement any D-Bus interface"); } } static void _vala_dbus_unregister_object (gpointer connection, GObject* object) { char* path; path = g_object_steal_data ((GObject*) object, "dbus_object_path"); dbus_connection_unregister_object_path (connection, path); g_free (path); }