From: Jihoon Jung Date: Thu, 26 Apr 2018 07:43:02 +0000 (+0900) Subject: Add mdgd_check_device_exist impl X-Git-Tag: submit/tizen/20190131.065036~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1a757b79d1b3000c99641f2449fe6e061595375;p=platform%2Fcore%2Fapi%2Fmulti-device-group.git Add mdgd_check_device_exist impl Signed-off-by: Jihoon Jung --- diff --git a/src/mdg-manager/include/mdgd_db.h b/src/mdg-manager/include/mdgd_db.h old mode 100644 new mode 100755 index d5163de..4eb6d32 --- a/src/mdg-manager/include/mdgd_db.h +++ b/src/mdg-manager/include/mdgd_db.h @@ -23,6 +23,8 @@ extern "C" { #endif +#include + #define MDGD_DB_FILE "/opt/usr/dbspace/.mdgd.db" #define MDGD_DB_GROUP_TABLE "mdgd_group" #define MDGD_DB_DEVICE_TABLE "mdgd_device" @@ -33,6 +35,7 @@ int mdgd_db_group_insert(const char *group_name); int mdgd_db_device_insert(const char *device_id, const char *group_name); int mdgd_db_group_delete(char *group_name); int mdgd_db_device_delete(char *device_id, char *group_name); +bool mdgd_check_device_exist(char *device_id); #ifdef __cplusplus } diff --git a/src/mdg-manager/src/mdgd_db.c b/src/mdg-manager/src/mdgd_db.c old mode 100644 new mode 100755 index a24db3d..22b04dd --- a/src/mdg-manager/src/mdgd_db.c +++ b/src/mdg-manager/src/mdgd_db.c @@ -406,6 +406,54 @@ int mdgd_db_device_delete(char *device_id, char *group_name) } +bool mdgd_check_device_exist(char *device_id) +{ + int ret = 0; + bool result = false; + int sql_ret; + char *sql = NULL; + char *error = NULL; + + mdgd_context_t *mdgd_ctx = mdgd_context_get_context(); + + sql = sqlite3_mprintf("SELECT count(*) FROM %s WHERE device_id=%Q;", MDGD_DB_DEVICE_TABLE, device_id); + if (sql != NULL) { + sqlite3_stmt *stmt = NULL; + + ret = sqlite3_prepare_v2(mdgd_ctx->db, sql, strlen(sql), &stmt, NULL); + if (ret == SQLITE_OK) { + ret = sqlite3_step(stmt); + if (ret == SQLITE_ROW) { + int count; + + count = sqlite3_column_int(stmt, 0); + if (count > 0) + result = true; + else + result = false; + } else { + LOG_ERR("sqlite3_step failed, [%d:%s]", ret, sqlite3_errmsg(mdgd_ctx->db)); + + result = false; + } + + sqlite3_finalize(stmt); + } else { + LOG_ERR("sqlite3_prepare_v2 failed, [%d:%s]", ret, sqlite3_errmsg(mdgd_ctx->db)); + + result = false; + } + + sqlite3_free(sql); + } else { + LOG_ERR("sqlite3_mprintf failed"); + + result = false; + } + + return result; +} + int mdgd_db_print() { return 0;