summaryrefslogtreecommitdiffstats
path: root/src/responder/autofs/autofssrv.c
diff options
context:
space:
mode:
authorStef Walter <stefw@redhat.com>2014-01-10 08:58:12 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-06-02 18:15:56 +0200
commita76d7e12fe43c32437b00b0d313236735f039266 (patch)
treeab717387fdba54c5ddcab3ea95db2c680c8b2ef6 /src/responder/autofs/autofssrv.c
parent1214ced660d4e4764503b277b0d1195270133909 (diff)
downloadsssd-a76d7e12fe43c32437b00b0d313236735f039266.tar.gz
sssd-a76d7e12fe43c32437b00b0d313236735f039266.tar.xz
sssd-a76d7e12fe43c32437b00b0d313236735f039266.zip
sbus: Rework sbus to use interface metadata and vtables
Previous commits added support for interface metadata and handler vtables. This commit ports sbus_dbus_connection to use them. Port the internal uses of dbus to use the new scheme in a very minimal way. Further cleanup is possible here. This commit provides basic definitions of the internal dbus interfaces. The interfaces aren't fully defined, as the handlers will continue to unpack manually, and often overload DBus methods with different arguments (which is rather unorthodox, but not the end of the world). Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com> (cherry picked from commit 769347ad4d35d43488eb98f980143495b0db415d)
Diffstat (limited to 'src/responder/autofs/autofssrv.c')
-rw-r--r--src/responder/autofs/autofssrv.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/responder/autofs/autofssrv.c b/src/responder/autofs/autofssrv.c
index 12f318eee..5ce9ae023 100644
--- a/src/responder/autofs/autofssrv.c
+++ b/src/responder/autofs/autofssrv.c
@@ -32,31 +32,38 @@
static int autofs_clean_hash_table(DBusMessage *message,
struct sbus_connection *conn);
-struct sbus_method monitor_autofs_methods[] = {
- { MON_CLI_METHOD_PING, monitor_common_pong },
- { MON_CLI_METHOD_RES_INIT, monitor_common_res_init },
- { MON_CLI_METHOD_ROTATE, responder_logrotate },
- { MON_CLI_METHOD_CLEAR_ENUM_CACHE, autofs_clean_hash_table },
- { NULL, NULL }
+struct mon_cli_iface monitor_autofs_methods = {
+ { &mon_cli_iface_meta, 0 },
+ .ping = monitor_common_pong,
+ .resInit = monitor_common_res_init,
+ .shutDown = NULL,
+ .goOffline = NULL,
+ .resetOffline = NULL,
+ .rotateLogs = responder_logrotate,
+ .clearMemcache = NULL,
+ .clearEnumCache = autofs_clean_hash_table,
};
struct sbus_interface monitor_autofs_interface = {
- MONITOR_INTERFACE,
MONITOR_PATH,
- SBUS_DEFAULT_VTABLE,
- monitor_autofs_methods,
+ &monitor_autofs_methods.vtable,
NULL
};
-static struct sbus_method autofs_dp_methods[] = {
- { NULL, NULL }
+static struct data_provider_iface autofs_dp_methods = {
+ { &data_provider_iface_meta, 0 },
+ .RegisterService = NULL,
+ .pamHandler = NULL,
+ .sudoHandler = NULL,
+ .autofsHandler = NULL,
+ .hostHandler = NULL,
+ .getDomains = NULL,
+ .getAccountInfo = NULL,
};
struct sbus_interface autofs_dp_interface = {
- DP_INTERFACE,
DP_PATH,
- SBUS_DEFAULT_VTABLE,
- autofs_dp_methods,
+ &autofs_dp_methods.vtable,
NULL
};