Fix code to change the path from system session to user session in db noti 57/102057/2
authorMinje Ahn <minje.ahn@samsung.com>
Mon, 5 Dec 2016 01:23:11 +0000 (10:23 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Mon, 5 Dec 2016 01:32:17 +0000 (10:32 +0900)
Change-Id: I9ed24804d03e25364e1f7b4e4ab675922f67a3ef
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Makefile.am
configure.ac
lib/media-util-noti-internal.c
lib/media-util-noti.c
packaging/media-server.spec

index 956b891..57b0eb6 100644 (file)
@@ -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 \
index d91a8e1..5b14b2c 100644 (file)
@@ -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]),
 [
index f13f423..4e21ae3 100755 (executable)
@@ -34,6 +34,7 @@
 #include <string.h>
 #include <glib.h>
 #include <gio/gio.h>
+#include <storage.h>
 
 #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);
index c4a2d84..54ca5f3 100755 (executable)
@@ -26,6 +26,7 @@
 #include <glib.h>
 #include <stdlib.h>
 #include <gio/gio.h>
+#include <storage.h>
 
 #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);
index 5b9188b..914ee13 100755 (executable)
@@ -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}