{
#endif
+#include <stdbool.h>
+
#define MDGD_DB_FILE "/opt/usr/dbspace/.mdgd.db"
#define MDGD_DB_GROUP_TABLE "mdgd_group"
#define MDGD_DB_DEVICE_TABLE "mdgd_device"
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
}
}
+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;