Parse value from database for lib rpk
[platform/core/appfw/pkgmgr-info.git] / src / server / pkginfo_internal.cc
index 334d354..00816e2 100644 (file)
@@ -270,10 +270,10 @@ int GetResAllowedPackages(const tizen_base::Database& db, const char* pkgid,
 }
 
 int GetResInfo(const tizen_base::Database& db, const char* pkgid,
-    char** res_type, char** res_version,
+    char** res_type, char** res_version, char** lib,
     GList** res_allowed_packages) {
   auto q = tizen_base::Database::Sql(
-      "SELECT DISTINCT res_type, res_version "
+      "SELECT DISTINCT res_type, res_version, lib "
       "FROM package_res_info WHERE package=?")
       .Bind(pkgid);
   auto r = db.Exec(q);
@@ -291,6 +291,7 @@ int GetResInfo(const tizen_base::Database& db, const char* pkgid,
 
   *res_type = GetCString(0, *rec);
   *res_version = GetCString(1, *rec);
+  *lib = GetCString(2, *rec);
 
   return PMINFO_R_OK;
 }
@@ -472,6 +473,8 @@ int DoGetPkgInfo(const tizen_base::Database& db, uid_t uid,
     ", (SELECT res_type FROM package_res_info WHERE pi.package=package)";
   static const char query_res_version[] =
     ", (SELECT res_version FROM package_res_info WHERE pi.package=package)";
+  static const char query_res_lib[] =
+    ", (SELECT lib FROM package_res_info WHERE pi.package=package)";
   static const char query_from_clause[] = " FROM package_info as pi";
   int ret = PMINFO_R_ERROR;
   char* tmp_record = nullptr;
@@ -508,6 +511,7 @@ int DoGetPkgInfo(const tizen_base::Database& db, uid_t uid,
   if (flag & PMINFO_PKGINFO_GET_RES_INFO) {
     query += query_res_type;
     query += query_res_version;
+    query += query_res_lib;
   }
 
   query += query_from_clause;
@@ -638,7 +642,7 @@ int DoGetPkgInfo(const tizen_base::Database& db, uid_t uid,
 
     if (flag & PMINFO_PKGINFO_GET_RES_INFO) {
       if (GetResInfo(db, info->package, &info->res_type,
-          &info->res_version, &info->res_allowed_packages) < 0) {
+          &info->res_version, &info->lib, &info->res_allowed_packages) < 0) {
         return PMINFO_R_ERROR;
       }
     }