summaryrefslogtreecommitdiff
path: root/server/providers
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2009-01-12 15:02:43 -0500
committerSimo Sorce <idra@samba.org>2009-01-12 16:03:18 -0500
commita62a56ec87ab81d2264900716972ec22bfb7b9d9 (patch)
treec46c1d38e4ba230af1478f2c0a68ad3dbcccff47 /server/providers
parentc22c50c2fb9bc962fd11a2c9924481485faae093 (diff)
downloadsssd-a62a56ec87ab81d2264900716972ec22bfb7b9d9.tar.gz
sssd-a62a56ec87ab81d2264900716972ec22bfb7b9d9.tar.bz2
sssd-a62a56ec87ab81d2264900716972ec22bfb7b9d9.zip
Add placeholders for new configuration reload methods. The monitor will be able to call the reloadConfig DBUS method on any or all of its children to force them to reread their configuration from the confdb.
Diffstat (limited to 'server/providers')
-rw-r--r--server/providers/data_provider.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/server/providers/data_provider.c b/server/providers/data_provider.c
index e0de4dbb..393e03e7 100644
--- a/server/providers/data_provider.c
+++ b/server/providers/data_provider.c
@@ -77,10 +77,12 @@ static int dp_frontend_destructor(void *ctx);
static int service_identity(DBusMessage *message, void *data, DBusMessage **r);
static int service_pong(DBusMessage *message, void *data, DBusMessage **r);
+static int service_reload(DBusMessage *message, void *data, DBusMessage **r);
struct sbus_method mon_sbus_methods[] = {
{ SERVICE_METHOD_IDENTITY, service_identity },
{ SERVICE_METHOD_PING, service_pong },
+ { SERVICE_METHOD_RELOAD, service_reload },
{ NULL, NULL }
};
@@ -142,6 +144,16 @@ static int service_pong(DBusMessage *message, void *data, DBusMessage **r)
return EOK;
}
+static int service_reload(DBusMessage *message, void *data, DBusMessage **r) {
+ /* Monitor calls this function when we need to reload
+ * our configuration information. Perform whatever steps
+ * are needed to update the configuration objects.
+ */
+
+ /* Send an empty reply to acknowledge receipt */
+ return service_pong(message, data, r);
+}
+
static int dp_monitor_init(struct dp_ctx *dpctx)
{
struct service_sbus_ctx *ss_ctx;