typedef int (*SET_STORAGE_SCAN_STATUS)(sqlite3 *, const char *, int, uid_t);
typedef int (*GET_STORAGE_LIST)(sqlite3 *, char ***, char ***, int *);
typedef int (*INSERT_FOLDER)(sqlite3 *, const char *, const char *, int, uid_t);
-typedef int (*DELETE_INVALID_FOLDER)(const char *, int, uid_t);
typedef int (*SET_FOLDER_VALIDITY)(sqlite3 *, const char *, const char *, int, bool, uid_t);
typedef int (*INSERT_FOLDER_BEGIN)(int);
typedef int (*INSERT_FOLDER_END)(uid_t);
eSET_STORAGE_SCAN_STATUS,
eGET_STORAGE_LIST,
eINSERT_FOLDER,
- eDELETE_INVALID_FOLDER,
eSET_FOLDER_VALIDITY,
eINSERT_FOLDER_BEGIN,
eINSERT_FOLDER_END,
"set_storage_scan_status",
"get_storage_list",
"insert_folder",
- "delete_invalid_folder",
"set_folder_validity",
"insert_folder_begin",
"insert_folder_end",
int ms_delete_invalid_folder(const char *storage_id, int storage_type, uid_t uid)
{
- int lib_index;
int ret = MS_MEDIA_ERR_NONE;
+ char *sql = NULL;
- for (lib_index = 0; lib_index < lib_num; lib_index++) {
- ret = ((DELETE_INVALID_FOLDER)func_array[lib_index][eDELETE_INVALID_FOLDER])(storage_id, storage_type, uid); /*dlopen*/
- MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "Error : %s [%s]", g_array_index(so_array, char*, lib_index), storage_id);
- }
+ MS_DBG_RETVM_IF(!MS_STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL");
+ MS_DBG_RETVM_IF(__ms_check_storage_type(storage_type) != TRUE, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid storage_type");
+
+ sql = sqlite3_mprintf("DELETE FROM folder WHERE storage_uuid = '%q' AND storage_type = %d AND validity = 0;", storage_id, storage_type);
+
+ ret = media_db_request_update_db(sql, uid);
+
+ MS_SQLITE3_SAFE_FREE(sql);
return ret;
}