diff options
author | Stef Walter <stefw@redhat.com> | 2014-01-10 08:58:12 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-02-24 11:14:59 +0100 |
commit | 769347ad4d35d43488eb98f980143495b0db415d (patch) | |
tree | 1613fff70e57d363ceda4f5d2d3d48efd87073a0 /src/providers/proxy | |
parent | 3e7d7af1953410f3f009bf3b2e481a46fb80de83 (diff) | |
download | sssd-769347ad4d35d43488eb98f980143495b0db415d.tar.gz sssd-769347ad4d35d43488eb98f980143495b0db415d.tar.xz sssd-769347ad4d35d43488eb98f980143495b0db415d.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>
Diffstat (limited to 'src/providers/proxy')
-rw-r--r-- | src/providers/proxy/proxy_child.c | 16 | ||||
-rw-r--r-- | src/providers/proxy/proxy_init.c | 16 |
2 files changed, 20 insertions, 12 deletions
diff --git a/src/providers/proxy/proxy_child.c b/src/providers/proxy/proxy_child.c index 52968651b..737b0cfd6 100644 --- a/src/providers/proxy/proxy_child.c +++ b/src/providers/proxy/proxy_child.c @@ -49,16 +49,20 @@ static int pc_pam_handler(DBusMessage *message, struct sbus_connection *conn); -struct sbus_method pc_methods[] = { - { DP_METHOD_PAMHANDLER, pc_pam_handler }, - { NULL, NULL } +struct data_provider_iface pc_methods = { + { &data_provider_iface_meta, 0 }, + .RegisterService = NULL, + .pamHandler = pc_pam_handler, + .sudoHandler = NULL, + .autofsHandler = NULL, + .hostHandler = NULL, + .getDomains = NULL, + .getAccountInfo = NULL, }; struct sbus_interface pc_interface = { - DP_INTERFACE, DP_PATH, - SBUS_DEFAULT_VTABLE, - pc_methods, + &pc_methods.vtable, NULL }; diff --git a/src/providers/proxy/proxy_init.c b/src/providers/proxy/proxy_init.c index ae73fe702..60ae4a950 100644 --- a/src/providers/proxy/proxy_init.c +++ b/src/providers/proxy/proxy_init.c @@ -30,16 +30,20 @@ static int client_registration(DBusMessage *message, struct sbus_connection *conn); -static struct sbus_method proxy_methods[] = { - { DP_METHOD_REGISTER, client_registration }, - { NULL, NULL } +static struct data_provider_iface proxy_methods = { + { &data_provider_iface_meta, 0 }, + .RegisterService = client_registration, + .pamHandler = NULL, + .sudoHandler = NULL, + .autofsHandler = NULL, + .hostHandler = NULL, + .getDomains = NULL, + .getAccountInfo = NULL, }; struct sbus_interface proxy_interface = { - DP_INTERFACE, DP_PATH, - SBUS_DEFAULT_VTABLE, - proxy_methods, + &proxy_methods.vtable, NULL }; |