int media_svc_set_storage_validity(sqlite3 *handle, const char *storage_id, int validity, uid_t uid);
int media_svc_get_storage_id(sqlite3 *handle, const char *path, char *storage_id, uid_t uid);
int media_svc_set_folder_validity(sqlite3 *handle, const char *storage_id, const char *start_path, int validity, bool is_recursive, uid_t uid);
-int media_svc_insert_folder_begin(int data_cnt);
-int media_svc_insert_folder_end(uid_t uid);
int media_svc_check_folder_exist_by_path(sqlite3 *handle, const char *storage_id, const char *folder_path);
int insert_folder_begin(int item_cnt)
{
- return media_svc_insert_folder_begin(item_cnt);
+ /* For scanner V2 */
+ return MS_MEDIA_ERR_NONE;
}
int insert_folder_end(uid_t uid)
{
- return media_svc_insert_folder_end(uid);
+ /* For scanner V2 */
+ return MS_MEDIA_ERR_NONE;
}
int insert_folder(sqlite3 *handle, const char *storage_id, const char *file_path, int storage_type, uid_t uid)
#include "media-svc-util.h"
#include "media-svc-db-utils.h"
-static __thread GList *g_media_svc_insert_folder_query_list;
-
int _media_svc_get_folder_id_by_foldername(sqlite3 *handle, const char *storage_id, const char *folder_name, char *folder_id, uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
return ret;
}
-static int __media_svc_append_folder(bool is_direct, const char *storage_id, ms_user_storage_type_e storage_type,
- const char *folder_id, const char *folder_path, bool stack_query, uid_t uid)
+static int __media_svc_append_folder(bool is_direct, const char *storage_id, ms_user_storage_type_e storage_type, const char *folder_id, const char *folder_path, uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
char *folder_name = NULL;
char *sql = sqlite3_mprintf("INSERT OR IGNORE INTO %q (folder_id, folder_path, folder_name, storage_uuid, folder_storage_type, folder_modified_time, folder_name_pinyin) values (%Q, %Q, %Q, %Q, '%d', '%d', %Q); ",
MEDIA_SVC_DB_TABLE_FOLDER, folder_id, folder_path, folder_name, storage_id, storage_type, folder_modified_date, folder_name_pinyin);
- if (!stack_query) {
- if (is_direct)
- ret = _media_svc_sql_query_direct(sql, uid);
- else
- ret = _media_svc_sql_query(sql, uid);
+ if (is_direct)
+ ret = _media_svc_sql_query_direct(sql, uid);
+ else
+ ret = _media_svc_sql_query(sql, uid);
- SQLITE3_SAFE_FREE(sql);
- } else {
- _media_svc_sql_query_add(&g_media_svc_insert_folder_query_list, &sql);
- }
+ SQLITE3_SAFE_FREE(sql);
SAFE_FREE(folder_name);
SAFE_FREE(folder_name_pinyin);
return MS_MEDIA_ERR_INTERNAL;
}
- ret = __media_svc_append_folder(is_direct, storage_id, storage_type, folder_uuid, dir_path, FALSE, uid);
+ ret = __media_svc_append_folder(is_direct, storage_id, storage_type, folder_uuid, dir_path, uid);
if (ret != MS_MEDIA_ERR_NONE)
media_svc_error("__media_svc_append_folder is failed");
return ret;
}
-int _media_svc_get_and_append_folder_id_by_folder_path(sqlite3 *handle, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, char *folder_id, bool stack_query, uid_t uid)
+int _media_svc_get_and_append_folder_id_by_folder_path(sqlite3 *handle, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, uid_t uid)
{
char *path_name = NULL;
int ret = MS_MEDIA_ERR_NONE;
char *sql = NULL;
+ char folder_id[MEDIA_SVC_UUID_SIZE + 1] = {0, };
path_name = strdup(path);
if (path_name == NULL) {
ret = __media_svc_get_and_append_parent_folder(handle, true, storage_id, path_name, storage_type, folder_id, uid);
} else {
sql = sqlite3_mprintf("UPDATE %q SET validity=1 WHERE storage_uuid = '%q' AND folder_path = '%q';", MEDIA_SVC_DB_TABLE_FOLDER, storage_id, path);
- if (!stack_query) {
- ret = _media_svc_sql_query_direct(sql, uid);
- SQLITE3_SAFE_FREE(sql);
- } else {
- _media_svc_sql_query_add(&g_media_svc_insert_folder_query_list, &sql);
- }
+ ret = _media_svc_sql_query_direct(sql, uid);
+ SQLITE3_SAFE_FREE(sql);
}
SAFE_FREE(path_name);
return ret;
}
-GList **_media_svc_get_folder_list_ptr(void)
-{
- return &g_media_svc_insert_folder_query_list;
-}
-
int _media_svc_count_folder_with_path(sqlite3 *handle, const char *storage_id, const char *path, int *count)
{
int ret = MS_MEDIA_ERR_NONE;
case MEDIA_SVC_QUERY_UPDATE_ITEM:
ret = _media_svc_sql_query_list_direct(&g_media_svc_update_item_query_list, uid);
break;
- case MEDIA_SVC_QUERY_INSERT_FOLDER:
- ret = _media_svc_sql_query_list_direct(_media_svc_get_folder_list_ptr(), uid);
- break;
default:
media_svc_error("Wrong type[%d]", query_type);
return MS_MEDIA_ERR_INVALID_PARAMETER;
static __thread int g_media_svc_update_item_data_cnt = 1;
static __thread int g_media_svc_update_item_cur_data_cnt = 0;
-static __thread int g_media_svc_insert_folder_data_cnt = 1;
-static __thread int g_media_svc_insert_folder_cur_data_cnt = 0;
-
/* Flag for items to be published by notification */
static __thread int g_insert_with_noti = FALSE;
return ret;
}
-int media_svc_insert_folder_begin(int data_cnt)
-{
- media_svc_debug("Transaction data count : [%d]", data_cnt);
-
- media_svc_retvm_if(data_cnt < 1, MS_MEDIA_ERR_INVALID_PARAMETER, "data_cnt shuld be bigger than 1");
-
- g_media_svc_insert_folder_data_cnt = data_cnt;
- g_media_svc_insert_folder_cur_data_cnt = 0;
-
- return MS_MEDIA_ERR_NONE;
-}
-
-int media_svc_insert_folder_end(uid_t uid)
-{
- int ret = MS_MEDIA_ERR_NONE;
-
- media_svc_debug_fenter();
-
- if (g_media_svc_insert_folder_cur_data_cnt > 0)
- ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_INSERT_FOLDER, uid);
-
- g_media_svc_insert_folder_data_cnt = 1;
- g_media_svc_insert_folder_cur_data_cnt = 0;
-
- return ret;
-}
-
int media_svc_insert_folder(sqlite3 *handle, const char *storage_id, ms_user_storage_type_e storage_type, const char *path, uid_t uid)
{
- int ret = MS_MEDIA_ERR_NONE;
- char folder_uuid[MEDIA_SVC_UUID_SIZE+1] = {0,};
-
media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL");
media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
media_svc_retvm_if(_media_svc_check_storage_type(storage_type) != TRUE, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid storage_type");
- if (g_media_svc_insert_folder_data_cnt == 1) {
-
- ret = _media_svc_get_and_append_folder_id_by_folder_path(handle, storage_id, path, storage_type, folder_uuid, FALSE, uid);
-
- } else if (g_media_svc_insert_folder_cur_data_cnt < (g_media_svc_insert_folder_data_cnt - 1)) {
-
- ret = _media_svc_get_and_append_folder_id_by_folder_path(handle, storage_id, path, storage_type, folder_uuid, TRUE, uid);
- media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-
- g_media_svc_insert_folder_cur_data_cnt++;
-
- } else if (g_media_svc_insert_folder_cur_data_cnt == (g_media_svc_insert_folder_data_cnt - 1)) {
-
- ret = _media_svc_get_and_append_folder_id_by_folder_path(handle, storage_id, path, storage_type, folder_uuid, TRUE, uid);
- media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-
- ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_INSERT_FOLDER, uid);
- media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-
- g_media_svc_insert_folder_cur_data_cnt = 0;
-
- } else {
- media_svc_error("Error in media_svc_set_insert_folder");
- return MS_MEDIA_ERR_INTERNAL;
- }
-
- return ret;
+ return _media_svc_get_and_append_folder_id_by_folder_path(handle, storage_id, path, storage_type, uid);
}
int media_svc_set_folder_validity(sqlite3 *handle, const char *storage_id, const char *start_path, int validity, bool is_recursive, uid_t uid)
MEDIA_SVC_QUERY_SET_ITEM_VALIDITY,
MEDIA_SVC_QUERY_MOVE_ITEM,
MEDIA_SVC_QUERY_UPDATE_ITEM,
- MEDIA_SVC_QUERY_INSERT_FOLDER,
MEDIA_SVC_QUERY_UPDATE_COMMON,
} media_svc_query_type_e;
int _media_svc_update_folder_modified_time_by_folder_uuid(const char *folder_uuid, const char *folder_path, uid_t uid);
int _media_svc_get_and_append_folder(sqlite3 *handle, bool is_direct, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, char *folder_id, uid_t uid);
int _media_svc_get_and_append_folder_id_by_path(sqlite3 *handle, bool is_direct, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, char *folder_id, uid_t uid);
-int _media_svc_get_and_append_folder_id_by_folder_path(sqlite3 *handle, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, char *folder_id, bool stack_query, uid_t uid);
+int _media_svc_get_and_append_folder_id_by_folder_path(sqlite3 *handle, const char *storage_id, const char *path, ms_user_storage_type_e storage_type, uid_t uid);
int _media_svc_set_folder_validity(sqlite3 *handle, bool is_direct, const char *storage_id, const char *start_path, int validity, bool is_recursive, uid_t uid);
-GList ** _media_svc_get_folder_list_ptr(void);
int _media_svc_count_folder_with_path(sqlite3 *handle, const char *storage_id, const char *path, int *count);