void g_dbus_pending_error_valist(DBusConnection *connection, GDBusPendingReply pending, const char *name, const char *format, va_list args) { GSList *list; for (list = pending_security; list; list = list->next) { struct security_data *secdata = list->data; DBusMessage *reply; if (secdata->pending != pending) continue; pending_security = g_slist_remove(pending_security, secdata); reply = g_dbus_create_error_valist(secdata->message, name, format, args); if (reply != NULL) { dbus_connection_send(connection, reply, NULL); dbus_message_unref(reply); } dbus_message_unref(secdata->message); g_free(secdata); return; } }
DBusMessage *g_dbus_create_error(DBusMessage *message, const char *name, const char *format, ...) { va_list args; DBusMessage *reply; va_start(args, format); reply = g_dbus_create_error_valist(message, name, format, args); va_end(args); return reply; }
void g_dbus_pending_property_error_valist(GDBusPendingReply id, const char *name, const char *format, va_list args) { struct property_data *propdata; DBusMessage *reply; propdata = remove_pending_property_data(id); if (propdata == NULL) return; reply = g_dbus_create_error_valist(propdata->message, name, format, args); if (reply != NULL) { dbus_connection_send(propdata->conn, reply, NULL); dbus_message_unref(reply); } dbus_message_unref(propdata->message); g_free(propdata); }