Add dummy serialization function for events
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 10 May 2017 18:37:44 +0000 (20:37 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 10 May 2017 18:49:58 +0000 (20:49 +0200)
src/core/event.c
src/core/event.h
src/event_types/decision_made_event.c
src/event_types/resource_violation_event.c
src/event_types/service_failed_event.c

index 7fd04adc92f10bda20fa758755537b580754747d..67b347d9a28ece71a1cc44cfc18fb98912d0a65c 100644 (file)
@@ -125,3 +125,9 @@ int faultd_event_init_internal(struct faultd_event_type *ev_type,
 
        return 0;
 }
+
+void faultd_event_serialize_internal(struct faultd_event *ev, void **out)
+{
+       /* call from e.g. .serialize in service_failed_event */
+       /* serialize faultd_event structure */
+}
index 6c15389c586d624669c859ab399bccdf36f9d3d6..c796098afaf613f3f09b168c3b1e0e2fad04bc03 100644 (file)
@@ -33,6 +33,7 @@ struct faultd_event;
 struct faultd_event_ops {
        char *(*to_string)(struct faultd_event *);
        void (*release)(struct faultd_event *);
+       void (*serialize)(struct faultd_event*, void**);
 };
 
 struct faultd_event_type {
@@ -114,10 +115,16 @@ static inline char *faultd_event_to_string(struct faultd_event *ev)
        return ev->ops.to_string(ev);
 }
 
+static inline void faultd_event_serialize(struct faultd_event *ev, void **out)
+{
+       ev->ops.serialize(ev, out);
+}
+
 int faultd_event_init_internal(struct faultd_event_type *ev_type,
                                                           struct faultd_event *ev);
 
 static inline void faultd_event_cleanup_internal(struct faultd_event *ev) {}
 
+void faultd_event_serialize_internal(struct faultd_event *ev, void **out);
 
 #endif /* FAULTD_EVENT_H */
index 51d8e390172b0e6774ffb2361996a87de9eed800..b293a019c12d7737d3588800026a59a09d37995c 100644 (file)
@@ -96,11 +96,19 @@ static char *dm_event_to_string(struct faultd_event *ev)
        return ret > 0 ? str : NULL;
 }
 
+void dm_event_serialize(struct faultd_event *ev, void **out)
+{
+       struct decision_made_event *dm_ev =
+               to_decision_made_event(ev);
+       faultd_event_serialize_internal(ev, out);
+}
+
 static struct faultd_event_type decision_made_event_type = {
        .name = DECISION_MADE_EVENT_ID,
        .default_ops = {
-               .to_string = dm_event_to_string,
                .release = dm_event_release,
+               .serialize = dm_event_serialize,
+               .to_string = dm_event_to_string,
        },
        .allocate_event = allocate_dm_event,
        .node = LIST_HEAD_INIT(decision_made_event_type.node),
index 1ab1e7e87df3d52c322f03d5fe98b665a41c93e7..548eb8f3e30bfc7429e0a0431b984d186d1b5004 100644 (file)
@@ -81,11 +81,19 @@ static char *rv_event_to_string(struct faultd_event *ev)
        return ret > 0 ? str : NULL;
 }
 
+void rv_event_serialize(struct faultd_event *ev, void **out)
+{
+       struct resource_violation_event *rv_ev =
+               to_resource_violation_event(ev);
+       faultd_event_serialize_internal(ev, out);
+}
+
 static struct faultd_event_type resource_violation_event_type = {
        .name = RESOURCE_VIOLATION_EVENT_ID,
        .default_ops = {
-               .to_string = rv_event_to_string,
                .release = rv_event_release,
+               .serialize = rv_event_serialize,
+               .to_string = rv_event_to_string,
        },
        .allocate_event = allocate_rv_event,
        .node = LIST_HEAD_INIT(resource_violation_event_type.node),
index bb246fd6e27d88b665854460ce6a71c37b8cb0c2..8b0bc5961b08401ac1bab9effd03848402a2b4d2 100644 (file)
@@ -79,11 +79,19 @@ static char *sf_event_to_string(struct faultd_event *ev)
        return ret > 0 ? str : NULL;
 }
 
+void sf_event_serialize(struct faultd_event *ev, void **out)
+{
+       struct service_failed_event *sf_ev =
+               to_service_failed_event(ev);
+       faultd_event_serialize_internal(ev, out);
+}
+
 static struct faultd_event_type service_failed_event_type = {
        .name = SERVICE_FAILED_EVENT_ID,
        .default_ops = {
-               .to_string = sf_event_to_string,
                .release = sf_event_release,
+               .serialize = sf_event_serialize,
+               .to_string = sf_event_to_string,
        },
        .allocate_event = allocate_sf_event,
        .node = LIST_HEAD_INIT(service_failed_event_type.node),