diff options
Diffstat (limited to 'src/providers')
-rw-r--r-- | src/providers/data_provider_iface.xml | 27 | ||||
-rw-r--r-- | src/providers/data_provider_iface_generated.c | 9 | ||||
-rw-r--r-- | src/providers/data_provider_iface_generated.h | 10 |
3 files changed, 35 insertions, 11 deletions
diff --git a/src/providers/data_provider_iface.xml b/src/providers/data_provider_iface.xml index 90397f1b2..143975633 100644 --- a/src/providers/data_provider_iface.xml +++ b/src/providers/data_provider_iface.xml @@ -4,25 +4,32 @@ <interface name="org.freedesktop.sssd.dataprovider"> <annotation value="data_provider_iface" name="org.freedesktop.DBus.GLib.CSymbol"/> <method name="RegisterService"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="pamHandler"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="sudoHandler"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="autofsHandler"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="hostHandler"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="getDomains"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="getAccountInfo"> - <!-- arguments parsed manually --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> </interface> @@ -35,10 +42,12 @@ <interface name="org.freedesktop.sssd.dataprovider_rev"> <annotation value="data_provider_rev_iface" name="org.freedesktop.DBus.GLib.CSymbol"/> <method name="updateCache"> - <!-- manual argument parsing --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> <method name="initgrCheck"> - <!-- manual argument parsing --> + <!-- arguments parsed manually, raw handler --> + <annotation name="org.freedesktop.sssd.RawHandler" value="true"/> </method> </interface> </node> diff --git a/src/providers/data_provider_iface_generated.c b/src/providers/data_provider_iface_generated.c index 517b7adfe..e7eca7def 100644 --- a/src/providers/data_provider_iface_generated.c +++ b/src/providers/data_provider_iface_generated.c @@ -12,42 +12,49 @@ const struct sbus_method_meta data_provider_iface__methods[] = { NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, RegisterService), + NULL, /* no invoker */ }, { "pamHandler", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, pamHandler), + NULL, /* no invoker */ }, { "sudoHandler", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, sudoHandler), + NULL, /* no invoker */ }, { "autofsHandler", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, autofsHandler), + NULL, /* no invoker */ }, { "hostHandler", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, hostHandler), + NULL, /* no invoker */ }, { "getDomains", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, getDomains), + NULL, /* no invoker */ }, { "getAccountInfo", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_iface, getAccountInfo), + NULL, /* no invoker */ }, { NULL, } }; @@ -67,12 +74,14 @@ const struct sbus_method_meta data_provider_rev_iface__methods[] = { NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_rev_iface, updateCache), + NULL, /* no invoker */ }, { "initgrCheck", /* name */ NULL, /* no in_args */ NULL, /* no out_args */ offsetof(struct data_provider_rev_iface, initgrCheck), + NULL, /* no invoker */ }, { NULL, } }; diff --git a/src/providers/data_provider_iface_generated.h b/src/providers/data_provider_iface_generated.h index fc37aa8cb..976e42b89 100644 --- a/src/providers/data_provider_iface_generated.h +++ b/src/providers/data_provider_iface_generated.h @@ -27,15 +27,21 @@ #define DATA_PROVIDER_REV_IFACE_INITGRCHECK "initgrCheck" /* ------------------------------------------------------------------------ - * DBus Vtable handler structures + * DBus handlers * * These structures are filled in by implementors of the different * dbus interfaces to handle method calls. * * Handler functions of type sbus_msg_handler_fn accept raw messages, - * other handlers will be typed appropriately. If a handler that is + * other handlers are typed appropriately. If a handler that is * set to NULL is invoked it will result in a * org.freedesktop.DBus.Error.NotSupported error for the caller. + * + * Handlers have a matching xxx_finish() function (unless the method has + * accepts raw messages). These finish functions the + * sbus_request_return_and_finish() with the appropriate arguments to + * construct a valid reply. Once a finish function has been called, the + * @dbus_req it was called with is freed and no longer valid. */ /* vtable for org.freedesktop.sssd.dataprovider */ |