/* Authors: Pavel Březina Copyright (C) 2016 Red Hat This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "sbus/sssd_dbus.h" #include "providers/data_provider/dp_iface_generated.h" #include "providers/data_provider/dp_iface.h" #include "providers/data_provider/dp_private.h" #include "providers/data_provider/dp.h" struct iface_dp iface_dp = { {&iface_dp_meta, 0}, .pamHandler = dp_pam_handler, .sudoHandler = dp_sudo_handler, .autofsHandler = dp_autofs_handler, .hostHandler = dp_host_handler, .getDomains = dp_subdomains_handler, .getAccountInfo = dp_get_account_info_handler }; struct iface_dp_backend iface_dp_backend = { {&iface_dp_backend_meta, 0}, .IsOnline = dp_backend_is_online }; struct iface_dp_failover iface_dp_failover = { { &iface_dp_failover_meta, 0 }, .ListServices = dp_failover_list_services, .ActiveServer = dp_failover_active_server, .ListServers = dp_failover_list_servers }; static struct sbus_iface_map dp_map[] = { { DP_PATH, &iface_dp.vtable }, { DP_PATH, &iface_dp_backend.vtable }, { DP_PATH, &iface_dp_failover.vtable }, { NULL, NULL } }; errno_t dp_register_sbus_interface(struct sbus_connection *conn, struct dp_client *pvt) { return sbus_conn_register_iface_map(conn, dp_map, pvt); }