Refactor pkgmgr-info
[platform/core/appfw/pkgmgr-info.git] / src / server / database / create_db_handler.cc
index a123fb3..7ef265e 100644 (file)
@@ -19,6 +19,7 @@
 #include <vector>
 
 #include "db_handle_provider.hh"
+#include "utils/logging.hh"
 
 #include "pkgmgrinfo_debug.h"
 #include "pkgmgrinfo_internal.h"
@@ -43,18 +44,16 @@ std::vector<std::vector<std::string>> CreateDBHandler::GetResult() {
 }
 
 int CreateDBHandler::Execute() {
-  std::unique_lock<std::shared_timed_mutex> u(lock_);
+  std::unique_lock<std::shared_mutex> u(lock_);
 
   if (CreateParserDB() < 0) {
-    LOGE("Failed to create parser db for uid [%d]", GetUID());
+    LOG(ERROR) << "Failed to create parser db for uid : " << GetUID();
     return PMINFO_R_ERROR;
   }
 
-  if (GetUID() == GLOBAL_USER || GetUID() == OWNER_ROOT) {
-    if (CreateCertDB() < 0) {
-      LOGE("Failed to create cert db for uid [%d]", GetUID());
-      return PMINFO_R_ERROR;
-    }
+  if (CreateCertDB() < 0) {
+    LOG(ERROR) << "Failed to create cert db";
+    return PMINFO_R_ERROR;
   }
 
   return PMINFO_R_OK;
@@ -67,25 +66,22 @@ int CreateDBHandler::CreateParserDB() {
   if (!Connect())
     return PMINFO_R_ERROR;
 
-  std::vector<std::pair<sqlite3*, uid_t>> conn_list = GetConnection();
-  sqlite3* conn = conn_list.front().first;
-  uid_t uid = conn_list.front().second;
-
-  return pkgmgr_parser_internal_initialize_db(conn, uid);
+  const auto& [db, uid] = GetConnection().front();
+  return internal::InitializeDb(db, uid);
 }
 
 int CreateDBHandler::CreateCertDB() {
+  if (GetUID() != GLOBAL_USER && GetUID() != OWNER_ROOT)
+    return PMINFO_R_OK;
+
   SetDBType(pkgmgr_common::DBType::DB_TYPE_FILE_CERTDB);
   ClearDBHandle();
 
   if (!Connect())
     return PMINFO_R_ERROR;
 
-  std::vector<std::pair<sqlite3*, uid_t>> conn_list = GetConnection();
-  sqlite3* conn = conn_list.front().first;
-  uid_t uid = conn_list.front().second;
-
-  return pkgmgr_parser_internal_initialize_db(conn, uid);
+  const auto& [db, uid] = GetConnection().front();
+  return internal::InitializeDb(db, uid);
 }
 
 }  // namespace database