e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* The following declarations are auto-generated from proxy_iface.xml */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#ifndef __PROXY_IFACE_XML__
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define __PROXY_IFACE_XML__
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#include "sbus/sssd_dbus.h"
054900ab42a8b865a2257f94c66484e0a022a90cLukas Slebodnik#include "sbus/sssd_dbus_meta.h"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* ------------------------------------------------------------------------
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * DBus Constants
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * Various constants of interface and method names mostly for use by clients
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* constants for org.freedesktop.sssd.ProxyChild.Client */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define IFACE_PROXY_CLIENT "org.freedesktop.sssd.ProxyChild.Client"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define IFACE_PROXY_CLIENT_REGISTER "Register"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* constants for org.freedesktop.sssd.ProxyChild.Auth */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define IFACE_PROXY_AUTH "org.freedesktop.sssd.ProxyChild.Auth"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define IFACE_PROXY_AUTH_PAM "PAM"
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* ------------------------------------------------------------------------
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * DBus handlers
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * These structures are filled in by implementors of the different
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * dbus interfaces to handle method calls.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * Handler functions of type sbus_msg_handler_fn accept raw messages,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * other handlers are typed appropriately. If a handler that is
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * set to NULL is invoked it will result in a
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * org.freedesktop.DBus.Error.NotSupported error for the caller.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * Handlers have a matching xxx_finish() function (unless the method has
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * accepts raw messages). These finish functions the
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * sbus_request_return_and_finish() with the appropriate arguments to
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * construct a valid reply. Once a finish function has been called, the
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * @dbus_req it was called with is freed and no longer valid.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* vtable for org.freedesktop.sssd.ProxyChild.Client */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastruct iface_proxy_client {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina struct sbus_vtable vtable; /* derive from sbus_vtable */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina int (*Register)(struct sbus_request *req, void *data, uint32_t arg_ID);
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* finish function for Register */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaint iface_proxy_client_Register_finish(struct sbus_request *req);
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* vtable for org.freedesktop.sssd.ProxyChild.Auth */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastruct iface_proxy_auth {
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina struct sbus_vtable vtable; /* derive from sbus_vtable */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina sbus_msg_handler_fn PAM;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina};
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* ------------------------------------------------------------------------
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * DBus Interface Metadata
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * These structure definitions are filled in with the information about
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * the interfaces, methods, properties and so on.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina *
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * The actual definitions are found in the accompanying C file next
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina * to this header.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* interface info for org.freedesktop.sssd.ProxyChild.Client */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaextern const struct sbus_interface_meta iface_proxy_client_meta;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* interface info for org.freedesktop.sssd.ProxyChild.Auth */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinaextern const struct sbus_interface_meta iface_proxy_auth_meta;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#endif /* __PROXY_IFACE_XML__ */