Fix update database 25/31525/3 accepted/tizen/common/20141215.134326 accepted/tizen/ivi/20141222.112703 submit/tizen_common/20141212.110400 submit/tizen_ivi/20141222.333333
authorJean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
Wed, 26 Nov 2014 10:33:58 +0000 (11:33 +0100)
committerJean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
Thu, 11 Dec 2014 10:01:45 +0000 (11:01 +0100)
Automatic startup scan home directory

Bug-Tizen: TC-1713

Change-Id: Ic51135f7b3ec9aa5d88cfb53ac0b02c13c3183df
Signed-off-by: Jean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
lib/media-util-db.c
packaging/media-server-user.service
packaging/media-server.spec
src/mediadb-update.c

index 509e442..3a6d105 100755 (executable)
@@ -298,6 +298,7 @@ static int __media_db_connect_db_with_handle(sqlite3 **db_handle,uid_t uid)
                        }
                } else {
                        MSAPI_DBG_ERR("Failed to create table %s\n",__media_get_media_DB(uid));
+                       return MS_MEDIA_ERR_DB_CONNECT_FAIL;
                }
        }
 
index 2551f02..d94903e 100644 (file)
@@ -4,8 +4,9 @@ Description=Media server user
 [Service]
 Type=idle
 CPUAccounting=true
-CPUQuota=10
-ExecStart=/usr/bin/mediadb-update -r %h
+CPUQuota=10%
+ExecStartPre=/usr/bin/sleep 5
+ExecStart=/usr/bin/sh -c "/usr/bin/mediadb-update -r `/usr/bin/tzplatform-get TZ_USER_CONTENT | /usr/bin/sed -e 's/^.*=//g'`"
 
 [Install]
 WantedBy=default.target
index 08389f3..a18d879 100755 (executable)
@@ -91,7 +91,7 @@ chgrp -R %TZ_SYS_USER_GROUP %{TZ_SYS_DATA}/data-media
 chgrp -R %TZ_SYS_USER_GROUP %{TZ_SYS_DATA}/file-manager-service
 
 # setup dbupdate in user session
-mkdir -p %{_unitdir_user}/default.target.requires/
+mkdir -p %{_unitdir_user}/default.target.wants/
 ln -sf ../media-server-user.service  %{_unitdir_user}/default.target.wants/
 
 %post -n libmedia-utils -p /sbin/ldconfig
index 8968840..10211d4 100644 (file)
 #include <tzplatform_config.h>
 
 GMainLoop * mainloop = NULL;
+static MediaDBHandle *db_handle = NULL;
 
 void callback(media_request_result_s * result, void *user_data)
 {
        printf("db updating done\n");
-
+       
+       media_db_disconnect(db_handle);
        g_main_loop_quit(mainloop);
 }
 
@@ -61,11 +63,23 @@ void print_help()
 
 int dir_scan_non_recursive(char *path)
 {
+       int ret = MS_MEDIA_ERR_NONE;
+       ret = media_db_connect(&db_handle,tzplatform_getuid(TZ_USER_NAME));
+       if(ret != MS_MEDIA_ERR_NONE){
+               printf("Error connect DB failed\n");
+               return MS_MEDIA_ERR_DB_CONNECT_FAIL;
+       }
        return media_directory_scanning_async(path, FALSE, callback, NULL, tzplatform_getuid(TZ_USER_NAME));
 }
 
 int dir_scan_recursive(char *path)
 {
+       int ret = MS_MEDIA_ERR_NONE;
+       ret = media_db_connect(&db_handle,tzplatform_getuid(TZ_USER_NAME));
+       if(ret != MS_MEDIA_ERR_NONE){
+               printf("Error connect DB failed\n");
+               return MS_MEDIA_ERR_DB_CONNECT_FAIL;
+       }
        return media_directory_scanning_async(path, TRUE, callback, NULL, tzplatform_getuid(TZ_USER_NAME));
 }