e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* The following definitions are auto-generated from proxy_iface.xml */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
054900ab42a8b865a2257f94c66484e0a022a90cLukas Slebodnik#include <stddef.h>
054900ab42a8b865a2257f94c66484e0a022a90cLukas Slebodnik
054900ab42a8b865a2257f94c66484e0a022a90cLukas Slebodnik#include "dbus/dbus-protocol.h"
054900ab42a8b865a2257f94c66484e0a022a90cLukas Slebodnik#include "util/util_errors.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#include "sbus/sssd_dbus.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#include "sbus/sssd_dbus_meta.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#include "sbus/sssd_dbus_invokers.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#include "proxy_iface_generated.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* invokes a handler with a 'u' DBus signature */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic int invoke_u_method(struct sbus_request *dbus_req, void *function_ptr);
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* arguments for org.freedesktop.sssd.ProxyChild.Client.Register */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaconst struct sbus_arg_meta iface_proxy_client_Register__in[] = {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { "ID", "u" },
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { NULL, }
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaint iface_proxy_client_Register_finish(struct sbus_request *req)
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina{
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina return sbus_request_return_and_finish(req,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina DBUS_TYPE_INVALID);
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina}
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* methods for org.freedesktop.sssd.ProxyChild.Client */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaconst struct sbus_method_meta iface_proxy_client__methods[] = {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina "Register", /* name */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina iface_proxy_client_Register__in,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no out_args */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina offsetof(struct iface_proxy_client, Register),
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina invoke_u_method,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina },
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { NULL, }
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* interface info for org.freedesktop.sssd.ProxyChild.Client */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaconst struct sbus_interface_meta iface_proxy_client_meta = {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina "org.freedesktop.sssd.ProxyChild.Client", /* name */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina iface_proxy_client__methods,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no signals */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no properties */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina sbus_invoke_get_all, /* GetAll invoker */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* methods for org.freedesktop.sssd.ProxyChild.Auth */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaconst struct sbus_method_meta iface_proxy_auth__methods[] = {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina "PAM", /* name */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no in_args */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no out_args */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina offsetof(struct iface_proxy_auth, PAM),
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no invoker */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina },
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { NULL, }
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* interface info for org.freedesktop.sssd.ProxyChild.Auth */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaconst struct sbus_interface_meta iface_proxy_auth_meta = {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina "org.freedesktop.sssd.ProxyChild.Auth", /* name */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina iface_proxy_auth__methods,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no signals */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina NULL, /* no properties */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina sbus_invoke_get_all, /* GetAll invoker */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* invokes a handler with a 'u' DBus signature */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic int invoke_u_method(struct sbus_request *dbus_req, void *function_ptr)
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina{
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina uint32_t arg_0;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina int (*handler)(struct sbus_request *, void *, uint32_t) = function_ptr;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina if (!sbus_request_parse_or_finish(dbus_req,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina DBUS_TYPE_UINT32, &arg_0,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina DBUS_TYPE_INVALID)) {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina return EOK; /* request handled */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina }
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina return (handler)(dbus_req, dbus_req->intf->handler_data,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina arg_0);
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina}