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, } };