Use bson as the event serialisation format sandbox/kopasiak/rebased_with_coding_style
authorŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 9 May 2017 10:57:04 +0000 (12:57 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 10 May 2017 18:49:58 +0000 (20:49 +0200)
As of this commit faultd depends on ejdb package.

Makefile.am
configure.ac
packaging/faultd.spec
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 f5b2ca83f82858c3bef096f64653fb499d469501..5cf973477c53eaff2415adcb7e9f64f7143f5128 100644 (file)
@@ -47,5 +47,5 @@ faultd_SOURCES = \
     src/listeners/systemd.c \
     src/util/log.c \
     src/util/notify_queue.c
-faultd_LDADD = $(LIBSYSTEMD_LIBS) ${AUDIT_LIBS}
+faultd_LDADD = $(LIBSYSTEMD_LIBS) $(AUDIT_LIBS) $(LIBEJDB_LIBS)
 
index 97e68f0c5148e8c68380f342bd86385a1139cfa9..e3c5ecdf39a702e7ae161b3c49303791e220f280 100644 (file)
@@ -43,6 +43,13 @@ PKG_CHECK_MODULES(AUDIT,
 AS_IF([test "x$have_audit" = "xno"],
       AC_MSG_ERROR([audit not found]))
 
+PKG_CHECK_MODULES(LIBEJDB,
+        [libejdb >= 1.2.12],
+        have_libejdb=yes,
+        have_libejdb=no)
+AS_IF([test "x$have_libejdb" = "xno"],
+      AC_MSG_ERROR([EJDB version 1.2.12 or newer not found]))
+
 AC_CHECK_FUNCS([ \
        printf\
 ])
index 88d077954b6668de784fa3cb93baad929a05e9b8..72de608e79f6daf89ac034b400fd00a57f7a453b 100644 (file)
@@ -6,8 +6,9 @@ Source0:    %{name}-%{version}.tar.xz
 Source1001: %{name}.manifest
 Summary:    Fault detection daemon
 Group:      System/Monitoring
-BuildRequires: pkgconfig(libsystemd)
 BuildRequires: pkgconfig(audit)
+BuildRequires: pkgconfig(libejdb)
+BuildRequires: pkgconfig(libsystemd)
 
 %description
 faultd monitors system services, detects their abnormal execution and
index 67b347d9a28ece71a1cc44cfc18fb98912d0a65c..358b80c3a3841c7f09d647412b237d0aafc2b257 100644 (file)
@@ -16,6 +16,9 @@
  * limitations under the License.
  */
 
+#define _GNU_SOURCE 1
+
+#include <ejdb/bson.h>
 #include <errno.h>
 #include <systemd/sd-id128.h>
 
@@ -126,7 +129,7 @@ int faultd_event_init_internal(struct faultd_event_type *ev_type,
        return 0;
 }
 
-void faultd_event_serialize_internal(struct faultd_event *ev, void **out)
+void faultd_event_serialize_internal(struct faultd_event *ev, bson *out)
 {
        /* call from e.g. .serialize in service_failed_event */
        /* serialize faultd_event structure */
index c796098afaf613f3f09b168c3b1e0e2fad04bc03..388d18ee331ca4a18bbdfb17f59e99d8a6740883 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef FAULTD_EVENT_H
 #define FAULTD_EVENT_H
 
+#include <ejdb/bson.h>
 #include <string.h>
 #include <systemd/sd-id128.h>
 #include <time.h>
@@ -33,7 +34,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**);
+       void (*serialize)(struct faultd_event*, bson*);
 };
 
 struct faultd_event_type {
@@ -115,7 +116,7 @@ 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)
+static inline void faultd_event_serialize(struct faultd_event *ev, bson *out)
 {
        ev->ops.serialize(ev, out);
 }
@@ -125,6 +126,6 @@ int faultd_event_init_internal(struct faultd_event_type *ev_type,
 
 static inline void faultd_event_cleanup_internal(struct faultd_event *ev) {}
 
-void faultd_event_serialize_internal(struct faultd_event *ev, void **out);
+void faultd_event_serialize_internal(struct faultd_event *ev, bson *out);
 
 #endif /* FAULTD_EVENT_H */
index b293a019c12d7737d3588800026a59a09d37995c..b472a5f0abca707d328db6c41424e21578e9e87c 100644 (file)
@@ -17,6 +17,8 @@
  */
 
 #define _GNU_SOURCE 1
+
+#include <ejdb/bson.h>
 #include <stdio.h>
 #include <errno.h>
 #include <malloc.h>
@@ -96,7 +98,7 @@ 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)
+static void dm_event_serialize(struct faultd_event *ev, bson *out)
 {
        struct decision_made_event *dm_ev =
                to_decision_made_event(ev);
index 548eb8f3e30bfc7429e0a0431b984d186d1b5004..cb02f7e416fa906ccf8b72582f3658a1b1d010ee 100644 (file)
@@ -17,6 +17,8 @@
  */
 
 #define _GNU_SOURCE 1
+
+#include <ejdb/bson.h>
 #include <stdio.h>
 #include <errno.h>
 #include <malloc.h>
@@ -81,7 +83,7 @@ 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)
+static void rv_event_serialize(struct faultd_event *ev, bson *out)
 {
        struct resource_violation_event *rv_ev =
                to_resource_violation_event(ev);
index 8b0bc5961b08401ac1bab9effd03848402a2b4d2..58ddc15d4d1654026c22b5f102ac6bbfa07bab95 100644 (file)
@@ -17,6 +17,8 @@
  */
 
 #define _GNU_SOURCE 1
+
+#include <ejdb/bson.h>
 #include <stdio.h>
 #include <errno.h>
 #include <malloc.h>
@@ -79,7 +81,7 @@ 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)
+static void sf_event_serialize(struct faultd_event *ev, bson *out)
 {
        struct service_failed_event *sf_ev =
                to_service_failed_event(ev);