From 58705191a892e2bdbf58ba5334defc4fa303e523 Mon Sep 17 00:00:00 2001 From: Minje Ahn Date: Mon, 5 Dec 2016 10:23:11 +0900 Subject: [PATCH] Fix code to change the path from system session to user session in db noti Change-Id: I9ed24804d03e25364e1f7b4e4ab675922f67a3ef Signed-off-by: Minje Ahn --- Makefile.am | 2 ++ configure.ac | 5 +++++ lib/media-util-noti-internal.c | 12 +++++++----- lib/media-util-noti.c | 12 +++++++----- packaging/media-server.spec | 3 ++- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/Makefile.am b/Makefile.am index 956b891..57b0eb6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -78,6 +78,7 @@ libmedia_utils_la_CFLAGS = -I${srcdir}/lib/include \ $(CYNARA_CLIENT_CFLAGS) \ $(CYNARA_SESSION_CFLAGS) \ $(CYNARA_CREDS_SOCKET_CFLAGS) \ + $(STORAGE_CFLAGS) \ $(SYSTEM_INFO_CFLAGS) libmedia_utils_la_LIBADD = $(GLIB_LIBS) \ @@ -92,6 +93,7 @@ libmedia_utils_la_LIBADD = $(GLIB_LIBS) \ $(CYNARA_CLIENT_LIBS) \ $(CYNARA_SESSION_LIBS) \ $(CYNARA_CREDS_SOCKET_LIBS) \ + $(STORAGE_LIBS) \ $(SYSTEM_INFO_LIBS) bin_PROGRAMS = media-server \ diff --git a/configure.ac b/configure.ac index d91a8e1..5b14b2c 100644 --- a/configure.ac +++ b/configure.ac @@ -133,6 +133,11 @@ PKG_CHECK_MODULES(SYSTEM_INFO, capi-system-info) AC_SUBST(SYSTEM_INFO_CFLAGS) AC_SUBST(SYSTEM_INFO_LIBS) +#storage +PKG_CHECK_MODULES(STORAGE, storage) +AC_SUBST(STORAGE_CFLAGS) +AC_SUBST(STORAGE_LIBS) + dnl use notification -------------------------------------------------------------------------- AC_ARG_ENABLE(notification, AC_HELP_STRING([--enable-notification], [using notification]), [ diff --git a/lib/media-util-noti-internal.c b/lib/media-util-noti-internal.c index f13f423..4e21ae3 100755 --- a/lib/media-util-noti-internal.c +++ b/lib/media-util-noti-internal.c @@ -34,6 +34,7 @@ #include #include #include +#include #include "media-util-internal.h" #include "media-util-dbg.h" @@ -67,7 +68,6 @@ int media_db_update_send_internal(int pid, /* mandatory */ char repl_path[MAX_FILEPATH_LEN] = {0, }; #if !defined(_USE_SENIOR_MODE) && !defined(_USE_TV_PATH) char *tmp_path = NULL; - const char *old_path = "/opt/usr/media"; #endif bus = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error); if (!bus) { @@ -79,11 +79,13 @@ int media_db_update_send_internal(int pid, /* mandatory */ memset(repl_path, 0, sizeof(repl_path)); #if !defined(_USE_SENIOR_MODE) && !defined(_USE_TV_PATH) /* Need uid to change path */ - if (strncmp(path, "/opt/usr/home", strlen("/opt/usr/home")) == 0) { - tmp_path = strstr(path, MEDIA_CONTENT_PATH); - snprintf(repl_path, sizeof(repl_path), "%s%s", old_path, tmp_path + strlen(MEDIA_CONTENT_PATH)); - } else { + if (strncmp(path, MEDIA_ROOT_PATH_EXTERNAL, strlen(MEDIA_ROOT_PATH_EXTERNAL)) == 0) { snprintf(repl_path, sizeof(repl_path), "%s", path); + } else { + if (storage_get_origin_internal_path(path, MAX_FILEPATH_LEN, repl_path) != STORAGE_ERROR_NONE) { + MSAPI_DBG("Failed to change internal path"); + return MS_MEDIA_ERR_INTERNAL; + } } MSAPI_DBG("New path: [%s]", repl_path); diff --git a/lib/media-util-noti.c b/lib/media-util-noti.c index c4a2d84..54ca5f3 100755 --- a/lib/media-util-noti.c +++ b/lib/media-util-noti.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "media-util-internal.h" #include "media-util-dbg.h" @@ -206,7 +207,6 @@ int media_db_update_send(int pid, /* mandatory */ char repl_path[MAX_FILEPATH_LEN] = {0, }; #if !defined(_USE_SENIOR_MODE) && !defined(_USE_TV_PATH) char *tmp_path = NULL; - const char *old_path = "/opt/usr/media"; #endif bus = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error); @@ -219,11 +219,13 @@ int media_db_update_send(int pid, /* mandatory */ memset(repl_path, 0, sizeof(repl_path)); #if !defined(_USE_SENIOR_MODE) && !defined(_USE_TV_PATH) /* Need uid to change path */ - if (strncmp(path, "/opt/usr/home", strlen("/opt/usr/home")) == 0) { - tmp_path = strstr(path, MEDIA_CONTENT_PATH); - snprintf(repl_path, sizeof(repl_path), "%s%s", old_path, tmp_path + strlen(MEDIA_CONTENT_PATH)); - } else { + if (strncmp(path, MEDIA_ROOT_PATH_EXTERNAL, strlen(MEDIA_ROOT_PATH_EXTERNAL)) == 0) { snprintf(repl_path, sizeof(repl_path), "%s", path); + } else { + if (storage_get_origin_internal_path(path, MAX_FILEPATH_LEN, repl_path) != STORAGE_ERROR_NONE) { + MSAPI_DBG("Failed to change internal path"); + return MS_MEDIA_ERR_INTERNAL; + } } MSAPI_DBG("New path: [%s]", repl_path); diff --git a/packaging/media-server.spec b/packaging/media-server.spec index 5b9188b..914ee13 100755 --- a/packaging/media-server.spec +++ b/packaging/media-server.spec @@ -1,6 +1,6 @@ Name: media-server Summary: A server for media content management -Version: 0.3.19 +Version: 0.3.20 Release: 0 Group: Multimedia/Service License: Apache-2.0 @@ -30,6 +30,7 @@ BuildRequires: pkgconfig(libtzplatform-config) BuildRequires: pkgconfig(cynara-client) BuildRequires: pkgconfig(cynara-session) BuildRequires: pkgconfig(capi-system-info) +BuildRequires: pkgconfig(storage) BuildRequires: gettext-tools %if 0%{?TIZEN_PRODUCT_TV} -- 2.7.4