From 87729e3a6c56383642a8d3a86b2856487f2ee064 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 15 Apr 2014 15:29:44 +0200 Subject: SBUS: Add a convenience function sbus_error_new MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a convenience function that constructs a DBusError on top of a talloc context and as such can be used to mark an sbus request as failed without having to create a DBusError instance by the caller. Reviewed-by: Pavel Březina Reviewed-by: Stef Walter --- src/sbus/sssd_dbus.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/sbus/sssd_dbus.h') diff --git a/src/sbus/sssd_dbus.h b/src/sbus/sssd_dbus.h index 3bf70c8cc..0fd499cbe 100644 --- a/src/sbus/sssd_dbus.h +++ b/src/sbus/sssd_dbus.h @@ -27,6 +27,7 @@ struct sbus_interface; struct sbus_request; #include +#include "util/util.h" typedef int (*sbus_msg_handler_fn)(struct sbus_request *dbus_req, void *instance_data); @@ -252,6 +253,21 @@ int sbus_request_return_and_finish(struct sbus_request *dbus_req, int sbus_request_fail_and_finish(struct sbus_request *dbus_req, const DBusError *error); +/* + * Construct a new DBusError instance which can be consumed by functions such + * as @sbus_request_fail_and_finish(). + * + * The @error is a string constant representing a DBus error as documented at + * http://dbus.freedesktop.org/doc/api/html/group__DBusProtocol.html. + * The parameter @err_msg is a human-readable error representation (or + * NULL for none). The returned DBusError is a talloc context and the err_msg + * is duplicated using the returned DBusError instance as a talloc parent. + */ +DBusError *sbus_error_new(TALLOC_CTX *mem_ctx, + const char *dbus_err_name, + const char *fmt, + ...) SSS_ATTRIBUTE_PRINTF(3,4); + /* * Parse a DBus method call request. * -- cgit