[Multi-user] Create database in user directory 04/22004/1 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi tizen_3.0.2014.q3_common tizen_3.0.m14.2_ivi tizen_3.0.m14.3_ivi submit/tizen_common/20140528.173953 submit/tizen_common/20140528.183233 submit/tizen_common/20140529.194900 submit/tizen_common/20140530.021300 submit/tizen_common/20140602.071652 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 submit/tizen_ivi/20140626.125712 submit/tizen_ivi/20140626.130032 submit/tizen_ivi/20140626.144348 submit/tizen_mobile/20141120.000000 submit/tizen_wearable/20150116.060702 tizen_3.0.2014.q3_common_release tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release
authorJean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
Tue, 27 May 2014 10:06:47 +0000 (12:06 +0200)
committerBaptiste DURAND <baptiste.durand@open.eurogiciel.org>
Wed, 28 May 2014 14:03:28 +0000 (16:03 +0200)
Change-Id: I74e25e90fe9a01d224b6468bf220437707d0f930
Signed-off-by: Jean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
src/appsvc_db.c

index 08fd5bd..5c66cca 100755 (executable)
@@ -42,6 +42,22 @@ static sqlite3 *svc_db = NULL;
 static sqlite3 *app_info_db = NULL;
 
 
+static char* getUserSvcDB(void)
+{
+       if(getuid())
+               return tzplatform_mkpath(TZ_USER_HOME, ".applications/dbspace/.appsvc.db");
+       else
+               return SVC_DB_PATH;
+}
+
+
+static char* getUserAppDB(void)
+{
+       if(getuid())
+               return tzplatform_mkpath(TZ_USER_HOME, ".applications/dbspace/.app_info.db");
+       else
+               return APP_INFO_DB_PATH;
+}
 
 /**
  * db initialize
@@ -55,7 +71,7 @@ static int __init(void)
                return 0;
        }
 
-       rc = sqlite3_open(SVC_DB_PATH, &svc_db);
+       rc = sqlite3_open(getUserSvcDB(), &svc_db);
        if(rc) {
                _E("Can't open database: %s", sqlite3_errmsg(svc_db));
                goto err;
@@ -150,7 +166,7 @@ static int __init_app_info_db(void)
                return 0;
        }
 
-       rc = sqlite3_open(APP_INFO_DB_PATH, &app_info_db);
+       rc = sqlite3_open(getUserAppDB(), &app_info_db);
        if(rc) {
                _E("Can't open database: %s", sqlite3_errmsg(app_info_db));
                goto err;