return -1;
}
-#if 0
-static gint __compare_db_payload(gconstpointer data, gconstpointer user_data)
-{
- const uam_db_payload_info_t *db_payload = data;
- const uam_db_payload_info_t *payload = user_data;
-
- retv_if(NULL == db_payload, -1);
- retv_if(NULL == payload, -1);
-
- if ((db_payload->primary_key == payload->primary_key) &&
- (0 == g_strcmp0(db_payload->device_uid, payload->device_uid)))
- return 0;
- return -1;
-}
-#endif
-
static void __free_address_info(gpointer data)
{
FUNC_ENTRY;
tech->presence_state = UAM_PRESENCE_STATE_PRESENT;
tech->last_seen = dev_info->last_seen;
+ /** Update payload info in list with user data */
+ l = g_slist_find_custom(payloads, payload, __compare_payload);
+ if (l) {
+ __uam_copy_uam_payload_info(l->data, payload);
+ }
+
retv_if(UAM_ERROR_NONE != __uam_db_begin_transaction(), UAM_ERROR_INVALID_PARAMETER);
/* Check if IP/MAC address was updated then update in DB */
#define DELETE_ALL_PAYLOADS "delete from payloads"
#define UPDATE_PAYLOAD "UPDATE payloads " \
- "SET primary_key = ?, secondary_key = ?, device_uid_len = ?, " \
- "device_uid = ?, device_icon = ?, user_data = ? WHERE device_number = ?"
+ "SET device_icon = ?, user_data = ? WHERE primary_key = ? AND " \
+ "secondary_key = ? AND device_uid_len = ? AND " \
+ "device_uid = ? AND device_number = ?"
/* DELETE statements */
static sqlite3_stmt *delete_all_payloads;
if (UAM_ERROR_NONE != error_code)
goto handle_error;
- DB_ACTION(sqlite3_bind_text(stmt, 1, &(payload->primary_key), 1, SQLITE_TRANSIENT),
+ DB_ACTION(sqlite3_bind_text(stmt, 1, &(payload->device_icon), 1, SQLITE_TRANSIENT),
error_code, handle_error);
- DB_ACTION(sqlite3_bind_text(stmt, 2, &(payload->secondary_key), 1, SQLITE_TRANSIENT),
+ user_data_len = UAM_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - payload->device_uid_len;
+ DB_ACTION(sqlite3_bind_text(stmt, 2, payload->user_data, user_data_len, SQLITE_TRANSIENT),
error_code, handle_error);
- DB_ACTION(sqlite3_bind_int(stmt, 3, payload->device_uid_len),
+
+ DB_ACTION(sqlite3_bind_text(stmt, 3, &(payload->primary_key), 1, SQLITE_TRANSIENT),
error_code, handle_error);
- DB_ACTION(sqlite3_bind_text(stmt, 4, payload->device_uid, payload->device_uid_len, SQLITE_TRANSIENT),
+ DB_ACTION(sqlite3_bind_text(stmt, 4, &(payload->secondary_key), 1, SQLITE_TRANSIENT),
error_code, handle_error);
- DB_ACTION(sqlite3_bind_text(stmt, 5, &(payload->device_icon), 1, SQLITE_TRANSIENT),
+ DB_ACTION(sqlite3_bind_int(stmt, 5, payload->device_uid_len),
error_code, handle_error);
-
- user_data_len = UAM_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - payload->device_uid_len;
- DB_ACTION(sqlite3_bind_text(stmt, 6, payload->user_data, user_data_len, SQLITE_TRANSIENT),
+ DB_ACTION(sqlite3_bind_text(stmt, 6, payload->device_uid, payload->device_uid_len, SQLITE_TRANSIENT),
error_code, handle_error);
DB_ACTION(sqlite3_bind_int(stmt, 7, device_number),
error_code, handle_error);