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);
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
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;
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;
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;
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);
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;
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;
}
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);