diff --git a/src/dbus.c b/src/dbus.c index c33fc4a8..c6970e53 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -59,6 +59,16 @@ void dbus_dict_append_bool(struct l_dbus_message_builder *builder, l_dbus_message_builder_leave_dict(builder); } +void dbus_pending_reply(struct l_dbus_message **msg, + struct l_dbus_message *reply) +{ + struct l_dbus *dbus = dbus_get_bus(); + + l_dbus_send(dbus, reply); + l_dbus_message_unref(*msg); + *msg = NULL; +} + static void request_name_callback(struct l_dbus_message *message, void *user_data) { diff --git a/src/dbus.h b/src/dbus.h index a43d8057..bc6a4e48 100644 --- a/src/dbus.h +++ b/src/dbus.h @@ -31,6 +31,9 @@ struct l_dbus; struct l_dbus *dbus_get_bus(void); +void dbus_pending_reply(struct l_dbus_message **msg, + struct l_dbus_message *reply); + void dbus_dict_append_string(struct l_dbus_message_builder *builder, const char *key, const char *strval); void dbus_dict_append_bool(struct l_dbus_message_builder *builder,