module: Add parameter to pass configuration to modules 62/130262/2
authorŁukasz Stelmach <l.stelmach@samsung.com>
Thu, 18 May 2017 14:14:32 +0000 (16:14 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Fri, 19 May 2017 16:27:14 +0000 (18:27 +0200)
Change-Id: I728ff341d16bfce9af0b3b3293c8dd1ec6603137
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
[Rebase onto current head]
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
src/action/action_executor.h
src/core/event.c
src/core/event.h
src/core/event_processor.c
src/core/event_processor.h
src/core/module.c
src/core/module.h
src/listeners/audit.c
src/listeners/systemd.c

index 921880f0cde7d7a37384dd9533fdb8a04d7d03f3..7a6288a1543f3dc9082815f9bb3a217126775802 100644 (file)
@@ -40,6 +40,7 @@ void action_executor_action_unregister(struct faultd_action *act);
 
 #define FAULTD_ACTION_REGISTER(ACT, NAME)                                               \
 static int action_ ##NAME## _init(struct faultd_module *module,  \
+                                                                 struct faultd_config *config,                 \
                                                                                 sd_event *event_loop)                  \
 {                                                                                                                                              \
     return action_executor_action_register(&ACT);                                              \
index 358b80c3a3841c7f09d647412b237d0aafc2b257..211877c43996d21b82a478bcb83f529e4650d47b 100644 (file)
@@ -35,6 +35,7 @@ struct event_factory {
        container_of(MOD, struct event_factory, module)
 
 static int init_event_factory(struct faultd_module *module,
+                                                         struct faultd_config *config,
                               sd_event *event_loop)
 {
        return 0;
index 388d18ee331ca4a18bbdfb17f59e99d8a6740883..23442bcf5f0317aab6d48adc06f0886ac98b5ffe 100644 (file)
@@ -73,6 +73,7 @@ void faultd_event_type_unregister(struct faultd_event_type *type);
 
 #define FAULTD_EVENT_TYPE_REGISTER(EVENT_TYPE, NAME)                           \
 static int event_type_ ##NAME## _init(struct faultd_module *module,    \
+                                                                         struct faultd_config *config, \
                                                                          sd_event *event_loop)                 \
 {                                                                                                                                      \
     return faultd_event_type_register(&EVENT_TYPE);                 \
index 520055c7a2483de32acb2f080a2a2bd7067177b5..33897827a5e9b6d1eb4134415699e2cd877b9e10 100644 (file)
@@ -64,7 +64,9 @@ static int event_processor_callback(sd_event_source *s,
        return 0;
 }
 
-static int event_processor_init(struct faultd_module *module, sd_event *event)
+static int event_processor_init(struct faultd_module *module,
+                                                               struct faultd_config *config,
+                                                               sd_event *event)
 {
        struct event_processor *eprocessor = to_event_processor(module);
        int ret;
index 8353b2cf97648d6112e93415bb629d9b1dd3bcec..164f7d950115f9bbb2caf67be1654fda2fd7c1d2 100644 (file)
@@ -47,6 +47,7 @@ void event_processor_handler_unregister(struct faultd_event_handler *handler);
 
 #define FAULTD_EVENT_HANDLER_REGISTER(EVENT_HANDLER, NAME, TYPE)           \
 static int event_handler_ ##NAME## _init(struct faultd_module *module,  \
+                                                                                struct faultd_config *config,  \
                                                                                 sd_event *event_loop)                  \
 {                                                                                                                                              \
     return event_processor_handler_register(&EVENT_HANDLER);                   \
index ebbda827e7d2c26c417ee72666c2ef823ec16ce5..ff9d363ee662e924ac00e75c44e4b51db4e42f61 100644 (file)
@@ -66,7 +66,7 @@ int faultd_modules_init(sd_event *event_loop)
                list_for_each_entry(module, modules + i, node) {
                        log_debug("Initializing %s module", module->name);
 
-                       ret = module->init(module, event_loop);
+                       ret = module->init(module, NULL, event_loop);
                        if (ret)
                                goto err_cleanup;
                }
index 3f59d5528b5ae52426f3eb1da4b89895bb1bc88e..f78ef0fbb5667bf7ecd82b28970d1fdaeeeb5ea3 100644 (file)
@@ -38,11 +38,13 @@ enum faultd_module_type {
        FAULTD_MODULE_TYPE_MAX,
 };
 
+struct faultd_config;
+
 struct faultd_module {
        char *name;
        enum faultd_module_type type;
 
-       int (*init)(struct faultd_module *, sd_event *event_loop);
+       int (*init)(struct faultd_module *, struct faultd_config *c, sd_event *event_loop);
        void (*cleanup)(struct faultd_module *);
 
        struct list_head node;
index 34c3e57342ee26a27fe3b361481b5dd9d9527941..14b0a808c077335a0b4d851b6441ebe2d39ed186 100644 (file)
@@ -158,7 +158,9 @@ cleanup_service:
        return ret;
 }
 
-static int audit_listener_init(struct faultd_module *module, sd_event *event)
+static int audit_listener_init(struct faultd_module *module,
+                                                          struct faultd_config *config,
+                                                          sd_event *event)
 {
        struct audit_listener *alistener = to_audit_listener(module);
        int fd;
index 672e1d381737b11379b8731f1821b37716cc31b8..d9370a7f0d8b807602a5982196df95b1f9408baa 100644 (file)
@@ -172,7 +172,9 @@ finish:
        return rc;
 }
 
-static int systemd_listener_init(struct faultd_module *module, sd_event* loop)
+static int systemd_listener_init(struct faultd_module *module,
+                                                                struct faultd_config *config,
+                                                                sd_event* loop)
 {
        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
        _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL;