}
if (reply) {
- if (!dbus_connection_send(connection, reply, NULL))
- goto oom;
+ if (!bus_maybe_send_reply(connection, message, reply))
+ goto oom;
dbus_message_unref(reply);
}
}
if (reply) {
- if (!dbus_connection_send(c, reply, NULL))
+ if (!bus_maybe_send_reply(c, message, reply))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
return DBUS_ERROR_FAILED;
}
+dbus_bool_t bus_maybe_send_reply (DBusConnection *c,
+ DBusMessage *message,
+ DBusMessage *reply)
+{
+ if (dbus_message_get_no_reply (message))
+ return TRUE;
+ return dbus_connection_send (c, reply, NULL);
+}
+
DBusHandlerResult bus_send_error_reply(DBusConnection *c, DBusMessage *message, DBusError *berror, int error) {
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
const char *name, *text;
if (!reply)
goto oom;
- if (!dbus_connection_send(c, reply, NULL))
+ if (!bus_maybe_send_reply(c, message, reply))
goto oom;
if (berror)
const void *const base; /* base pointer to which the offset must be added to reach data */
} BusBoundProperties;
+dbus_bool_t bus_maybe_send_reply (DBusConnection *c,
+ DBusMessage *message,
+ DBusMessage *reply);
+
DBusHandlerResult bus_send_error_reply(
DBusConnection *c,
DBusMessage *message,