diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2016-10-30 07:05:43 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-02-15 14:51:02 +0100 |
commit | c109f063b4469818fd335b8b509f0458e7b33b0a (patch) | |
tree | 602d47ae79c9fbf6b0c18b32fe7c4c7e0b5af6b3 /src/responder/common/iface/responder_iface_generated.c | |
parent | 2d1a59f6c2cf3cf4667cf2d01b2d780db916db42 (diff) | |
download | sssd-c109f063b4469818fd335b8b509f0458e7b33b0a.tar.gz sssd-c109f063b4469818fd335b8b509f0458e7b33b0a.tar.xz sssd-c109f063b4469818fd335b8b509f0458e7b33b0a.zip |
RESPONDER: Add a responder sbus interface to set domain state
Adds a generic responder s-bus interface that all responders implement.
The interface currently contains methods that make it possible for a sssd
domain to be marked as active or inconsistent by a back end.
In the future, this commit will be superseded by sbus signals.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/responder/common/iface/responder_iface_generated.c')
-rw-r--r-- | src/responder/common/iface/responder_iface_generated.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/responder/common/iface/responder_iface_generated.c b/src/responder/common/iface/responder_iface_generated.c new file mode 100644 index 000000000..1d59eafed --- /dev/null +++ b/src/responder/common/iface/responder_iface_generated.c @@ -0,0 +1,78 @@ +/* The following definitions are auto-generated from responder_iface.xml */ + +#include "util/util.h" +#include "sbus/sssd_dbus.h" +#include "sbus/sssd_dbus_meta.h" +#include "sbus/sssd_dbus_invokers.h" +#include "responder_iface_generated.h" + +/* invokes a handler with a 's' DBus signature */ +static int invoke_s_method(struct sbus_request *dbus_req, void *function_ptr); + +/* arguments for org.freedesktop.sssd.Responder.Domain.SetActive */ +const struct sbus_arg_meta iface_responder_domain_SetActive__in[] = { + { "name", "s" }, + { NULL, } +}; + +int iface_responder_domain_SetActive_finish(struct sbus_request *req) +{ + return sbus_request_return_and_finish(req, + DBUS_TYPE_INVALID); +} + +/* arguments for org.freedesktop.sssd.Responder.Domain.SetInconsistent */ +const struct sbus_arg_meta iface_responder_domain_SetInconsistent__in[] = { + { "name", "s" }, + { NULL, } +}; + +int iface_responder_domain_SetInconsistent_finish(struct sbus_request *req) +{ + return sbus_request_return_and_finish(req, + DBUS_TYPE_INVALID); +} + +/* methods for org.freedesktop.sssd.Responder.Domain */ +const struct sbus_method_meta iface_responder_domain__methods[] = { + { + "SetActive", /* name */ + iface_responder_domain_SetActive__in, + NULL, /* no out_args */ + offsetof(struct iface_responder_domain, SetActive), + invoke_s_method, + }, + { + "SetInconsistent", /* name */ + iface_responder_domain_SetInconsistent__in, + NULL, /* no out_args */ + offsetof(struct iface_responder_domain, SetInconsistent), + invoke_s_method, + }, + { NULL, } +}; + +/* interface info for org.freedesktop.sssd.Responder.Domain */ +const struct sbus_interface_meta iface_responder_domain_meta = { + "org.freedesktop.sssd.Responder.Domain", /* name */ + iface_responder_domain__methods, + NULL, /* no signals */ + NULL, /* no properties */ + sbus_invoke_get_all, /* GetAll invoker */ +}; + +/* invokes a handler with a 's' DBus signature */ +static int invoke_s_method(struct sbus_request *dbus_req, void *function_ptr) +{ + const char * arg_0; + int (*handler)(struct sbus_request *, void *, const char *) = function_ptr; + + if (!sbus_request_parse_or_finish(dbus_req, + DBUS_TYPE_STRING, &arg_0, + DBUS_TYPE_INVALID)) { + return EOK; /* request handled */ + } + + return (handler)(dbus_req, dbus_req->intf->handler_data, + arg_0); +} |