From d5f6f82a6a6ea4eadd2ba7678c52e129caac3e18 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 26 May 2015 17:26:33 +0900 Subject: [PATCH] Add 'usr' prefixed datacontrol apis rename column of package_app_datacontrol: provider_id -> providerid Change-Id: Ib891d37bd075e9ffdd9dda04cac9372ccc120d5e Signed-off-by: Sangyoon Jang --- include/pkgmgr-info.h | 2 ++ parser/pkgmgr_parser_db.c | 6 +++--- src/pkgmgr-info.c | 30 +++++++++++++++++++----------- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/include/pkgmgr-info.h b/include/pkgmgr-info.h index a82ab8b..ae55823 100644 --- a/include/pkgmgr-info.h +++ b/include/pkgmgr-info.h @@ -3263,6 +3263,7 @@ int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char **s * @endcode */ int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access); +int pkgmgrinfo_appinfo_usr_get_datacontrol_info(const char *providerid, const char *type, uid_t uid, char **appid, char **access); /** * @fn int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid); @@ -3280,6 +3281,7 @@ int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char * * @endcode */ int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid); +int pkgmgrinfo_appinfo_usr_get_datacontrol_appid(const char *providerid, uid_t uid, char **appid); /** * @fn int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle, diff --git a/parser/pkgmgr_parser_db.c b/parser/pkgmgr_parser_db.c index e662e05..83383f5 100644 --- a/parser/pkgmgr_parser_db.c +++ b/parser/pkgmgr_parser_db.c @@ -248,10 +248,10 @@ sqlite3 *pkgmgr_cert_db; #define QUERY_CREATE_TABLE_PACKAGE_APP_DATA_CONTROL "create table if not exists package_app_data_control " \ "(app_id text not null, " \ - "provider_id text not null, " \ + "providerid text not null, " \ "access text not null, " \ "type text not null, " \ - "PRIMARY KEY(app_id, provider_id, access, type) " \ + "PRIMARY KEY(app_id, providerid, access, type) " \ "FOREIGN KEY(app_id) " \ "REFERENCES package_app_info(app_id) " \ "ON DELETE CASCADE)" @@ -1449,7 +1449,7 @@ static int __insert_serviceapplication_datacontrol_info(manifest_x *mfx) while(dc != NULL) { snprintf(query, MAX_QUERY_LEN, - "insert into package_app_data_control(app_id, provider_id, access, type) " \ + "insert into package_app_data_control(app_id, providerid, access, type) " \ "values('%s', '%s', '%s', '%s')",\ mfx->serviceapplication->appid, dc->providerid, diff --git a/src/pkgmgr-info.c b/src/pkgmgr-info.c index 2b8283b..50a8b26 100644 --- a/src/pkgmgr-info.c +++ b/src/pkgmgr-info.c @@ -5780,7 +5780,7 @@ API int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char return PMINFO_R_OK; } -API int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access) +API int pkgmgrinfo_appinfo_usr_get_datacontrol_info(const char *providerid, const char *type, uid_t uid, char **appid, char **access) { retvm_if(providerid == NULL, PMINFO_R_EINVAL, "Argument supplied is NULL\n"); retvm_if(type == NULL, PMINFO_R_EINVAL, "Argument supplied is NULL\n"); @@ -5789,18 +5789,17 @@ API int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const ch int ret = PMINFO_R_OK; char *query = NULL; - sqlite3 *appinfo_db = NULL; sqlite3_stmt *stmt = NULL; /*open db*/ - ret = db_util_open(MANIFEST_DB, &appinfo_db, 0); + ret = __open_manifest_db(uid); retvm_if(ret != SQLITE_OK, ret = PMINFO_R_ERROR, "connect db [%s] failed!", MANIFEST_DB); /*Start constructing query*/ query = sqlite3_mprintf("select * from package_app_data_control where providerid=%Q and type=%Q", providerid, type); /*prepare query*/ - ret = sqlite3_prepare_v2(appinfo_db, query, strlen(query), &stmt, NULL); + ret = sqlite3_prepare_v2(GET_DB(manifest_db), query, strlen(query), &stmt, NULL); tryvm_if(ret != PMINFO_R_OK, ret = PMINFO_R_ERROR, "sqlite3_prepare_v2 failed[%s]\n", query); /*step query*/ @@ -5815,29 +5814,33 @@ API int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const ch catch: sqlite3_free(query); sqlite3_finalize(stmt); - sqlite3_close(appinfo_db); + __close_manifest_db(); return ret; } -API int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid) +API int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access) +{ + return pkgmgrinfo_appinfo_usr_get_datacontrol_info(providerid, type, GLOBAL_USER, appid, access); +} + +API int pkgmgrinfo_appinfo_usr_get_datacontrol_appid(const char *providerid, uid_t uid, char **appid) { retvm_if(providerid == NULL, PMINFO_R_EINVAL, "Argument supplied is NULL\n"); retvm_if(appid == NULL, PMINFO_R_EINVAL, "Argument supplied to hold return value is NULL\n"); int ret = PMINFO_R_OK; char *query = NULL; - sqlite3 *appinfo_db = NULL; sqlite3_stmt *stmt = NULL; /*open db*/ - ret = db_util_open(MANIFEST_DB, &appinfo_db, 0); + ret = __open_manifest_db(uid); retvm_if(ret != SQLITE_OK, ret = PMINFO_R_ERROR, "connect db [%s] failed!", MANIFEST_DB); /*Start constructing query*/ query = sqlite3_mprintf("select * from package_app_data_control where providerid=%Q", providerid); /*prepare query*/ - ret = sqlite3_prepare_v2(appinfo_db, query, strlen(query), &stmt, NULL); + ret = sqlite3_prepare_v2(GET_DB(manifest_db), query, strlen(query), &stmt, NULL); tryvm_if(ret != PMINFO_R_OK, ret = PMINFO_R_ERROR, "sqlite3_prepare_v2 failed[%s]\n", query); /*step query*/ @@ -5851,10 +5854,15 @@ API int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char ** catch: sqlite3_free(query); sqlite3_finalize(stmt); - sqlite3_close(appinfo_db); + __close_manifest_db(); return ret; } +API int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid) +{ + return pkgmgrinfo_appinfo_usr_get_datacontrol_appid(providerid, GLOBAL_USER, appid); +} + API int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_permission_list_cb permission_func, void *user_data) { @@ -7948,7 +7956,7 @@ API int pkgmgrinfo_datacontrol_get_info(const char *providerid, const char * typ } snprintf(query, MAX_QUERY_LEN, - "select appinfo.package_name, datacontrol.access from appinfo, datacontrol where datacontrol.id=appinfo.unique_id and datacontrol.provider_id = '%s' and datacontrol.type='%s' COLLATE NOCASE", + "select appinfo.package_name, datacontrol.access from appinfo, datacontrol where datacontrol.id=appinfo.unique_id and datacontrol.providerid = '%s' and datacontrol.type='%s' COLLATE NOCASE", providerid, type); if (SQLITE_OK != -- 2.7.4