DB_ACTION(sqlite3_bind_text(stmt, 3, address, -1, SQLITE_STATIC),
error_code, handle_error);
+ error_code = _uam_db_delete_device_info(device_id, tech_type, address);
if (sqlite3_step(stmt) != SQLITE_DONE) {
UAM_ERR("Failed to delete device info %s",
sqlite3_errmsg(__uam_db_recover_database()));
error_code = UAM_ERROR_DB_FAILED;
} else
- UAM_DBG("User info deleted");
+ UAM_DBG("Device info deleted");
handle_error:
sqlite3_reset(stmt);
#define DELETE_DEVICE_SERVICE "delete from device_services " \
"WHERE device_number = ? and service_number = ?"
+#define DELETE_DEVICE "delete from device_services " \
+ "WHERE device_number = ?"
+
#define DELETE_SERVICE "delete from device_services " \
"WHERE service_number = ?"
static sqlite3_stmt *delete_all_device_services;
static sqlite3_stmt *delete_service;
static sqlite3_stmt *delete_device_service;
+static sqlite3_stmt *delete_device;
/* SELECT statements */
static sqlite3_stmt *select_service;
FINALIZE(delete_all_device_services);
FINALIZE(delete_service);
FINALIZE(delete_device_service);
+ FINALIZE(delete_device);
FUNC_EXIT;
}
DELETE_SERVICE, __ua_device_service_finalize_delete);
PREPARE_QUERY(rc, db, delete_device_service,
DELETE_DEVICE_SERVICE, __ua_device_service_finalize_delete);
+ PREPARE_QUERY(rc, db, delete_device,
+ DELETE_DEVICE, __ua_device_service_finalize_delete);
initialized = 1;
FUNC_EXIT;
return error_code;
}
+int _uam_db_delete_device_number(int device_number)
+{
+ FUNC_ENTRY;
+ int error_code = UAM_ERROR_NONE;
+ sqlite3_stmt *stmt = delete_device;
+
+ UAM_INFO("Device Number: %d", device_number);
+
+ DB_ACTION(sqlite3_bind_int(stmt, 1, device_number), error_code, handle_error);
+
+ if (sqlite3_step(stmt) != SQLITE_DONE) {
+ UAM_ERR("Failed to delete device info %s",
+ sqlite3_errmsg(__uam_db_recover_database()));
+ error_code = UAM_ERROR_DB_FAILED;
+ } else
+ UAM_DBG("Device info deleted");
+
+handle_error:
+ sqlite3_reset(stmt);
+ FUNC_EXIT;
+ return error_code;
+}
+
int _uam_db_delete_device_service(const char *service_name)
{
FUNC_ENTRY;
return error_code;
}
+int _uam_db_delete_device_info(const char *device_id, int tech_type,
+ const char *address)
+{
+ FUNC_ENTRY;
+ int ret = UAM_ERROR_NONE;
+ int device_number = 0;
+ int error_code = UAM_ERROR_NONE;
+
+ UAM_INFO("%s-%d-%s", device_id, tech_type, address);
+
+ ret = _uam_db_get_device_number(device_id, tech_type, address, &device_number);
+ if (UAM_ERROR_NONE != ret)
+ goto handle_error;
+
+ UAM_INFO("%d", device_number);
+
+ ret = _uam_db_delete_device_number(device_number);
+ if (UAM_ERROR_NONE != ret)
+ goto handle_error;
+
+ UAM_DBG("Device info deleted [%d]", device_number);
+
+handle_error:
+ FUNC_EXIT;
+ return error_code;
+}
+
GSList *_uam_db_get_service(int device_number)
{
FUNC_ENTRY;