diff options
Diffstat (limited to 'server/providers/data_provider.c')
-rw-r--r-- | server/providers/data_provider.c | 12 |
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; |