Add parameter for getting user path 07/104507/3 accepted/tizen/3.0/common/20161216.123216 accepted/tizen/3.0/ivi/20161216.014841 accepted/tizen/3.0/mobile/20161216.014755 accepted/tizen/3.0/tv/20161216.014823 accepted/tizen/3.0/wearable/20161216.014833 submit/tizen_3.0/20161215.055503
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 13 Dec 2016 11:36:47 +0000 (20:36 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Tue, 13 Dec 2016 23:29:35 +0000 (08:29 +0900)
Change-Id: I5ea88c81810702b7441a32695cf42426cec99a68
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/media-svc.h
packaging/libmedia-service.spec
plugin/media-content-plugin.c
src/common/media-svc-storage.c
src/common/media-svc.c
src/include/common/media-svc-storage.h

index 1a57126..be9f754 100755 (executable)
@@ -80,7 +80,7 @@ int media_svc_insert_storage(MediaSvcHandle *handle, const char *storage_id, con
 int media_svc_update_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_path, uid_t uid);
 int media_svc_delete_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, uid_t uid);
 int media_svc_set_storage_validity(MediaSvcHandle *handle, const char *storage_id, int validity, uid_t uid);
-int media_svc_get_storage_id(MediaSvcHandle *handle, const char *path, char *storage_id);
+int media_svc_get_storage_id(MediaSvcHandle *handle, const char *path, char *storage_id, uid_t uid);
 int media_svc_get_storage_path(MediaSvcHandle *handle, const char *storage_uuid, char **storage_path);
 int media_svc_get_storage_scan_status(MediaSvcHandle *handle, const char *storage_uuid, media_svc_scan_status_type_e *storage_status);
 int media_svc_set_storage_scan_status(const char *storage_uuid, media_svc_scan_status_type_e storage_status, uid_t uid);
index ac58c9c..58ff608 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmedia-service
 Summary:    Media information service library for multimedia applications
-Version: 0.2.87
+Version: 0.2.88
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0 and public domain
index 3218e33..bedbd9e 100755 (executable)
@@ -743,7 +743,7 @@ int set_all_storage_validity(void * handle, int validity, uid_t uid, char **err_
        return MEDIA_SVC_PLUGIN_ERROR_NONE;
 }
 
-int get_storage_id(void * handle, const char *path, char *storage_id, char **err_msg)
+int get_storage_id(void * handle, const char *path, char *storage_id, uid_t uid, char **err_msg)
 {
        int ret = MEDIA_SVC_PLUGIN_ERROR_NONE;
 
@@ -752,7 +752,7 @@ int get_storage_id(void * handle, const char *path, char *storage_id, char **err
                return MEDIA_SVC_PLUGIN_ERROR;
        }
 
-       ret = media_svc_get_storage_id(handle, path, storage_id);
+       ret = media_svc_get_storage_id(handle, path, storage_id, uid);
        if (ret < 0) {
                __set_error_message(ret, err_msg);
                return MEDIA_SVC_PLUGIN_ERROR;
index 4af6f91..30d72ae 100755 (executable)
@@ -196,7 +196,7 @@ int _media_svc_update_storage_validity(const char *storage_id, int validity, uid
        return ret;
 }
 
-int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage_id)
+int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage_id, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
@@ -204,12 +204,18 @@ int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage
        char *storage_path = NULL;
        char *remain_path = NULL;
        int remain_len = 0;
+       char *internal_path = NULL;
 
-       if (STRING_VALID(MEDIA_ROOT_PATH_INTERNAL) && strncmp(path, MEDIA_ROOT_PATH_INTERNAL, strlen(MEDIA_ROOT_PATH_INTERNAL)) == 0) {
+       internal_path = _media_svc_get_path(uid);
+
+       if (STRING_VALID(internal_path) && strncmp(path, internal_path, strlen(internal_path)) == 0) {
                _strncpy_safe(storage_id, MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_UUID_SIZE+1);
+               SAFE_FREE(internal_path);
                return MS_MEDIA_ERR_NONE;
        }
 
+       SAFE_FREE(internal_path);
+
        remain_path = strstr(path + (STRING_VALID(MEDIA_ROOT_PATH_USB) ? strlen(MEDIA_ROOT_PATH_USB) : 0) + 1, "/");
        if (remain_path != NULL)
                remain_len = strlen(remain_path);
index a6781d5..916d120 100755 (executable)
@@ -1407,7 +1407,7 @@ int media_svc_set_storage_validity(MediaSvcHandle *handle, const char *storage_i
        return ret;
 }
 
-int media_svc_get_storage_id(MediaSvcHandle *handle, const char *path, char *storage_id)
+int media_svc_get_storage_id(MediaSvcHandle *handle, const char *path, char *storage_id, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * db_handle = (sqlite3 *)handle;
@@ -1415,7 +1415,7 @@ int media_svc_get_storage_id(MediaSvcHandle *handle, const char *path, char *sto
        media_svc_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
        media_svc_retvm_if(path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
-       ret = _media_svc_get_storage_uuid(db_handle, path, storage_id);
+       ret = _media_svc_get_storage_uuid(db_handle, path, storage_id, uid);
 
        return ret;
 }
index 0118abd..f83c265 100755 (executable)
@@ -31,7 +31,7 @@ int _media_svc_append_storage(const char *storage_id, const char *storage_name,
 int _media_svc_update_storage_path(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid);
 int _media_svc_delete_storage(const char *storage_id, const char *storage_name, uid_t uid);
 int _media_svc_update_storage_validity(const char *storage_id, int validity, uid_t uid);
-int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage_id);
+int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage_id, uid_t uid);
 int _media_svc_get_storage_type(sqlite3 *handle, const char *storage_id, media_svc_storage_type_e *storage_type);
 int _media_svc_get_storage_path(sqlite3 *handle, const char *storage_id, char **storage_path);
 int _media_svc_get_storage_scan_status(sqlite3 *handle, const char*storage_id, media_svc_scan_status_type_e *scan_status);