Remove hardcoded path for multiuser support 93/16493/6 accepted/tizen/mobile/20141021.083935 submit/tizen/20140512.121228 submit/tizen_common/20140521.163740 submit/tizen_common/20140522.130648 submit/tizen_common/20140522.135644 submit/tizen_common/20140523.140558 submit/tizen_ivi/20140618.000000 submit/tizen_ivi/20140618.000001 submit/tizen_ivi/20140619.000000 submit/tizen_ivi/20140622.000000 submit/tizen_ivi/20140623.000000 submit/tizen_ivi/20140624.064036
authorSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Tue, 11 Feb 2014 09:32:24 +0000 (10:32 +0100)
committerSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Fri, 7 Mar 2014 15:11:38 +0000 (16:11 +0100)
Bug-Tizen: PTREL-214

Change-Id: Icdef48cc53fe754db9914e1727f2bfe48418497c
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
55 files changed:
Makefile.am
configure.ac
data-media/Images/Default.jpg [new file with mode: 0755]
data-media/Images/Home_default.jpg [new file with mode: 0755]
data-media/Images/image1.jpg [new file with mode: 0755]
data-media/Images/image10.jpg [new file with mode: 0755]
data-media/Images/image11.jpg [new file with mode: 0755]
data-media/Images/image12.jpg [new file with mode: 0755]
data-media/Images/image13.jpg [new file with mode: 0755]
data-media/Images/image14.jpg [new file with mode: 0755]
data-media/Images/image15.jpg [new file with mode: 0755]
data-media/Images/image16.jpg [new file with mode: 0755]
data-media/Images/image2.jpg [new file with mode: 0755]
data-media/Images/image3.jpg [new file with mode: 0755]
data-media/Images/image4.jpg [new file with mode: 0755]
data-media/Images/image5.jpg [new file with mode: 0755]
data-media/Images/image6.jpg [new file with mode: 0755]
data-media/Images/image7.jpg [new file with mode: 0755]
data-media/Images/image8.jpg [new file with mode: 0755]
data-media/Images/image9.jpg [new file with mode: 0755]
data-media/dbspace/file-manager-service/.thumb/mmc/MMC_THUMB_HERE [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-03bdfd7e4d43c736819639b84a590b5f.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-10555c13cdfe5a763a69e08489de3c70.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-5876701a15ec16bd0226ed00044cad92.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-66784c0b912f077f0a8de56a2f56161e.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-6f7e6adae30603c45be7db083610d0a3.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-70a952ceff9175115b8c3fd044cdf978.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-773fffb8f086e5954f15407b41c2635d.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-93d14e2e94dfbccc9f38a14c4be6a780.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-aa5afe63b8aaa41079f9f37297d0763f.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-c468b6d8820bfc0d9311d76f6575251a.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-de79768105a730492b3b28ca33ff89f4.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e32fd6fd44abe296c14de2407bab1f93.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e82b0d23bfecbddaad1b98be7674b96e.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/.jpg-fc4557b53139ca8f35a3f13cea24ed13.jpg [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/phone/PHONE_THUMB_HERE [new file with mode: 0644]
data-media/dbspace/file-manager-service/.thumb/thumb_default.png [new file with mode: 0644]
data-media/dbspace/file-manager-service/plugin-config [new file with mode: 0644]
data/mediasvr
lib/include/media-util.h
lib/media-util-db.c
packaging/media-data-sdk_create_db.sh [new file with mode: 0644]
packaging/media-server.spec
src/common/include/media-common-external-storage.h
src/common/include/media-common-types.h
src/common/media-common-external-storage.c
src/mediadb-update.c
src/scanner/media-scanner-db-svc.c
src/server/media-server-db-svc.c
src/server/media-server-scanner.c
src/server/media-server-thumb.c

index 716b424..d068e30 100755 (executable)
@@ -38,14 +38,16 @@ libmedia_utils_la_CFLAGS = -I${srcdir}/lib/include \
                              $(DBUS_CFLAGS) \
                              $(SQLITE3_CFLAGS) \
                              $(DB_UTIL_CFLAGS) \
-                             $(PHONESTATUS_CFLAGS)
+                             $(PHONESTATUS_CFLAGS) \
+                             $(TZ_PLATFORM_CONFIG_CFLAGS)
 
 libmedia_utils_la_LIBADD  =   $(GLIB_LIBS) \
                               $(DLOG_LIBS) \
                               $(DBUS_LIBS) \
                              $(SQLITE3_LIBS) \
                              $(DB_UTIL_LIBS) \
-                             $(PHONESTATUS_LIBS)
+                             $(PHONESTATUS_LIBS) \
+                             $(TZ_PLATFORM_CONFIG_LIBS)
 
 
 ### file-manager-server ###
index 676cd16..fa4630c 100755 (executable)
@@ -102,6 +102,11 @@ PKG_CHECK_MODULES(DB_UTIL, db-util)
 AC_SUBST(DB_UTIL_CFLAGS)
 AC_SUBST(DB_UTIL_LIBS)
 
+#tz-platform-config lib
+PKG_CHECK_MODULES(TZ_PLATFORM_CONFIG, libtzplatform-config)
+AC_SUBST(TZ_PLATFORM_CONFIG_CFLAGS)
+AC_SUBST(TZ_PLATFORM_CONFIG_LIBS)
+
 #ticker noti library
 PKG_CHECK_MODULES(STATUS, notification)
 AC_SUBST(STATUS_CFLAGS)
diff --git a/data-media/Images/Default.jpg b/data-media/Images/Default.jpg
new file mode 100755 (executable)
index 0000000..10f4b14
Binary files /dev/null and b/data-media/Images/Default.jpg differ
diff --git a/data-media/Images/Home_default.jpg b/data-media/Images/Home_default.jpg
new file mode 100755 (executable)
index 0000000..31fe40c
Binary files /dev/null and b/data-media/Images/Home_default.jpg differ
diff --git a/data-media/Images/image1.jpg b/data-media/Images/image1.jpg
new file mode 100755 (executable)
index 0000000..38bc5a9
Binary files /dev/null and b/data-media/Images/image1.jpg differ
diff --git a/data-media/Images/image10.jpg b/data-media/Images/image10.jpg
new file mode 100755 (executable)
index 0000000..ef663e1
Binary files /dev/null and b/data-media/Images/image10.jpg differ
diff --git a/data-media/Images/image11.jpg b/data-media/Images/image11.jpg
new file mode 100755 (executable)
index 0000000..d773a5f
Binary files /dev/null and b/data-media/Images/image11.jpg differ
diff --git a/data-media/Images/image12.jpg b/data-media/Images/image12.jpg
new file mode 100755 (executable)
index 0000000..969cb74
Binary files /dev/null and b/data-media/Images/image12.jpg differ
diff --git a/data-media/Images/image13.jpg b/data-media/Images/image13.jpg
new file mode 100755 (executable)
index 0000000..86eaa02
Binary files /dev/null and b/data-media/Images/image13.jpg differ
diff --git a/data-media/Images/image14.jpg b/data-media/Images/image14.jpg
new file mode 100755 (executable)
index 0000000..d66f344
Binary files /dev/null and b/data-media/Images/image14.jpg differ
diff --git a/data-media/Images/image15.jpg b/data-media/Images/image15.jpg
new file mode 100755 (executable)
index 0000000..5c8f068
Binary files /dev/null and b/data-media/Images/image15.jpg differ
diff --git a/data-media/Images/image16.jpg b/data-media/Images/image16.jpg
new file mode 100755 (executable)
index 0000000..cd6d281
Binary files /dev/null and b/data-media/Images/image16.jpg differ
diff --git a/data-media/Images/image2.jpg b/data-media/Images/image2.jpg
new file mode 100755 (executable)
index 0000000..9e275d3
Binary files /dev/null and b/data-media/Images/image2.jpg differ
diff --git a/data-media/Images/image3.jpg b/data-media/Images/image3.jpg
new file mode 100755 (executable)
index 0000000..5693394
Binary files /dev/null and b/data-media/Images/image3.jpg differ
diff --git a/data-media/Images/image4.jpg b/data-media/Images/image4.jpg
new file mode 100755 (executable)
index 0000000..c6a8896
Binary files /dev/null and b/data-media/Images/image4.jpg differ
diff --git a/data-media/Images/image5.jpg b/data-media/Images/image5.jpg
new file mode 100755 (executable)
index 0000000..6647484
Binary files /dev/null and b/data-media/Images/image5.jpg differ
diff --git a/data-media/Images/image6.jpg b/data-media/Images/image6.jpg
new file mode 100755 (executable)
index 0000000..c3f06fe
Binary files /dev/null and b/data-media/Images/image6.jpg differ
diff --git a/data-media/Images/image7.jpg b/data-media/Images/image7.jpg
new file mode 100755 (executable)
index 0000000..e74b93c
Binary files /dev/null and b/data-media/Images/image7.jpg differ
diff --git a/data-media/Images/image8.jpg b/data-media/Images/image8.jpg
new file mode 100755 (executable)
index 0000000..aa96a3e
Binary files /dev/null and b/data-media/Images/image8.jpg differ
diff --git a/data-media/Images/image9.jpg b/data-media/Images/image9.jpg
new file mode 100755 (executable)
index 0000000..a7b964f
Binary files /dev/null and b/data-media/Images/image9.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/mmc/MMC_THUMB_HERE b/data-media/dbspace/file-manager-service/.thumb/mmc/MMC_THUMB_HERE
new file mode 100644 (file)
index 0000000..a0dd7a9
--- /dev/null
@@ -0,0 +1 @@
+MMC_THUMB_HERE
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-03bdfd7e4d43c736819639b84a590b5f.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-03bdfd7e4d43c736819639b84a590b5f.jpg
new file mode 100644 (file)
index 0000000..478cd44
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-03bdfd7e4d43c736819639b84a590b5f.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-10555c13cdfe5a763a69e08489de3c70.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-10555c13cdfe5a763a69e08489de3c70.jpg
new file mode 100644 (file)
index 0000000..2594c70
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-10555c13cdfe5a763a69e08489de3c70.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-5876701a15ec16bd0226ed00044cad92.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-5876701a15ec16bd0226ed00044cad92.jpg
new file mode 100644 (file)
index 0000000..a143fa7
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-5876701a15ec16bd0226ed00044cad92.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-66784c0b912f077f0a8de56a2f56161e.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-66784c0b912f077f0a8de56a2f56161e.jpg
new file mode 100644 (file)
index 0000000..d30cd50
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-66784c0b912f077f0a8de56a2f56161e.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-6f7e6adae30603c45be7db083610d0a3.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-6f7e6adae30603c45be7db083610d0a3.jpg
new file mode 100644 (file)
index 0000000..4ab066e
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-6f7e6adae30603c45be7db083610d0a3.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-70a952ceff9175115b8c3fd044cdf978.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-70a952ceff9175115b8c3fd044cdf978.jpg
new file mode 100644 (file)
index 0000000..25ef052
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-70a952ceff9175115b8c3fd044cdf978.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-773fffb8f086e5954f15407b41c2635d.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-773fffb8f086e5954f15407b41c2635d.jpg
new file mode 100644 (file)
index 0000000..4f052d6
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-773fffb8f086e5954f15407b41c2635d.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg
new file mode 100644 (file)
index 0000000..4793265
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg
new file mode 100644 (file)
index 0000000..a74595b
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-93d14e2e94dfbccc9f38a14c4be6a780.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-93d14e2e94dfbccc9f38a14c4be6a780.jpg
new file mode 100644 (file)
index 0000000..9ceadc8
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-93d14e2e94dfbccc9f38a14c4be6a780.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg
new file mode 100644 (file)
index 0000000..89936b4
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-aa5afe63b8aaa41079f9f37297d0763f.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-aa5afe63b8aaa41079f9f37297d0763f.jpg
new file mode 100644 (file)
index 0000000..ba647d4
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-aa5afe63b8aaa41079f9f37297d0763f.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-c468b6d8820bfc0d9311d76f6575251a.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-c468b6d8820bfc0d9311d76f6575251a.jpg
new file mode 100644 (file)
index 0000000..d64dfcf
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-c468b6d8820bfc0d9311d76f6575251a.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-de79768105a730492b3b28ca33ff89f4.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-de79768105a730492b3b28ca33ff89f4.jpg
new file mode 100644 (file)
index 0000000..2029063
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-de79768105a730492b3b28ca33ff89f4.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e32fd6fd44abe296c14de2407bab1f93.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e32fd6fd44abe296c14de2407bab1f93.jpg
new file mode 100644 (file)
index 0000000..5d55c0d
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e32fd6fd44abe296c14de2407bab1f93.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e82b0d23bfecbddaad1b98be7674b96e.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e82b0d23bfecbddaad1b98be7674b96e.jpg
new file mode 100644 (file)
index 0000000..d7f4921
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-e82b0d23bfecbddaad1b98be7674b96e.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg
new file mode 100644 (file)
index 0000000..5069eee
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-fc4557b53139ca8f35a3f13cea24ed13.jpg b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-fc4557b53139ca8f35a3f13cea24ed13.jpg
new file mode 100644 (file)
index 0000000..46929cb
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/phone/.jpg-fc4557b53139ca8f35a3f13cea24ed13.jpg differ
diff --git a/data-media/dbspace/file-manager-service/.thumb/phone/PHONE_THUMB_HERE b/data-media/dbspace/file-manager-service/.thumb/phone/PHONE_THUMB_HERE
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/data-media/dbspace/file-manager-service/.thumb/thumb_default.png b/data-media/dbspace/file-manager-service/.thumb/thumb_default.png
new file mode 100644 (file)
index 0000000..9326d0a
Binary files /dev/null and b/data-media/dbspace/file-manager-service/.thumb/thumb_default.png differ
diff --git a/data-media/dbspace/file-manager-service/plugin-config b/data-media/dbspace/file-manager-service/plugin-config
new file mode 100644 (file)
index 0000000..aa0a393
--- /dev/null
@@ -0,0 +1 @@
+libmedia-content-plugin.so
index d109017..893a922 100755 (executable)
@@ -1,3 +1,6 @@
 #!/bin/sh
-/usr/bin/media-server&
+
+source /etc/tizen-platform.conf
+
+${TZ_SYS_BIN}/media-server&
 
index 4ae7b54..d7dc474 100755 (executable)
 #include <media-util-noti.h>
 #include <media-util-ipc.h>
 
-#define MOUNT_PATH "/opt/usr"
+#include <tzplatform_config.h>
 
-#define MEDIA_ROOT_PATH_INTERNAL       MOUNT_PATH"/media"
-#define MEDIA_ROOT_PATH_SDCARD "/opt/storage/sdcard"
-#define MEDIA_DATA_PATH                        MOUNT_PATH"/data/file-manager-service"
-#define MEDIA_DB_NAME                          MOUNT_PATH"/dbspace/.media.db"          /**<  media db name*/
+#define MEDIA_ROOT_PATH_INTERNAL       tzplatform_getenv(TZ_USER_CONTENT)
+#define MEDIA_ROOT_PATH_SDCARD tzplatform_mkpath(TZ_SYS_STORAGE, "sdcard")
+#define MEDIA_DATA_PATH                tzplatform_mkpath(TZ_USER_DATA, "file-manager-service")
+#define MEDIA_DB_NAME          tzplatform_mkpath(TZ_USER_DB, ".media.db")              /**<  media db name*/
 
 #endif /*_MEDIA_UTIL_H_*/
index 60a1dc3..63c9304 100755 (executable)
@@ -27,7 +27,8 @@
  * @version    1.0
  * @brief
  */
-
+#include <sys/stat.h>
+#include <sys/wait.h>
 #include <unistd.h>
 #include <string.h>
 #include <errno.h>
@@ -65,14 +66,56 @@ static int __media_db_busy_handler(void *pData, int count)
 
        return 100 - count;
 }
-
+int _xsystem(const char *argv[])
+{
+       int status = 0;
+       pid_t pid;
+       pid = fork();
+       switch (pid) {
+       case -1:
+               perror("fork failed");
+               return -1;
+       case 0:
+               /* child */
+               execvp(argv[0], (char *const *)argv);
+               _exit(-1);
+       default:
+               /* parent */
+               break;
+       }
+       if (waitpid(pid, &status, 0) == -1)
+       {
+               perror("waitpid failed");
+               return -1;
+       }
+       if (WIFSIGNALED(status))
+       {
+               perror("signal");
+               return -1;
+       }
+       if (!WIFEXITED(status))
+       {
+               /* shouldn't happen */
+               perror("should not happen");
+               return -1;
+       }
+       return WEXITSTATUS(status);
+}
+#define SCRIPT_INIT_DB "/usr/bin/media-data-sdk_create_db.sh"
 static int __media_db_connect_db_with_handle(sqlite3 **db_handle)
 {
        int ret = MS_MEDIA_ERR_NONE;
 
-       /*Connect DB*/
+       /*Init DB*/
+       struct stat sts;
+       /* Check if the DB exists; if not, create it and initialize it */
+       ret = stat(MEDIA_DB_NAME, &sts);
+       if (ret == -1 && errno == ENOENT)
+       {
+               const char *argv_script[] = {"/bin/sh", SCRIPT_INIT_DB, NULL };
+               ret = _xsystem(argv_script);
+       }
        ret = db_util_open(MEDIA_DB_NAME, db_handle, DB_UTIL_REGISTER_HOOK_METHOD);
-
        if (SQLITE_OK != ret) {
 
                MSAPI_DBG_ERR("error when db open");
diff --git a/packaging/media-data-sdk_create_db.sh b/packaging/media-data-sdk_create_db.sh
new file mode 100644 (file)
index 0000000..9cc29a8
--- /dev/null
@@ -0,0 +1,119 @@
+#!/bin/sh
+
+source /etc/tizen-platform.conf
+
+mkdir -p $TZ_USER_DB
+mkdir -p $TZ_USER_CONTENT
+mkdir -p  $TZ_USER_DATA
+
+#Init media files tree
+
+mv -f ${TZ_SYS_DATA}/data-media/file-manager-service ${TZ_USER_DATA}/
+mv -f ${TZ_SYS_DATA}/data-media/Camera ${TZ_USER_CONTENT}/
+mv -f ${TZ_SYS_DATA}/data-media/Downloads ${TZ_USER_CONTENT}/
+mv -f ${TZ_SYS_DATA}/data-media/Images ${TZ_USER_CONTENT}/
+mv -f ${TZ_SYS_DATA}/data-media/Sounds ${TZ_USER_CONTENT}/
+mv -f ${TZ_SYS_DATA}/data-media/Videos ${TZ_USER_CONTENT}/
+rm -rf ${TZ_SYS_DATA}/data-media
+
+#Create DB file
+sqlite3 ${TZ_USER_DB}/.media.db 'PRAGMA journal_mode = PERSIST;
+
+       CREATE TABLE IF NOT EXISTS album (album_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, artist TEXT, album_art TEXT, unique(name, artist));
+       CREATE TABLE IF NOT EXISTS bookmark (bookmark_id INTEGER PRIMARY KEY AUTOINCREMENT, media_uuid TEXT NOT NULL, marked_time INTEGER DEFAULT 0, thumbnail_path  TEXT, unique(media_uuid, marked_time));
+       CREATE TABLE IF NOT EXISTS folder (folder_uuid TEXT PRIMARY KEY, path TEXT NOT NULL UNIQUE, name TEXT NOT NULL, modified_time INTEGER DEFAULT 0, storage_type INTEGER, unique(path, name, storage_type));
+       CREATE TABLE IF NOT EXISTS media (media_uuid TEXT PRIMARY KEY, path TEXT NOT NULL UNIQUE, file_name TEXT NOT NULL, media_type INTEGER, mime_type TEXT, size INTEGER DEFAULT 0, added_time INTEGER DEFAULT 0, modified_time INTEGER DEFAULT 0, folder_uuid TEXT NOT NULL, thumbnail_path TEXT, title TEXT, album_id INTEGER DEFAULT 0, album TEXT, artist TEXT, genre TEXT, composer TEXT, year TEXT, recorded_date TEXT, copyright TEXT, track_num TEXT, description TEXT, bitrate INTEGER DEFAULT -1, samplerate INTEGER DEFAULT -1, channel INTEGER DEFAULT -1, duration INTEGER DEFAULT -1, longitude DOUBLE DEFAULT 0, latitude DOUBLE DEFAULT 0, altitude DOUBLE DEFAULT 0, width INTEGER DEFAULT -1, height INTEGER DEFAULT -1, datetaken TEXT, orientation INTEGER DEFAULT -1, burst_id TEXT, played_count INTEGER DEFAULT 0, last_played_time INTEGER DEFAULT 0, last_played_position INTEGER DEFAULT 0, rating INTEGER DEFAULT 0, favourite INTEGER DEFAULT 0, author TEXT, provider TEXT, content_name TEXT, category TEXT, location_tag TEXT, age_rating TEXT, keyword TEXT, is_drm INTEGER DEFAULT 0, storage_type INTEGER, validity INTEGER DEFAULT 1, unique(path, file_name) );
+       CREATE TABLE IF NOT EXISTS playlist ( playlist_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, thumbnail_path TEXT );
+       CREATE TABLE IF NOT EXISTS playlist_map ( _id INTEGER PRIMARY KEY AUTOINCREMENT, playlist_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, play_order INTEGER NOT NULL );
+       CREATE TABLE IF NOT EXISTS tag ( tag_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE );
+       CREATE TABLE IF NOT EXISTS tag_map ( _id INTEGER PRIMARY KEY AUTOINCREMENT, tag_id INTEGER NOT NULL, media_uuid TEXT NOT NULL, unique(tag_id, media_uuid) );
+       CREATE INDEX folder_folder_uuid_idx on folder (folder_uuid);
+       CREATE INDEX folder_uuid_idx on media (folder_uuid);
+       CREATE INDEX media_album_idx on media (album);
+       CREATE INDEX media_artist_idx on media (artist);
+       CREATE INDEX media_author_idx on media (author);
+       CREATE INDEX media_category_idx on media (category);
+       CREATE INDEX media_composer_idx on media (composer);
+       CREATE INDEX media_content_name_idx on media (content_name);
+       CREATE INDEX media_file_name_idx on media (file_name);
+       CREATE INDEX media_genre_idx on media (genre);
+       CREATE INDEX media_location_tag_idx on media (location_tag);
+       CREATE INDEX media_media_type_idx on media (media_type);
+       CREATE INDEX media_media_uuid_idx on media (media_uuid);
+       CREATE INDEX media_modified_time_idx on media (modified_time);
+       CREATE INDEX media_path_idx on media (path);
+       CREATE INDEX media_provider_idx on media (provider);
+       CREATE INDEX media_title_idx on media (title);
+
+       CREATE VIEW IF NOT EXISTS playlist_view AS
+       SELECT 
+       p.playlist_id, p.name, p.thumbnail_path, media_count, pm._id as pm_id, pm.play_order, m.media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, m.thumbnail_path, description, rating, favourite, author, provider, content_name, category, location_tag, age_rating, keyword, is_drm, storage_type, longitude, latitude, altitude, width, height, datetaken, orientation, title, album, artist, genre, composer, year, recorded_date, copyright, track_num, bitrate, duration, played_count, last_played_time, last_played_position, samplerate, channel FROM playlist AS p 
+       INNER JOIN playlist_map AS pm 
+       INNER JOIN media AS m 
+       INNER JOIN (SELECT count(playlist_id) as media_count, playlist_id FROM playlist_map group by playlist_id) as cnt_tbl
+               ON (p.playlist_id=pm.playlist_id AND pm.media_uuid = m.media_uuid AND cnt_tbl.playlist_id=pm.playlist_id AND m.validity=1)
+       UNION
+       SELECT 
+               playlist_id, name, thumbnail_path, 0, 0, -1, NULL, NULL, -1, -1, -1, -1, -1, NULL, NULL, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, -1, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, NULL, -1 FROM playlist 
+       WHERE playlist_id 
+       NOT IN (select playlist_id from playlist_map);
+
+       CREATE VIEW IF NOT EXISTS tag_view AS
+       SELECT 
+       t.tag_id, t.name, media_count, tm._id as tm_id, m.media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, thumbnail_path, description, rating, favourite, author, provider, content_name, category, location_tag, age_rating, keyword, is_drm, storage_type, longitude, latitude, altitude, width, height, datetaken, orientation, title, album, artist, genre, composer, year, recorded_date, copyright, track_num, bitrate, duration, played_count, last_played_time, last_played_position, samplerate, channel FROM tag AS t 
+       INNER JOIN tag_map AS tm 
+       INNER JOIN media AS m 
+       INNER JOIN (SELECT count(tag_id) as media_count, tag_id FROM tag_map group by tag_id) as cnt_tbl
+               ON (t.tag_id=tm.tag_id AND tm.media_uuid = m.media_uuid AND cnt_tbl.tag_id=tm.tag_id AND m.validity=1)
+       UNION
+       SELECT 
+               tag_id, name, 0, 0,  NULL, NULL, -1, -1, -1, -1, -1, NULL, NULL, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, -1, -1, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, -1, -1, -1, -1, -1, NULL, -1 FROM tag 
+       WHERE tag_id 
+       NOT IN (select tag_id from tag_map); 
+
+       CREATE TRIGGER album_cleanup DELETE ON media BEGIN DELETE FROM album WHERE (SELECT count(*) FROM media WHERE album_id=old.album_id)=1 AND album_id=old.album_id;END;
+       CREATE TRIGGER bookmark_cleanup DELETE ON media BEGIN DELETE FROM bookmark WHERE media_uuid=old.media_uuid;END;
+       CREATE TRIGGER folder_cleanup DELETE ON media BEGIN DELETE FROM folder WHERE (SELECT count(*) FROM media WHERE folder_uuid=old.folder_uuid)=1 AND folder_uuid=old.folder_uuid;END;
+       CREATE TRIGGER playlist_map_cleanup DELETE ON media BEGIN DELETE FROM playlist_map WHERE media_uuid=old.media_uuid;END;
+       CREATE TRIGGER playlist_map_cleanup_1 DELETE ON playlist BEGIN DELETE FROM playlist_map WHERE playlist_id=old.playlist_id;END;
+       CREATE TRIGGER tag_map_cleanup DELETE ON media BEGIN DELETE FROM tag_map WHERE media_uuid=old.media_uuid;END;
+       CREATE TRIGGER tag_map_cleanup_1 DELETE ON tag BEGIN DELETE FROM tag_map WHERE tag_id=old.tag_id;END;
+       INSERT INTO media VALUES("60aea677-4742-408e-b5f7-f2628062d06d","@TZ_USER_IMAGES@/Default.jpg","Default.jpg",0,"image/jpeg",632118,3023047,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-a19569ad296e9655d1fbf216f195f801.jpg","Default",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,280,"2011:10:20 18:41:26",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("84b3a64a-51ef-4b3a-bbaa-c527fbbcfa42","@TZ_USER_IMAGES@/image1.jpg","image1.jpg",0,"image/jpeg",751750,3023268,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-f5052c8428c4a22231d6ece0c63b74bd.jpg","image1",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:08 15:59:47",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("51d282b7-06d7-4bce-aebc-59e46b15f7e7","@TZ_USER_IMAGES@/image13.jpg","image13.jpg",0,"image/jpeg",549310,3023473,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-825ded447a3ce04d14d737f93d7cee26.jpg","image13",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:59:11",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("dd6d7c0b-273d-47f5-8a37-30ebac9ac3a3","@TZ_USER_IMAGES@/image4.jpg","image4.jpg",0,"image/jpeg",609139,3023702,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-8ea059905f24eea065a7998dc5ff1f7e.jpg","image4",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","                               ",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:44:45",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("21141e5d-e6da-45e2-93d6-5fb5c5870adb","@TZ_USER_IMAGES@/image2.jpg","image2.jpg",0,"image/jpeg",254304,3023930,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-93d14e2e94dfbccc9f38a14c4be6a780.jpg","image2",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:08 14:54:05",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("2ec6f64b-c982-4c6a-9a70-1323d27f4aa5","@TZ_USER_IMAGES@/image9.jpg","image9.jpg",0,"image/jpeg",1168466,3024130,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-e82b0d23bfecbddaad1b98be7674b96e.jpg","image9",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2011:10:20 18:43:39",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("db1c184c-6f31-43b4-b924-8c00ac5b6197","@TZ_USER_IMAGES@/Home_default.jpg","Home_default.jpg",0,"image/jpeg",554116,3024507,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-66784c0b912f077f0a8de56a2f56161e.jpg","Home_default",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,1280,"2012:02:07 14:44:33",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("1b25f4d9-ffff-4b83-8dbf-187a0a809985","@TZ_USER_IMAGES@/image15.jpg","image15.jpg",0,"image/jpeg",484926,3024713,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-de79768105a730492b3b28ca33ff89f4.jpg","image15",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 15:00:59",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("b3ee9659-22bb-423d-99d0-ed35240545a8","@TZ_USER_IMAGES@/image12.jpg","image12.jpg",0,"image/jpeg",519167,3024908,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-e32fd6fd44abe296c14de2407bab1f93.jpg","image12",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:50:16",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("0d905e54-4583-4de8-80c1-ee4117e06ddf","@TZ_USER_IMAGES@/image11.jpg","image11.jpg",0,"image/jpeg",656364,3025097,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-773fffb8f086e5954f15407b41c2635d.jpg","image11",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,1280,"2012:02:07 14:49:37",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("bc1eae57-376e-4ff3-b6a0-edcff8c7a1b1","@TZ_USER_IMAGES@/image5.jpg","image5.jpg",0,"image/jpeg",773064,3025291,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-c468b6d8820bfc0d9311d76f6575251a.jpg","image5",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:45:14",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("eec305ed-ccb4-4abb-93f9-f087c823b1d4","@TZ_USER_IMAGES@/image6.jpg","image6.jpg",0,"image/jpeg",682883,3025500,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-10555c13cdfe5a763a69e08489de3c70.jpg","image6",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2011:10:20 18:39:26",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("53101826-d64e-4d26-b448-acc1d94511a5","@TZ_USER_IMAGES@/image14.jpg","image14.jpg",0,"image/jpeg",452386,3025742,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-6f7e6adae30603c45be7db083610d0a3.jpg","image14",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:59:44",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("dbf546ed-e984-45de-a85e-b1d750005036","@TZ_USER_IMAGES@/image8.jpg","image8.jpg",0,"image/jpeg",930876,3026032,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-5876701a15ec16bd0226ed00044cad92.jpg","image8",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2011:10:21 10:01:44",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("696835a1-eaec-4602-8310-5e7ad9f4429b","@TZ_USER_IMAGES@/image10.jpg","image10.jpg",0,"image/jpeg",1236980,3027125,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-70a952ceff9175115b8c3fd044cdf978.jpg","image10",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2011:10:20 18:43:24",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("4a76c208-ca95-4b2f-9de1-86c82a45506d","@TZ_USER_IMAGES@/image16.jpg","image16.jpg",0,"image/jpeg",1443416,3027413,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-aa5afe63b8aaa41079f9f37297d0763f.jpg","image16",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,1280,"2011:10:20 18:42:06",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("83b9fd32-cd53-4ba7-84b8-c3d507f4701d","@TZ_USER_IMAGES@/image7.jpg","image7.jpg",0,"image/jpeg",1073428,3027698,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-fc4557b53139ca8f35a3f13cea24ed13.jpg","image7",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,720,1280,"2011:10:20 18:41:51",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO media VALUES("a2b3cbf8-82e3-456f-b912-74b0a646da6e","@TZ_USER_IMAGES@/image3.jpg","image3.jpg",0,"image/jpeg",738597,3027977,1337008628,"baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_DATA@/file-manager-service/.thumb/phone/.jpg-03bdfd7e4d43c736819639b84a590b5f.jpg","image3",0,"Unknown","Unknown","Unknown","Unknown","Unknown",NULL,"Unknown","Unknown","Unknown",0,0,0,0,-200.0,-200.0,-200.0,1280,720,"2012:02:07 14:46:13",1,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1);
+       INSERT INTO folder VALUES("baeb79e5-a9da-4667-aeaf-6b98830e4ce8","@TZ_USER_IMAGES@","Images",1337008628,0);
+'
+
+#Change permission
+chmod 664 ${TZ_USER_DB}/.media.db
+chmod 664 ${TZ_USER_DB}/.media.db-journal
+chmod 666 ${TZ_USER_IMAGES}
+
+#Change owner
+chown -R $TZ_USER_NAME:$TZ_SYS_USER_GROUP $TZ_USER_CONTENT/*
+
+#Change group (6017: db_filemanager 5000: app)
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DB}
+chgrp 6017 ${TZ_USER_DB}/.media.db
+chgrp 6017 ${TZ_USER_DB}/.media.db-journal
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DATA}/file-manager-service/
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DATA}/file-manager-service/.thumb
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DATA}/file-manager-service/.thumb/phone
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DATA}/file-manager-service/.thumb/phone/.[a-z0-9]*.*
+chgrp $TZ_SYS_USER_GROUP ${TZ_USER_DATA}/file-manager-service/.thumb/mmc
+
index f181f34..989f06d 100755 (executable)
@@ -9,7 +9,7 @@ Source1:    media-server.service
 Source1001:    %{name}.manifest
 Source1002:    libmedia-utils.manifest
 Source1003:    libmedia-utils-devel.manifest
-
+Source1004:    media-data-sdk_create_db.sh
 Requires(post): /usr/bin/vconftool
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(vconf)
@@ -22,6 +22,7 @@ BuildRequires:  pkgconfig(dbus-glib-1)
 BuildRequires:  pkgconfig(sqlite3)
 BuildRequires:  pkgconfig(db-util)
 BuildRequires:  pkgconfig(notification)
+BuildRequires:  pkgconfig(libtzplatform-config)
 
 %description
 Description: File manager service server
@@ -29,6 +30,7 @@ Description: File manager service server
 %package -n libmedia-utils
 Summary:   media server runtime library.
 Group:     Multimedia/Libraries
+Requires:  media-server = %{version}-%{release}
 
 %description -n libmedia-utils
 Description : media server runtime library.
@@ -38,6 +40,7 @@ Description : media server runtime library.
 Summary:   media server development library.
 Group:     Development/Multimedia
 Requires:  libmedia-utils = %{version}-%{release}
+Requires:  libtzplatform-config-devel
 
 %description -n libmedia-utils-devel
 Description: media server development library.
@@ -59,6 +62,20 @@ make %{?jobs:-j%jobs}
 mkdir -p %{buildroot}/usr/lib/systemd/system/multi-user.target.wants
 install -m 644 %{SOURCE1} %{buildroot}/usr/lib/systemd/system/media-server.service
 ln -s ../media-server.service %{buildroot}/usr/lib/systemd/system/multi-user.target.wants/media-server.service
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/Camera
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/Downloads
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/Images
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/Sounds/Voice\ recorder
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/Videos
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/mmc
+mkdir -p %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/phone
+install -m 0775 ./data-media/Images/* %{buildroot}%{TZ_SYS_DATA}/data-media/Images/
+install -m 0775 ./data-media/dbspace/file-manager-service/.thumb/thumb_default.png %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/
+install -D -m 0775 ./data-media/dbspace/file-manager-service/.thumb/mmc/* %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/mmc/
+install -m 0775 ./data-media/dbspace/file-manager-service/.thumb/phone/PHONE_THUMB_HERE %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/phone/
+install -m 0775 ./data-media/dbspace/file-manager-service/.thumb/phone/.jpg* %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/phone/
+install -D -m 0775 ./data-media/dbspace/file-manager-service/* %{buildroot}%{TZ_SYS_DATA}/data-media/file-manager-service/
+install -m 0775 %{SOURCE1004} %{buildroot}%{_bindir}/media-data-sdk_create_db.sh
 
 %post
 vconftool set -t int db/filemanager/dbupdate "1" -f
@@ -66,7 +83,8 @@ vconftool set -t int memory/filemanager/Mmc "0" -i -f
 vconftool set -t string db/private/mediaserver/mmc_info "" -f
 vconftool set -t int file/private/mediaserver/scan_internal "1" -f
 vconftool set -t int file/private/mediaserver/scan_directory "1" -f
-
+chgrp %TZ_SYS_USER_GROUP %{_bindir}/media-data-sdk_create_db.sh
+chgrp -R %TZ_SYS_USER_GROUP %{TZ_SYS_DATA}/data-media
 %post -n libmedia-utils -p /sbin/ldconfig
 
 %postun -n libmedia-utils -p /sbin/ldconfig
@@ -83,7 +101,9 @@ vconftool set -t int file/private/mediaserver/scan_directory "1" -f
 /usr/lib/systemd/system/media-server.service
 /usr/lib/systemd/system/multi-user.target.wants/media-server.service
 %license LICENSE.APLv2.0
-
+%{_bindir}/media-data-sdk_create_db.sh
+%{TZ_SYS_DATA}/data-media/*
+%{TZ_SYS_DATA}/data-media/file-manager-service/.thumb/*
 
 %files -n libmedia-utils
 %manifest libmedia-utils.manifest
@@ -98,4 +118,3 @@ vconftool set -t int file/private/mediaserver/scan_directory "1" -f
 %{_libdir}/libmedia-utils.so
 %{_libdir}/pkgconfig/libmedia-utils.pc
 %{_includedir}/media-utils/*.h
-
index 3da873d..f381884 100755 (executable)
@@ -24,6 +24,9 @@
 #include "media-common-types.h"
 
 void
+ms_init_default_path(void);
+
+void
 ms_make_default_path_mmc(void);
 
 int
index 526cacd..31ee9b9 100755 (executable)
@@ -37,6 +37,8 @@
 #include <stdbool.h>
 #include <unistd.h>
 
+#include <tzplatform_config.h>
+
 #define FMS_PERF
 
 #define MS_VALIND 1
@@ -49,7 +51,7 @@
 
 /*Use for Poweroff sequence*/
 #define POWEROFF_NOTI_NAME "power_off_start" /*poeroff noti from system-server*/
-#define POWEROFF_DIR_PATH "/opt/usr/media/_POWER_OFF" /*This path uses for stopping Inotify thread and Socket thread*/
+#define POWEROFF_DIR_PATH tzplatform_mkpath(TZ_USER_CONTENT,"_POWER_OFF") /*This path uses for stopping Inotify thread and Socket thread*/
 #define POWEROFF_DIR_NAME "_POWER_OFF" /*This path uses for stopping Inotify thread and Socket thread*/
 #define POWEROFF -1 /*This number uses for stopping Scannig thread*/
 
index 31358da..3f5bdf7 100755 (executable)
 #include "media-common-drm.h"
 #include "media-common-external-storage.h"
 
+#include <pwd.h>
+#include <tzplatform_config.h>
+
 #define MMC_INFO_SIZE 256
+#define PATH_IMAGES tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard/Images")
+#define PATH_VIDEOS tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard/Videos")
+#define PATH_SOUNDS tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard/Sounds")
+#define PATH_DOWNLOADS tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard/Downloads")
+#define PATH_CAMERA tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard/Camera")
 
 char default_path[][MS_FILE_NAME_LEN_MAX + 1] = {
                {"/opt/storage/sdcard/Images"},
@@ -43,15 +51,26 @@ char default_path[][MS_FILE_NAME_LEN_MAX + 1] = {
                {"/opt/storage/sdcard/Camera"}
 };
 
+
 #define DIR_NUM       ((int)(sizeof(default_path)/sizeof(default_path[0])))
 
 void
+ms_init_default_path(void){
+
+       strcpy (default_path[0], PATH_IMAGES);
+       strcpy (default_path[1], PATH_VIDEOS);
+       strcpy (default_path[2], PATH_SOUNDS);
+       strcpy (default_path[3], PATH_DOWNLOADS);
+       strcpy (default_path[4], PATH_CAMERA);
+}
+
+void
 ms_make_default_path_mmc(void)
 {
        int i = 0;
        int ret = 0;
        DIR *dp = NULL;
-
+       ms_init_default_path();
        for (i = 0; i < DIR_NUM; ++i) {
                dp = opendir(default_path[i]);
                if (dp == NULL) {
@@ -65,7 +84,7 @@ ms_make_default_path_mmc(void)
                        if (ret != 0) {
                                MS_DBG_ERR("chmod failed [%s]", strerror(errno));
                        }
-                       ret = chown(default_path[i], 5000, 5000);
+                       ret = chown(default_path[i], tzplatform_getuid(TZ_USER_NAME), tzplatform_getgid(TZ_SYS_USER_GROUP));
                        if (ret != 0) {
                                MS_DBG_ERR("chown failed [%s]", strerror(errno));
                        }
index bf84e5f..8ea97cb 100644 (file)
@@ -31,6 +31,8 @@
 #include <glib.h>
 #include "media-util.h"
 
+#include <tzplatform_config.h>
+
 GMainLoop * mainloop = NULL;
 
 void callback(media_request_result_s * result, void *user_data)
@@ -51,8 +53,8 @@ void print_help()
        printf("\n");
        printf("db-update --help for check this messages.\n");
        printf("\n");
-       printf("A file or directory must exists under /opt/usr/media or /opt/storage/sdcard.\n");
-       printf("Using /opt/storage/sdcard is allowed SD card is mounted.\n");
+       printf("A file or directory must exists under %s or %s.\n",tzplatform_mkpath(TZ_USER_CONTENT,""),tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard"));
+       printf("Using %s is allowed SD card is mounted.\n",tzplatform_mkpath(TZ_SYS_STORAGE,"sdcard"));
        printf("\n");
        printf("=======================================================================================\n");
 }
index 5669798..3cdf64b 100755 (executable)
@@ -37,7 +37,9 @@
 #include "media-scanner-dbg.h"
 #include "media-scanner-db-svc.h"
 
-#define CONFIG_PATH "/opt/usr/data/file-manager-service/plugin-config"
+#include <tzplatform_config.h>
+
+#define CONFIG_PATH tzplatform_mkpath(TZ_USER_DATA,"file-manager-service/plugin-config")
 #define EXT ".so"
 #define EXT_LEN 3
 #define MSC_REGISTER_COUNT 100 /*For bundle commit*/
index 3036661..6b0c15c 100755 (executable)
@@ -37,7 +37,9 @@
 #include "media-server-dbg.h"
 #include "media-server-db-svc.h"
 
-#define CONFIG_PATH "/opt/usr/data/file-manager-service/plugin-config"
+#include <tzplatform_config.h>
+
+#define CONFIG_PATH tzplatform_mkpath(TZ_USER_DATA,"file-manager-service/plugin-config")
 #define EXT ".so"
 #define EXT_LEN 3
 
index 7b3d087..acd0f52 100755 (executable)
 #include "media-server-socket.h"
 #include "media-server-scanner.h"
 
+#include <tzplatform_config.h>
+
 #define MS_NO_REMAIN_TASK 0
 
+#define MEDIA_SERVER_PATH tzplatform_mkpath(TZ_SYS_BIN,"media-scanner")
+
 extern GMainLoop *mainloop;
 extern GArray *owner_list;
 GMutex *scanner_mutex;
@@ -241,7 +245,7 @@ ms_scanner_start(void)
                /* child process */
                MS_DBG_ERR("CHILD PROCESS");
                MS_DBG("EXECUTE MEDIA SCANNER");
-               execl("/usr/bin/media-scanner", "media-scanner", NULL);
+               execl(MEDIA_SERVER_PATH, "media-scanner", NULL);
                g_mutex_unlock(scanner_mutex);
        }
 
@@ -264,4 +268,4 @@ void ms_reset_scanner_status(void)
 int ms_get_scanner_pid(void)
 {
        return child_pid;
-}
\ No newline at end of file
+}
index adaacf2..23bfbdf 100755 (executable)
@@ -27,6 +27,8 @@
 #include "media-server-dbg.h"
 #include "media-server-thumb.h"
 
+#include <tzplatform_config.h>
+
 #ifdef LOG_TAG
 #undef LOG_TAG
 #endif
@@ -35,6 +37,8 @@
 
 #define THUMB_SERVER_NAME "media-thumbnail"
 
+#define THUMB_SERVER_PATH tzplatform_mkpath(TZ_SYS_BIN,"media-thumbnail-server")
+
 gboolean _ms_thumb_agent_timer();
 
 static GMainLoop *g_thumb_agent_loop = NULL;
@@ -488,7 +492,7 @@ gboolean _ms_thumb_agent_execute_server()
        if (pid < 0) {
                return FALSE;
        } else if (pid == 0) {
-               execl("/usr/bin/media-thumbnail-server", "media-thumbnail-server", NULL);
+               execl(THUMB_SERVER_PATH, "media-thumbnail-server", NULL);
        } else {
                MS_DBG("Child process is %d", pid);
                g_folk_thumb_server = TRUE;