From: Paweł Szewczyk
Date: Wed, 17 Jan 2018 16:21:20 +0000 (+0100)
Subject: database: Remove get_event from ejdb adapter
X-Git-Tag: submit/tizen/20180222.151354~12
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7c1296e2a6cba4cb0b5d99bfafa8e23e2bc7ab5;p=platform%2Fcore%2Fsystem%2Ffaultd.git
database: Remove get_event from ejdb adapter
This function is only a helper, which can be implemented on higher
abstraction level. For the sake of testing framework, the function is
left as optional in adapter structure for now.
Change-Id: I335b6ffd8572b350573f417847070c06ee8e362d
Signed-off-by: Paweł Szewczyk
---
diff --git a/src/core/database.c b/src/core/database.c
index cb127c9..57a2061 100644
--- a/src/core/database.c
+++ b/src/core/database.c
@@ -96,14 +96,39 @@ const char *database_get_id_key(void)
int database_get_event(faultd_oid_t *oid, struct faultd_event **ev)
{
+ struct faultd_object *obj;
int ret;
- if (!database_adapter)
- return -ENOSYS;
-
- ret = database_adapter->get_event(oid, ev);
- if (ret == 0)
- (*ev)->oid = *oid;
+ if (database_adapter && database_adapter->get_event) {
+ ret = database_adapter->get_event(oid, ev);
+ if (ret == 0)
+ (*ev)->oid = *oid;
+
+ return ret;
+ }
+
+ ret = faultd_object_new(&obj);
+ if (ret) {
+ log_error("Could not create object");
+ return ret;
+ }
+
+ ret = database_get_by_oid(oid, obj);
+ if (ret) {
+ log_error("Could not find object");
+ goto cleanup;
+ }
+
+ ret = faultd_event_create(BSON_EVENT_ID, obj, ev);
+ if (ret) {
+ log_error("Could not create an event");
+ goto cleanup;
+ }
+
+ (*ev)->oid = *oid;
+ return 0;
+cleanup:
+ faultd_object_unref(obj);
return ret;
}
diff --git a/src/database/ejdb.c b/src/database/ejdb.c
index 4771e1a..1277024 100644
--- a/src/database/ejdb.c
+++ b/src/database/ejdb.c
@@ -440,28 +440,6 @@ static bool ejdb_is_oid_valid(faultd_oid_t *oid)
oid->bson.ints[2] != 0;
}
-static int ejdb_get_event(faultd_oid_t *oid, struct faultd_event **ev)
-{
- struct faultd_object *obj;
- int ret;
-
- ret = faultd_object_new(&obj);
- if (ret)
- return ret;
-
- ret = database_get_by_oid(oid, obj);
- if (ret)
- goto cleanup;
-
- ret = faultd_event_create(BSON_EVENT_ID, obj, ev);
- if (ret)
- goto cleanup;
-
-cleanup:
- faultd_object_unref(obj);
- return ret;
-}
-
static struct ejdb_adapter ejdb_adapter = {
.database_adapter = {
.module = {
@@ -477,7 +455,6 @@ static struct ejdb_adapter ejdb_adapter = {
.load = ejdb_load,
.get_well_known_oid = ejdb_get_well_known_oid,
.is_oid_valid = ejdb_is_oid_valid,
- .get_event = ejdb_get_event,
}
};