Refactor pkgmgr-info
[platform/core/appfw/pkgmgr-info.git] / src / server / database / cert_set_db_handler.cc
index d89d027..bd0144c 100644 (file)
@@ -25,8 +25,9 @@
 namespace pkgmgr_server {
 namespace database {
 
-CertSetDBHandler::CertSetDBHandler(uid_t uid, int pid)
-    : AbstractDBHandler(uid, pid), uid_(uid), handle_(nullptr) {}
+CertSetDBHandler::CertSetDBHandler(uid_t uid, int pid, bool is_offline)
+    : AbstractDBHandler(uid, pid), uid_(uid),
+      is_offline_(is_offline), handle_(nullptr) {}
 
 CertSetDBHandler::~CertSetDBHandler() {}
 
@@ -35,7 +36,7 @@ void CertSetDBHandler::SetCertHandle(pkgmgr_certinfo_x* cert_info) {
 }
 
 int CertSetDBHandler::Execute() {
-  std::unique_lock<std::shared_timed_mutex> u(lock_);
+  std::unique_lock<std::shared_mutex> u(lock_);
 
   SetOpType(pkgmgr_common::DBOperationType::OPERATION_TYPE_WRITE);
   SetDBType(pkgmgr_common::DBType::DB_TYPE_FILE_CERTDB);
@@ -43,10 +44,11 @@ int CertSetDBHandler::Execute() {
   if (!Connect())
     return PMINFO_R_ERROR;
 
-  DBHandleProvider::GetInst(uid_).SetMemoryMode(GetPID());
-  sqlite3* conn = GetConnection().front().first;
+  if (!is_offline_)
+    DBHandleProvider::GetInst(uid_).SetMemoryMode(GetPID());
+  const auto& db = GetConnection().front().first;
 
-  return certinfo_internal_set(conn, handle_->pkgid, handle_, uid_);
+  return internal::CertInfoSet(db, handle_->pkgid, handle_, uid_);
 }
 
 }  // namespace database